Aidez moi a trouver mes erreurs
eva
-
eva -
eva -
salut, svp si quelqu'un peut m'aider a trouver mes errreurs
mon but c'est d'afficher un polynome a deux variables x,y en utilisant les structures.
voici le grogramme que j'ai fait:
merci d'avance.@++++++++++
mon but c'est d'afficher un polynome a deux variables x,y en utilisant les structures.
voici le grogramme que j'ai fait:
#include<stdio.h>
main()
{
int i,a,b,c,n;
int polyome[10];
printf("donnez le nombre des elements");
scanf("%d",&n);
struct element
{
int coef;
int puisx;
int puisy;
};
struct polynome[i]
{
for (i=0;i<n;i++)
{
printf("donnez le coefficient\n");
scanf("%d",&a);
element polynone[i].coef=a
printf("donnez la puissanse de x\n");
scanf("%d",&b);
element polynone[i].puisx=b
printf("donnez la puissance de y \n");
scanf("%d",&c);
element polynone[i].puisy=c
};
for(i=0,i<n;i++)
{
printf("%d",&polynome[i]);
}
merci d'avance.@++++++++++
A voir également:
- Aidez moi a trouver mes erreurs
- Trouver adresse mac - Guide
- Ou trouver l'adresse ip - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Ou trouver la corbeille - Guide
- Trouver mon adresse exacte - Guide
3 réponses
Ya pas mal de soucis de syntaxe.
D'abord, tu ne peux pas définir un tableau de stuctures statique avce un nombre variable d'entrée dedans.
Par exemple
est interdit!!
D'abord, il faut préciser le type de la structure (element) et lui donner un nombre d'index constant. Si le nombre de ces index doit être dynamique alors tu dois utiliser des fonctions comme malloc et free pour allouer de la memoire dynamiquement, et donc utiliser un pointeur vers une structure element pour contenir un tableau de structures element.
Ensuite il ya quelques problèmes au niveau de la déclaration de la structure polynome, ta logique est comprehensible mais ne peut pas fonctionner: tu déclares d'abord polynome comme un tableau et ensuite tu le redéclares comme structure (mais cette combinaison ne fera pas un tableau de structures) que tu essaies de remplir dans une boucle (à l'intérieur même de la déclaration de ta structure)...
Mais les structures obéissent à des règles strictes:
https://www.commentcamarche.net/contents/119-les-structures-en-langage-c
Voici une proposition de solution. Désolé si tu n'a pas encore vu les pointeurs et l'allocation de structures ou tableau dynamiques, ça rend la syntaxe un peu lourde (et surtout incompréhensible si tu n'as pas encore vu ces concepts).
Mais si tu demandes le nombre d'éléments, tu n'as pas le choix.
Sinon, il faut en imposer un nombre maximum.
D'abord, tu ne peux pas définir un tableau de stuctures statique avce un nombre variable d'entrée dedans.
Par exemple
struct polynome[i]
est interdit!!
D'abord, il faut préciser le type de la structure (element) et lui donner un nombre d'index constant. Si le nombre de ces index doit être dynamique alors tu dois utiliser des fonctions comme malloc et free pour allouer de la memoire dynamiquement, et donc utiliser un pointeur vers une structure element pour contenir un tableau de structures element.
Ensuite il ya quelques problèmes au niveau de la déclaration de la structure polynome, ta logique est comprehensible mais ne peut pas fonctionner: tu déclares d'abord polynome comme un tableau et ensuite tu le redéclares comme structure (mais cette combinaison ne fera pas un tableau de structures) que tu essaies de remplir dans une boucle (à l'intérieur même de la déclaration de ta structure)...
Mais les structures obéissent à des règles strictes:
https://www.commentcamarche.net/contents/119-les-structures-en-langage-c
Voici une proposition de solution. Désolé si tu n'a pas encore vu les pointeurs et l'allocation de structures ou tableau dynamiques, ça rend la syntaxe un peu lourde (et surtout incompréhensible si tu n'as pas encore vu ces concepts).
Mais si tu demandes le nombre d'éléments, tu n'as pas le choix.
Sinon, il faut en imposer un nombre maximum.
#include <stdio.h>
//Pour malloc() et free()
#include <stdlib.h>
/* Il vaut mieux définir une structure dans le début d'un programme, et pas dans une fonction */
struct element
{
int coef;
int puisx;
int puisy;
};
int main(int argc, char **argv)
{
int i,n;
printf("donnez le nombre des elements");
scanf("%d",&n);
//On déclare polynome: un pointeur vers un tableau de structures element.
struct element *polynomes;
/* On alloue la place pour n structures element, la variable polynome pointera vers cet espace qui sera un tableau de n strutures element*/
polynomes=(struct element *) malloc(sizeof(struct element) * n);
/* Ici, par exemple pour &polynomes[i].coef, on prend l'adresse de coef dans la i ème structure element contenue dans le tableau polynomes */
for (i=0;i<n;i++)
{
printf("donnez le coefficient\n");
scanf("%d", &polynomes[i].coef);
printf("donnez la puissanse de x\n");
scanf("%d",&polynomes[i].puisx);
printf("donnez la puissance de y \n");
scanf("%d",&polynomes[i].puisy);
}
/* Affichage juste pour montrer que les valeurs ont bien été prises, à toi de voir comment afficher ton polynome */
for (i=0;i<n;i++)
{
printf("%d %d %d\n",polynomes[i].coef, polynomes[i].puisx, polynomes[i].puisy);
}
/* Libération de l'espace pointé par polynomes */
free(polynomes);
return 0;
}
mon but c'est que apres l'affichage du plynome je doit construire une matrice, le nombre de ligne cette matrice c'est la plus grande puissanse de x et le nombre de colonne c'est la plus grande puissanse de y; apres je remplie cette matrice avec les coefficients respectivement du monome x et y.
voila un exmple, j'espére que vous pouvez m'aider
x^3 + 2x^2y^2 -4xy^3 + 3y
la matrice de cet polynome
0 3 0 0
0 0 7 -4
0 0 2 0
1 0 0 0
merci d'avance
Nan, il va falloir que tu y mettes un peu du tiens.
merci @++++++++++
@+++++++++