Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : problème de if et else [ Algorithme / Maths ] (ffnajia)

mardi 26 septembre 2006 à 13:28:48 | problème de if et else

ffnajia

Membre Club


bonjour je comprend pas pourquoi le programme ci-dessous ne prend pas en compte l'éxistence de if et else!!!???
#include<iostream>
#include<cmath>

using namespace std;

int main(){
   
    int a;int d;
    cin>>a;
   
  
    if (a>3) {printf("%d",a);
    }
    else {printf("3");
    }
    return 0;
    cin>>d;
    getchar();
}

Merci à tous
Najia


mardi 26 septembre 2006 à 13:58:48 | Re : problème de if et else

DeAtHCrAsH

Comment ca ? Soit plus précis et prend l'habitude de bien indenter ton code aussi.

Shell

mardi 26 septembre 2006 à 14:01:28 | Re : problème de if et else

DeAtHCrAsH

#include<iostream>

using namespace std;

int main(){
    int a;
    int d;

    cout  << "Veuillez saisir la valeur de a : ";
    cin >> a;

    if (a>3) {
        printf("%d",a);
    }else{
        printf("3");
    }
   
    systel("pause");

    return 0;
}

Shell

mardi 26 septembre 2006 à 14:02:39 | Re : problème de if et else

DeAtHCrAsH

Oupss je viens de me relire et j'ai fait une faute de frappe.
Remplace le systel("pause"); par system("pause");

Au passage tout ce qui se trouve après le return 0 ne sera pas executé.

Shell

mardi 26 septembre 2006 à 14:05:12 | Re : problème de if et else

DeAtHCrAsH

Arf je suis vraiment pas réveillé!!!
Evite ce mélange C / C++ avec les cout et printf.

Voila a quoi ton code devrait ressembler une fois corrigé :

#include<iostream>

using namespace std;

int main()
{
    int a;

    cout  << "Veuillez saisir la valeur de a : ";
    cin >> a;

    if (a>3) {
        cout << "Voici la valeur de a : " << a << endl;
    }else{
        cout << "a vaut 3" << endl;
    }
   
    system("pause");

    return 0;
}

Shell

mardi 26 septembre 2006 à 14:47:37 | Re : problème de if et else

ffnajia

Membre Club

merci beaucoup shell

ca marche maintenant.

par contre j'ai un autre code ou je sais pas pourquoi il prend pas en compte de else, pour la ligne 70.

merci de m'aider ou de coriger ma fote

bizou
#include<iostream>
#include<cmath>

using namespace std;

//***************déclaration des fonctions***********************************

double puis(double x, double y){
       double z;
       z=exp(y*log(x));
       return  z;
       }

double fonct(double x, int i){
       double y;
       if(i==0) y=3*puis(x,0.3);
       if(i==1) y=1;
       if(i>1) y=0;
       return y;
       }
double uti(double x, int i){
       double y;
       if(i==0) y=log(x);
       if(i==1) y=1./(x+.001);
       return y;
       }
double grad(double delta, double x, double z, int n, int j, double h){
       double y;
       y=-(h*exp((n-delta)*j*h))*x-z*h;
       return y;
       }
