begin process at 2010 02 10 07:01:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

problème de if et else


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème de if et else

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ée 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

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales