aide polynomes [C] - C - Programmation
Marsh Posté le 18-01-2009 à 17:53:39
jsute que ton code, c'ets n'improtequoi ... structures et fonctions ne se declarent pas dans le main mais à l'exterieur.
Allez en cours, ça aide.
Corrige ça et on avisera
EDIT bordel mais sans ca c'est le drame.
Alors en vrac :
l'acces au champ d'un pointeur vers une structure c'ets -> pas .
la declaration des varaibles c'ets pas la foire à mamie
// c'ets du C++, c'ets /* */ en C, arretes d'utilisez visual studio et utilise gcc
Le pire c'ets une fois ces betises corrigés ca a l'air de marcher malgré le manque de free(), l'utilsiation de scanf ...
Marsh Posté le 18-01-2009 à 18:02:49
Vu que j'ai rien d'autre sur le feu
Code :
|
Mais s'il te palit :
utilise fgets+atof
decouple la creation de la memoire du polynome de son remplissage
fait une fonction de nettoyage de la structure en fin de programme
Marsh Posté le 18-01-2009 à 14:15:46
J'etudie actuellement les polynomes avec le langage C, je dois:
1/Evalutation d'un polynome en x:
Etudiez et programmez une fonction chargée de retourner le resultat de l'evalutation d'un polynome P pour une valeur donné de X(P et X sont passés en argument à la fonction).Testez cette fonction
2/Affichage d'un polynome:
Créez une fonction et son programme test chargée de l'affichage d'un polynome passé en parametre.
3/Saisie d'un polynome:
Proposez et testez une fonction chargé de saisir les coefficients d'un polynome.
Mon programme pour le moment:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (void){
struct poly {
unsigned short degre;
float *coef;
};
struct poly p1 {
float x,res;
int i;
};
//evalutation
void eval_poly(struct poly *p1){
printf("\n Veuillez saisir un degre: " );
scanf("%u",&p1.degre);
p1.coef=malloc((p1.degre+1)*sizeof(float));
for (i=p1.degre;i>=0;i--){
printf("\nEntrez la valeur de A%d: ",i);
scanf("%f",&p1.coef[i]);
}
res=0;
printf("\nEntrez un nombre x: " );
scanf("%f",&x);
for (i=p1.degre;i>=0;i--){
res=res+((p1.coef[i])*pow(x,i));
}
printf("\nLe resultat du polynome est : %.2f ", res);
}
//saisie
void get_poly(struct poly *p1){
printf("\n Veuillez saisir un degre: " );
scanf("%u",&p1.degre);
p1.coef=malloc((p1.degre+1)*sizeof(float));
for (i=p1.degre;i>=0;i--){
printf("\nEntrez la valeur de A%d: ",i);
scanf("%f",&p1.coef[i]);
}
//afficahge
void draw_poly(struct poly *p1){
int i;
printf("\nLe polynome est de la forme : \n" );
for (i=p1->deg;i>=2;i--){
if (p1->coef[i]==1){
printf(" x^%d +",i);
}else{
printf(" %.0f x^%d +",p1->coef[i],i);
}
}
if (p1->coef[i]==1){
printf(" x + %.0f",p1->coef[0]);
}else{
printf("%.0f x + %.0f",p1->coef[1],p1->coef[0]);
}
printf("\n\n" );
}
system("PAUSE" );
return 0;}
J'ai beaucoup de mal avec les fonctions et pointeurs. Pourriez vous m'aider à corriger mes fautes et à m'aider un petit peu svp?merci d'avance