Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1571 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [ C ] Problème dans mon programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ C ] Problème dans mon programme

n°891972
arnaudm57
Posté le 06-11-2004 à 18:24:15  profilanswer
 

Salut à tous,  
 
Cela fait maintenant quelques heures que je cherche le problème dans une fonction de mon programme :  
 
 
 
int lire_polynome(monome polynome[])
{
  int i=0;
  char choix,reponse;
 
  printf("Veuillez entrer vos monômes non nuls par degré croissant.\n" );
 
do
 
  {
   do
     {
 
      printf("\nQuel est le coefficient du monome ? " );
      scanf("%d", &polynome[i].coefficient);
 
      while(polynome[i].coefficient==0)
      {
        printf("Vous avez entrer un polynôme de coefficient nul.\n" );
        printf("Veuillez entrer un coefficient non nul : " );
        scanf("%d",&polynome[i].coefficient);
      }
 
      printf("Quel est l'exposant qui lui est associé? : " );
      scanf("%d", &polynome[i].exposant);
 
      while((i>0)&&(polynome[i].exposant <= polynome[i-1].exposant))
      {
       printf("\Désolé. Ce polynôme a un exposant plus petit ou égal au précédent.\n" );
       printf("Veuillez entrer un exposant plus grand que le précédant: " );
       scanf("%d",&polynome[i].exposant);
      }
 
      printf("\nVous avez entrez : %dX^%d, est-ce bien correct ? ",polynome[i].coefficient,polynome[i].exposant);
      scanf("%s",&reponse);
 
     }
    while(reponse != 'o');
 
    i=i+1;
    printf("Voulez vous entrer un autre monôme? (o/n) : " );
    scanf("%s", &choix);
 
 
  }  
 
while (choix != 'n');
 
return i;
}
 
 
 
 
Le problème dans cette fonction est que le "i" ne s'incrémente pas.  
Si quelqu'un pouvait m'aider en me disant quel pourrait etre le problème ...  
 
Je vous remercie d'avance  
@+

mood
Publicité
Posté le 06-11-2004 à 18:24:15  profilanswer
 

n°891982
WhatDe
Posté le 06-11-2004 à 18:35:23  profilanswer
 

Met ton code dans des balises code.

n°892010
matafan
Posté le 06-11-2004 à 18:58:01  profilanswer
 

Puis faudrait le déclaration/définition de polynome.

n°892020
masklinn
í dag viðrar vel til loftárása
Posté le 06-11-2004 à 19:10:12  profilanswer
 

de monome, polynome est un tableau de monomes [:aloy]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°892195
matafan
Posté le 06-11-2004 à 22:43:41  profilanswer
 

Définition/déclaration sont à prendre au sens « C » du terme :sarcastic:

n°892198
Taz
bisounours-codeur
Posté le 06-11-2004 à 22:49:12  profilanswer
 

scanf("%s", &choix);  
 
 
hum, c'est bon de rentrer à la maison :)
 

Citation :

Le problème dans cette fonction est que le "i" ne s'incrémente pas.  

brûle un cierge, à moins que tu ne découvres un moyen plus simple...

n°892343
arnaudm57
Posté le 07-11-2004 à 02:35:05  profilanswer
 

