Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5289 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]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
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-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)