//******************************************************************************
int main(){
   
 double delta,h,lambda,capifinal,utilite,ro,epsi,capi0,cd,cg,consom,cap,cap1,capp;
    int nb,n,m,ok,iter,compter,number,Maxiter,Maxcompter,ctrl,aa;
//***********************déclaration des données*******************************      
    FILE* Ecriture = fopen("donnees_E","w");
    fprintf(Ecriture,"%lf %lf %lf %lf %lf %lf %d %d %d %d",100000.,.8,1.,0.,0.01,0.01,100,8,1000,500);
 fclose(Ecriture);
  
    FILE* Lecture = fopen("donnees_E","r");
    fscanf(Lecture,"%lf %lf %lf %lf %lf %lf %d %d %d %d",&capi0,&delta,&lambda,&capifinal,&ro,&epsi,&nb,&n,&Maxiter,&Maxcompter);
    fclose(Lecture);
 //***************************************************************************** 
    double* capi = new double [nb];
    double* mu = new double [nb];
    double** conso = new double* [Maxiter+1];
    cg=0;cd=capi0;
    capi[0]=capi0;
    capp=0;
ctrl=0;
 for(int i=0;i<Maxiter+1;i++) conso[i]=new double [nb];
 compter=0;
    cap1=capi[0];
    h=1./(nb);
 //***********************Dichotomie pour trouver la consommation initiale******  
  while(compter<Maxcompter  and cap1-capifinal>epsi){
         consom=(cg+cd)/2.;cap=capi[0];               
         for(int i=0;i<nb-1;i++){capi[i+1]=capi[i]+h*(fonct(capi[i],0)-n*capi[i]-consom);
        
      
       if(capi[i+1]<=capifinal){ctrl=1;break;}
       }
    //   for(int i=0;i<nb-1;i++)printf("%d,%lf\n",i,capi[i]);
//       printf(" %lf %lf %lf\n",capi[3],capi[20],capi[99]);

        
       if(ctrl=1){cd=consom;cap1=capi[0];}
   else { cg=consom;ctrl=0;cap1=capi[nb-1];}
  
       
        printf(" %lf %lf\n",cd,cg);
               cin>>aa;
        
         compter++;
         }
 //******************************************************************************
 //********************Déscente de gradient**************************************       
  for(int i=0;i<nb;i++)conso[0][i]=cg;
         FILE* fich = fopen("utilite_E","w");
         iter=0;
       
  while(iter<Maxiter){
           for(int i=0;i<nb-1;i++) capi[i+1]=capi[i]+h*( fonct(capi[i],0)-n*capi[i]-conso[iter][i]);
           // printf("%d\n",iter);
           // printf("%lf\n",conso[iter][1]);
            // printf("%d\n",iter);
           
           if(capi[nb-1]>capifinal){
                 utilite=0.;
                 mu[nb-2]=2.*lambda*(capi[nb-1]-capifinal);
                 for(int i=2;i<nb-2;i++) mu[nb-(i+1)]=mu[nb-i]*(1+h*0.9*puis(capi[i],-0.7)-h*n);
                
                 for(int i=0;i<nb;i++) utilite+=h*exp((n-delta)*i*h)*uti(conso[iter][i],0);
             //   for(int i=0;i<nb;i++) printf("%d %lf %lf\n",i,capi[i],conso[iter][i]);
                 fprintf(fich,"\n%lf",utilite);
                 for(int i=0;i<nb;i++) conso[iter+1][i]=conso[iter][i]-ro*grad(delta,uti(conso[iter][i],1),mu[i],n,i,h);
              }
           else break;
             
   iter++;
   }
       fclose(fich);
   printf("i  Capital   Conso  ");   
   printf("\n<< %d iterations de Dichotomie & %d iterations de Descente de Gradient >>\n\n",compter,iter);
   
 //********************************************************************************    
       FILE* fich2 = fopen("consommation_E","w");
   for(int j=0;j<nb;j++){
          for(int i=0;i<Maxiter;i++)fprintf(fich2,"%lf ",conso[i][j]);
          fprintf(fich2,"\n");
   }
    fclose(fich2);
       FILE* fich3 = fopen("capital_E","w");
    for(int j=0;j<nb;j++) fprintf(fich3,"%lf\n",capi[j]);
       fclose(fich3);
 //*********************Sorties graphiques******************************************
 FILE* capsci = fopen("capital_E.sci","w");
        fprintf(capsci,"x=read('capital_E',%d, 1);\n",nb);
        fprintf(capsci,"xtitle(\"lambda=%lf ",lambda);
        fprintf(capsci,"delta=%lf  ",delta);
        fprintf(capsci,"n=%d  ",n);
        fprintf(capsci,"capifinal=%lf  ",capifinal);
        fprintf(capsci,"ro=%lf  ",ro);
        fprintf(capsci,"capi[0]=%lf \",'t','€');\n" ,capi[0]);
        fprintf(capsci,"v=[1:%d];\n",nb);
        fprintf(capsci,"plot2d(v,x,[2,%d+1]);\n",nb);
        fprintf(capsci,"legends(['CAPITAL'],2,5);\n");//Pour ajouter le titre
    fclose(capsci);

 FILE* utilisci = fopen("utilite_E.sci","w");
    fprintf(utilisci,"x=read('utilite_E',%d,1);\n",iter);
    fprintf(utilisci,"xbasc();\n");
       fprintf(utilisci,"xtitle(\"lambda=%lf ",lambda);
       fprintf(utilisci,"delta=%lf  ",delta);
       fprintf(utilisci,"n=%d  ",n);
       fprintf(utilisci,"capifinal=%lf  ",capifinal);
       fprintf(utilisci,"ro=%lf  ",ro);
       fprintf(utilisci,"capi[0]=%lf \",'t','€');\n" ,capi[0]);
       fprintf(utilisci,"v=[1:%d];\n",iter);
       fprintf(utilisci,"plot2d(v,x,3);\n");
       fprintf(utilisci,"legends(['BIEN ÊTRE ECONOMIQUE'],3,5);\n");
    fclose(utilisci);
 
 FILE*consosci  = fopen("consommation_E.sci","w");
      fprintf(consosci,"x=read('consommation_E',%d,%d);\n",nb,iter);
    fprintf(consosci,"xbasc();\n");
       fprintf(consosci,"xtitle(\"lambda=%lf ",lambda);
       fprintf(consosci,"delta=%lf",delta);
       fprintf(consosci,"n=%d  ",n);
       fprintf(consosci,"capifinal=%lf  ",capifinal);
       fprintf(consosci,"ro=%lf  ",ro);
       fprintf(consosci,"capi[0]=%lf \",'t','€');\n" ,capi[0]);
       fprintf(consosci,"for i=1:%d\n",iter);
       fprintf(consosci,"y=x(:,i);\n");
       fprintf(consosci,"v=[1:%d];\n",nb);
       fprintf(consosci,"plot2d(v,y,i);\n");
    fprintf(consosci,"end\n");
    fprintf(consosci,"xset('color',2);plot2d(v,y,[-3:97]);\n");
    fprintf(consosci,"legends(['CONSOMMATION OPTIMALE'],-3,5);\n");
 fclose(consosci);
//********************************************************************************* 
    getchar();
 
    return 0;
}