Code :
  1. #define d 100
  2. #include <stdio.h>
  3. #include <conio.h>
  4. typedef struct { int coefficient;
  5.                  int exposant;
  6.                } monome;
  7. void main()
  8. {
  9.   monome polynome[d+1];
  10.   monome k_derive[d+1];
  11.   int degre_derive,nbmonome;
  12.   int lire_polynome (monome[]);
  13.   void affiche_polynome (monome[],int);
  14.   void derive_polynome(monome[],monome[],int,int);
  15.   nbmonome=lire_polynome(polynome);
  16.   affiche_polynome(polynome,nbmonome);
  17.   printf("\nQuelle d%criv%ce voulez vous calculer ? ", 130, 130);
  18.   scanf("%d", &degre_derive);
  19.   derive_polynome(polynome,k_derive,nbmonome,degre_derive);
  20.   getch();
  21. }
  22. int lire_polynome(monome polynome[])
  23. {
  24.   int nbmonome=0;
  25.   char choix,reponse;
  26.   printf("Veuillez entrer vos mon%cmes non nuls par degr%c croissant.\n", 147, 130);
  27. do
  28.   {
  29.    do
  30.      {
  31.         printf("\nQuel est le coefficient du mon%cme ? ", 147);
  32.         scanf("%d", &polynome[nbmonome].coefficient);
  33.         while(polynome[nbmonome].coefficient==0)
  34.           {
  35.             printf("Vous avez entr%c un polyn%cme de coefficient nul.\n", 130, 147);
  36.             printf("Veuillez entrer un coefficient non nul : " );
  37.             scanf("%d",&polynome[nbmonome].coefficient);
  38.           }
  39.         printf("Quel est l'exposant qui lui est associ%c? : ", 130);
  40.         scanf("%d", &polynome[nbmonome].exposant);
  41.         while((nbmonome>0)&&(polynome[nbmonome].exposant <= polynome[nbmonome-1].exposant))
  42.           {
  43.             printf("\Désol%c. Ce polynôme a un exposant plus petit ou %cgal au précédent.\n", 130, 130);
  44.             printf("Veuillez entrer un exposant plus grand que le pr%cc%cdent: ", 130, 130);
  45.             scanf("%d",&polynome[nbmonome].exposant);
  46.           }
  47.         printf("\nVous avez entrez : %dX^%d, est-ce bien correct ? ", polynome[nbmonome].coefficient, polynome[nbmonome].exposant);
  48.         scanf("%s", &reponse);
  49.      }
  50.     while(reponse != 'o');
  51.     printf("Voulez vous entrer un autre mon%cme? (o/n) : ", 147);
  52.     scanf("%s", &choix);
  53.     nbmonome=nbmonome+1;
  54.   }
  55. while (choix != 'n');
  56. return nbmonome;
  57. }
  58. void affiche_polynome (monome polynome[],int nbmonome)
  59. {
  60.   int i;
  61.     for(i=0;i<nbmonome;i++)
  62.     {
  63.       if ( polynome[i].coefficient >0 && polynome[i].exposant !=0 )
  64.        printf("+%dX^%d",polynome[i].coefficient,polynome[i].exposant);
  65.        else
  66.        {
  67.         if ( polynome[i].coefficient < 0 && polynome[i].exposant !=0 )
  68.         printf("%dX^%d",polynome[i].coefficient,polynome[i].exposant);
  69.         else
  70.         {
  71.           if (polynome[i].exposant == 0)
  72.           printf("%d",polynome[i].coefficient);
  73.         }
  74.       }
  75.     }
  76. }
  77. void derive_polynome ( monome polynome[], monome k_derive[], int nbmonome, int degre_derive)
  78. {
  79.   int i;
  80.   monome derive_monome(monome,monome,int);
  81.   for(i=0;i<nbmonome+1;i++)
  82.   {
  83.     k_derive[i]=derive_monome(polynome[i],k_derive[i],degre_derive);
  84.   }
  85.   for(i=0;i<nbmonome+1;i++)
  86.   {
  87.     if ( k_derive[i].coefficient >0 && k_derive[i].coefficient !=0 )
  88.     printf("+%dX^%d",k_derive[i].coefficient,k_derive[i].exposant);
  89.     else
  90.     {
  91.      if ( k_derive[i].coefficient < 0 && k_derive[i].coefficient !=0 )
  92.      printf("%dX^%d",k_derive[i].coefficient,k_derive[i].exposant);
  93.      else
  94.         {
  95.           if (k_derive[i].exposant == 0 && k_derive[i].coefficient !=0)
  96.           printf("%d",polynome[i].coefficient);
  97.         }
  98.     }
  99.   }
  100. }
  101. monome derive_monome (monome polynome, monome k_derive, int degre_derive)
  102. {
  103.   int j;
  104.   k_derive.coefficient=polynome.coefficient;
  105.   k_derive.exposant=polynome.exposant;
  106.     if ( degre_derive>polynome.exposant )
  107.     {
  108.       k_derive.coefficient=0;
  109.       k_derive.exposant=0;
  110.     }
  111.     else
  112.     {
  113.       for(j=0;j<degre_derive;j++)
  114.       {
  115.         k_derive.coefficient = k_derive.coefficient*k_derive.exposant;
  116.         k_derive.exposant = (k_derive.exposant)-1;
  117.       }
  118.     }
  119.   return k_derive;
  120. }


 
 
Voici l'ensemble du code comme ca il n'y aura plus d'ambiguité
Le problème se situe dans la fonction qui est située un peu plus haut au niveau de l'incrémentation.

n°892395
Taz
bisounours-codeur
Posté le 07-11-2004 à 11:10:48  profilanswer
 

t'as pas de touche é sur ton clavier :o


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [ C ] Problème dans mon programme

 

Sujets relatifs
Problème Apacheproblème d'accent dans un fichier xml
Probleme XP Task groupingprobleme de redirection [resolu]
[phpbb] Probleme lors des loginsProblème entre ComboBox et Chr(10)
j'ai un problème MANIFESTement (*.jar)Problème de validation XHTML 1.1 avec un tableau
Petit problème sous c++Probleme d'installation Visual Studio 6 sous Windows XP SP2
Plus de sujets relatifs à : [ C ] Problème dans mon programme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR