Aidez moi a trouver mes erreurs

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:
#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.@++++++++++

3 réponses

kilian Messages postés 8854 Statut Modérateur 1 526
 
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
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;
}
0
eva
 
salut kilian,
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
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
Tu veux que je fasse tes exercices ? :-)

Nan, il va falloir que tu y mettes un peu du tiens.
1
eva
 
non je voulais pas que vous me fassez mes exercice mais je vous ai expliquer mon but, pour que vous me conseillez si mon idée est un peut juste ou non.
merci @++++++++++
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
Ben à vrai dire je suis pas terrible en math donc j'ai un peu de mal à capter ça...
0
eva > kilian Messages postés 8854 Statut Modérateur
 
merci comme méme de votre aide.
@+++++++++
0
eva
 
salut lamqari,
j'ai pas compris ce vous voulez dire.
vos avez compris mon idées?
merci
0
eva
 
puvez vous m'aider?
0