Merci à tous
Najia


mardi 26 septembre 2006 à 19:04:04 | Re : problème de if et else

SAKingdom

Membre Club
if(ctrl == 1)

= assigner une valeur à une variable
== comparaison de variable ou valeur

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution


mercredi 27 septembre 2006 à 09:50:24 | Re : problème de if et else

ffnajia

Membre Club

Bonjour;
j'ai mis if(ctrl==1), mais je pense le else d'aprés cette ligne n'est pas pris en compte.
parceque une fois que la troisième valeur affiché est différente de 0, cg ne sera plus 0 et cd reste égale à la valeur d'avant.
j'éspere que t'a compris.

Merci 
Najia




Cette discussion est classé dans : problème, int, printf, include, cin


Répondre à ce message

Sujets en rapport avec ce message

Probleme reception sur un serveur windows en vc++ [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi, toute mes socket sont positives le client envois Problème d'entrée (cin >>) dans un tableau de float [ par Oeil_de_taupe ] Hello tout le monde,désolé de vous importuné. Mais j'ai fait une toute petite source pour apprendre à allouer de la mémoire pour une variable puis de Problème pour compiler du c [ par flox39 ] Salut à tous Je suis en galère avec du code qu'on m'a passé je n'arrive pas a le compilerl'erreur c error C2447: missing function header (old-style fo problème de OutPut [ par NAVIE ] Bonjour, J'écris ce message pour demander de l'aide au sujet des gestions des Input et des Output. En effet, dans un programme que j'ai fabriqué, je m Aidez-moi à résoudre ce problème !!! (Débutant) [ par tony4758 ] Bonjour je suis un débutant en c et je voudrais savoir pourquoi à chaques fois que j'écris un mini programme du genre ://----------------------------# Separer une chaine en sous chaine [ par firemax ] Bonjour Je me posais une question , j'aimerais diviser une chaine en sous chaine pour pouvoir ensuite les trier par longueur de chaine de caractere oh non!! [ par bako25 ] Le prog suivant  calcule le nombre des 'e' dans un paragraphe: #include #include< Problème avec GetTickCount() [ par nisaloncaje ] Bonjour, je voudrais faire une sorte de chronomètres pour mon programme, cependant j'ai un petit problème : je veux que le temps s'affiche sous la for Passage d'argument pour printf [ par Quazar ] BonjourJe cherche à créer une fonction qui aura le même effet que printf, c'est à dire que je passerais à cette fonction une liste de paramètre du mêm affichage bizarre [ par darkwhite ] Salut a tousJe commence par faire une lotterie simple mais j'ai un probleme au niveau de l'affichage d'un tableau, mon code est le suivant#include #in


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.