Operation sur les polynomes
Fermé
providence
Messages postés
98
Date d'inscription
dimanche 22 janvier 2006
Statut
Membre
Dernière intervention
18 novembre 2015
-
16 juil. 2007 à 01:44
manal - 18 janv. 2011 à 11:43
manal - 18 janv. 2011 à 11:43
A voir également:
- Operation sur les polynomes
- L'opération demandée nécessite une élévation ✓ - Forum Logiciels
- Impossible de terminer l'opération car le fichier contient un virus ✓ - Forum Windows 10
- L'opération a échoué car aucune carte n'a le statut autorisé pour cette opération - Forum Freebox
- Erreur : impossible de terminer l'opération .. - Forum Virus
- Impossible d'effectuer l'opération le message ayant été modifié ✓ - Forum Outlook
15 réponses
sfel
Messages postés
1640
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
15 juillet 2009
430
16 juil. 2007 à 09:24
16 juil. 2007 à 09:24
ba, commence si tu veux ton programme, je te le corrigerais.
le C je connais, et les polynomes aussi (le bac S, spé maths ca aide ^^)
je te conseillerais de faire un menu
alors deux choix :
-soit tu connais les fonctions et procédures, et dans quel cas, ba un switch qui envoi vers la ou les fonctions appropriés.
-soit tu ne connais pas les fonctions et procédures, où dans quel cas tu peux d'abord faire un switch avec dans chaque cas le calcul et l'affichage du résultat, et après pourrais te le faire modifier en fonctions et procédures (si tu veux).
le C je connais, et les polynomes aussi (le bac S, spé maths ca aide ^^)
je te conseillerais de faire un menu
alors deux choix :
-soit tu connais les fonctions et procédures, et dans quel cas, ba un switch qui envoi vers la ou les fonctions appropriés.
-soit tu ne connais pas les fonctions et procédures, où dans quel cas tu peux d'abord faire un switch avec dans chaque cas le calcul et l'affichage du résultat, et après pourrais te le faire modifier en fonctions et procédures (si tu veux).
sfel
Messages postés
1640
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
15 juillet 2009
430
19 juil. 2007 à 20:50
19 juil. 2007 à 20:50
si tu veux, envoi moi ton code (ou une partie), je ferai ca en fonction de ton code.
gefix
Messages postés
106
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
31 août 2010
8
20 juil. 2007 à 18:25
20 juil. 2007 à 18:25
ce serait possible de mettre le code sur le topic ? ca m'interesse ca^^
zabbi
Messages postés
35
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
23 septembre 2007
4
21 juil. 2007 à 00:01
21 juil. 2007 à 00:01
bsr.
ce programme la est parmi les programmes classiques pour comprendre les listes chainés.
alors personnelement pour rendre ton programme facile pense à utiliser les listes chainés.
peut etre je pourrais t'envoyer un programme qui fait ssa.
a +
ce programme la est parmi les programmes classiques pour comprendre les listes chainés.
alors personnelement pour rendre ton programme facile pense à utiliser les listes chainés.
peut etre je pourrais t'envoyer un programme qui fait ssa.
a +
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
providence
Messages postés
98
Date d'inscription
dimanche 22 janvier 2006
Statut
Membre
Dernière intervention
18 novembre 2015
7
21 juil. 2007 à 13:02
21 juil. 2007 à 13:02
ci dessous les fonctions que j'ai dejà concocté.Merci de m'aider a apporter les ameliorations necessaires
#include <stdio.h>
#include <math.h>
///////////////////////////////////////////////////////////////////////////
//Programme Principal
//
/////////////////////////////////////////////////
int main() {
}
////////////////////////////////////////////////////////////////////////
// definition d'un polynome sous forme d'une structure contenant deux parametres: le degree et un tableau contenant
// les coefficients
//////////////////////////////////////////////////////////
struct poly {
degree = deg; //degree du tableau
donnee = new double[degree]; //coefficients du polynome
};
poly addition (poly p1, poly p2)
{
int i, n = p2.degree;
struct poly ans = initPoly(n); //ans polynome de meme degree que p2
if (p1.degree == p2.degree)
{
for (i=0; i<n; i++) //additione les coefficients
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
}
else if (p2.degree > p1.degree)
{
for (i=0; i<p1.degree; i++)
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
for (i=p1.degree; i<n; i++)
ans.donnee[i] = p2.donnee[i];
return ans;
}
else if (p2.degree < p1.degree)
{
for (i=0; i<n; i++)
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
for (i=n; i<p1.degree; i++)
ans.donnee[i] = p1.donnee[i];
}
return ans;
}
#include <stdio.h>
#include <math.h>
///////////////////////////////////////////////////////////////////////////
//Programme Principal
//
/////////////////////////////////////////////////
int main() {
}
////////////////////////////////////////////////////////////////////////
// definition d'un polynome sous forme d'une structure contenant deux parametres: le degree et un tableau contenant
// les coefficients
//////////////////////////////////////////////////////////
struct poly {
degree = deg; //degree du tableau
donnee = new double[degree]; //coefficients du polynome
};
poly addition (poly p1, poly p2)
{
int i, n = p2.degree;
struct poly ans = initPoly(n); //ans polynome de meme degree que p2
if (p1.degree == p2.degree)
{
for (i=0; i<n; i++) //additione les coefficients
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
}
else if (p2.degree > p1.degree)
{
for (i=0; i<p1.degree; i++)
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
for (i=p1.degree; i<n; i++)
ans.donnee[i] = p2.donnee[i];
return ans;
}
else if (p2.degree < p1.degree)
{
for (i=0; i<n; i++)
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
for (i=n; i<p1.degree; i++)
ans.donnee[i] = p1.donnee[i];
}
return ans;
}
zabbi
Messages postés
35
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
23 septembre 2007
4
21 juil. 2007 à 14:15
21 juil. 2007 à 14:15
slt.
c'est une version que j'ai essayé de taper maintenat il fait la lecture et aussi l'affichage
la somme des coefficient le donne vrai , mais il y'a une faute au nivaeu des degré.
j'ai essayé de respecter ton demarche.
je te le donne ,je suis trés occuppé ce soir peut etre je vais voir avec toi ton programme .
a+
#include <stdio.h>
#include <math.h>
#include<malloc.h>
#include<conio.h>
struct poly {
int degree ;//degree du tableau
float donnee[20]; //coefficients du polynome
};
poly addition (poly p1, poly p2)
{
int i, n = p2.degree;
poly ans; //ans polynome de meme degree que p2
if (p1.degree == p2.degree)
{
for (i=0; i<n; i++) //additione les coefficients
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
}
else if (p2.degree > p1.degree)
{
for (i=0; i<p1.degree; i++)
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
for (i=p1.degree; i<n; i++)
ans.donnee[i] = p2.donnee[i];
return ans;
}
else if (p2.degree < p1.degree)
{
for (i=0; i<n; i++)
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
for (i=n; i<p1.degree; i++)
ans.donnee[i] = p1.donnee[i];
}
return ans;
}
///////////////////////////////////////////////////////////////////////////
//Programme Principal
//
/////////////////////////////////////////////////
int main() {
////////////////////////////////////////////////////////////////////////
// definition d'un polynome sous forme d'une structure contenant deux parametres: le degree et un tableau contenant
// les coefficients
//////////////////////////////////////////////////////////
int m,i,n;
poly p1,p2;
//poly p1 = (struct )malloc(sizeof(struct poly));
printf("donner les nombre de cofficient de p1 \n");
scanf("%d",&m);
for(i=0;i<m;i++)
{ printf("donner le coeficient %d \n",i);
scanf("%f",&p1.donnee[i]);
printf("donner le degré de ce coeficient %d \n",i+1);
scanf("%d",&p1.degree);
}
printf("donner les nombre de cofficient de p2 \n");
scanf("%d",&n);
for(i=0;i<n;i++)
{ printf("donner le coeficient %d \n",i+1);
scanf("%f",&p2.donnee[i]);
printf("donner le degré de ce coeficient %d \n",i+1);
scanf("%d",&p2.degree);
}
poly somme=addition(p1,p2);
if(m<n)
{
for(i=0;i<n;i++)
printf("%f x^%d +",somme.donnee[i],somme.degree);}
else {
for(i=0;i<m;i++)
printf("%f x^%d +",somme.donnee[i],somme.degree);}
getch();
}
c'est une version que j'ai essayé de taper maintenat il fait la lecture et aussi l'affichage
la somme des coefficient le donne vrai , mais il y'a une faute au nivaeu des degré.
j'ai essayé de respecter ton demarche.
je te le donne ,je suis trés occuppé ce soir peut etre je vais voir avec toi ton programme .
a+
#include <stdio.h>
#include <math.h>
#include<malloc.h>
#include<conio.h>
struct poly {
int degree ;//degree du tableau
float donnee[20]; //coefficients du polynome
};
poly addition (poly p1, poly p2)
{
int i, n = p2.degree;
poly ans; //ans polynome de meme degree que p2
if (p1.degree == p2.degree)
{
for (i=0; i<n; i++) //additione les coefficients
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
}
else if (p2.degree > p1.degree)
{
for (i=0; i<p1.degree; i++)
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
for (i=p1.degree; i<n; i++)
ans.donnee[i] = p2.donnee[i];
return ans;
}
else if (p2.degree < p1.degree)
{
for (i=0; i<n; i++)
ans.donnee[i] = p1.donnee[i] + p2.donnee[i];
for (i=n; i<p1.degree; i++)
ans.donnee[i] = p1.donnee[i];
}
return ans;
}
///////////////////////////////////////////////////////////////////////////
//Programme Principal
//
/////////////////////////////////////////////////
int main() {
////////////////////////////////////////////////////////////////////////
// definition d'un polynome sous forme d'une structure contenant deux parametres: le degree et un tableau contenant
// les coefficients
//////////////////////////////////////////////////////////
int m,i,n;
poly p1,p2;
//poly p1 = (struct )malloc(sizeof(struct poly));
printf("donner les nombre de cofficient de p1 \n");
scanf("%d",&m);
for(i=0;i<m;i++)
{ printf("donner le coeficient %d \n",i);
scanf("%f",&p1.donnee[i]);
printf("donner le degré de ce coeficient %d \n",i+1);
scanf("%d",&p1.degree);
}
printf("donner les nombre de cofficient de p2 \n");
scanf("%d",&n);
for(i=0;i<n;i++)
{ printf("donner le coeficient %d \n",i+1);
scanf("%f",&p2.donnee[i]);
printf("donner le degré de ce coeficient %d \n",i+1);
scanf("%d",&p2.degree);
}
poly somme=addition(p1,p2);
if(m<n)
{
for(i=0;i<n;i++)
printf("%f x^%d +",somme.donnee[i],somme.degree);}
else {
for(i=0;i<m;i++)
printf("%f x^%d +",somme.donnee[i],somme.degree);}
getch();
}
zabbi
Messages postés
35
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
23 septembre 2007
4
21 juil. 2007 à 21:31
21 juil. 2007 à 21:31
slt . il n'yaura pas de pb car on fait l'addition.
seulemnet lors de l'affichage qu'il faut tester s'il ya un coefficient null.
que dis c je t'envoie ce soir la multiplication et l'addition ,et un menu pour choisir l'operation voulu et à toi de programmer les autres operations.?
seulemnet lors de l'affichage qu'il faut tester s'il ya un coefficient null.
que dis c je t'envoie ce soir la multiplication et l'addition ,et un menu pour choisir l'operation voulu et à toi de programmer les autres operations.?
providence
Messages postés
98
Date d'inscription
dimanche 22 janvier 2006
Statut
Membre
Dernière intervention
18 novembre 2015
7
22 juil. 2007 à 00:43
22 juil. 2007 à 00:43
ZaBBi,
Ne serait t-il pas interessant d'utiliser une procedure pour la saisie des polynomes.je te poste une esquisse de ce que j'ai dejà realisé.Merci d'y jetter un oeil:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct poly {
int deg; //degree du tableau
float coef; //coefficients du polynome
};
poly Saisie_poly(int deg) /* fonction permettant la saisie d'un polynome */
{
int i;
struct poly poly_saisie;
for (i = 0; i < deg; i++)
{
printf('entrez svp le coefficient de X^' ,i);
scanf("%f", &poly_saisie.coef[i]);
}
}
Ne serait t-il pas interessant d'utiliser une procedure pour la saisie des polynomes.je te poste une esquisse de ce que j'ai dejà realisé.Merci d'y jetter un oeil:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct poly {
int deg; //degree du tableau
float coef; //coefficients du polynome
};
poly Saisie_poly(int deg) /* fonction permettant la saisie d'un polynome */
{
int i;
struct poly poly_saisie;
for (i = 0; i < deg; i++)
{
printf('entrez svp le coefficient de X^' ,i);
scanf("%f", &poly_saisie.coef[i]);
}
}
zabbi
Messages postés
35
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
23 septembre 2007
4
22 juil. 2007 à 00:57
22 juil. 2007 à 00:57
bsr.
j'ai oublié de te dire que dans ton programme tu oublie de preciser le degré de la somme c'est à dire
ans.deg=?
pour les corrections de ta fonction saisie:
#include <stdio.h>
#include <stdlib.h>//pas besoin de cette bibliotheque
#include <string.h> // pas besoin de cette bibliotheqe: on l'utilise dans le cas pour fonction puts, gets ...
struct poly {
int deg; //degree du tableau
float coef[10]; //coefficients du polynome , ci ta un tableau donc tu reserve par exp 10 cases
};
poly Saisie_poly(int deg) /* fonction permettant la saisie d'un polynome */
{
int i;
struct poly poly_saisie;
for (i = 0; i < deg+1; i++) //pour degré =n on a n+1 coeficients
{
printf('entrez svp le coefficient de X^%d ,i);
scanf("%f", &poly_saisie.coef[i]);
}
}
c ce que j'ai remarqué
j'ai oublié de te dire que dans ton programme tu oublie de preciser le degré de la somme c'est à dire
ans.deg=?
pour les corrections de ta fonction saisie:
#include <stdio.h>
#include <stdlib.h>//pas besoin de cette bibliotheque
#include <string.h> // pas besoin de cette bibliotheqe: on l'utilise dans le cas pour fonction puts, gets ...
struct poly {
int deg; //degree du tableau
float coef[10]; //coefficients du polynome , ci ta un tableau donc tu reserve par exp 10 cases
};
poly Saisie_poly(int deg) /* fonction permettant la saisie d'un polynome */
{
int i;
struct poly poly_saisie;
for (i = 0; i < deg+1; i++) //pour degré =n on a n+1 coeficients
{
printf('entrez svp le coefficient de X^%d ,i);
scanf("%f", &poly_saisie.coef[i]);
}
}
c ce que j'ai remarqué
providence
Messages postés
98
Date d'inscription
dimanche 22 janvier 2006
Statut
Membre
Dernière intervention
18 novembre 2015
7
22 juil. 2007 à 01:27
22 juil. 2007 à 01:27
Zabbi,
Dans l'enoncé , il y a 1 contrainte: il y a marqué:N est une constante fixée suffisament grand(degre <=N). cette contrainte ne poserait-elle pas probleme avec :float coef[10]?merci
Dans l'enoncé , il y a 1 contrainte: il y a marqué:N est une constante fixée suffisament grand(degre <=N). cette contrainte ne poserait-elle pas probleme avec :float coef[10]?merci
sfel
Messages postés
1640
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
15 juillet 2009
430
20 juil. 2007 à 18:54
20 juil. 2007 à 18:54
oui, s'il reviens ^^
providence
Messages postés
98
Date d'inscription
dimanche 22 janvier 2006
Statut
Membre
Dernière intervention
18 novembre 2015
7
21 juil. 2007 à 19:33
21 juil. 2007 à 19:33
merci zabbi pour ta reponse mais g 1 preoccupation concernant la fonction addition.que se passe t il si les polynomes sont de même degré avec des coéfficients qui s'annulent? as-tu pensé à gerer ce cas? merci
zabbi
Messages postés
35
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
23 septembre 2007
4
22 juil. 2007 à 13:37
22 juil. 2007 à 13:37
slt.
tu peux fiare comme ssa
#include <stdio.h>
#Define N 25 //par exemple ainsi dés que le compilateur trouve N il met 25 à sa place
main()
{
struct poly {
int deg; //degree du tableau
float coef[N]; //coefficients du polynome , ci ta un tableau donc tu reserve par exp 10 cases
};
tu peux fiare comme ssa
#include <stdio.h>
#Define N 25 //par exemple ainsi dés que le compilateur trouve N il met 25 à sa place
main()
{
struct poly {
int deg; //degree du tableau
float coef[N]; //coefficients du polynome , ci ta un tableau donc tu reserve par exp 10 cases
};
providence
Messages postés
98
Date d'inscription
dimanche 22 janvier 2006
Statut
Membre
Dernière intervention
18 novembre 2015
7
22 juil. 2007 à 21:27
22 juil. 2007 à 21:27
Zabbi je te remerci encore une fois pour ton aide qui m'est très precieuse.je t'envois la procedure d'affichage de page que j'ai conçu(en fait j'ai vue un exemple sur le net et je l'ai adapté à mon programme).Verifie la minutieusement sTP et donne moi ton avis.Si t'en a une autre + efficace n'hesite pas à me la faire parvenir.Merci encore pour tout;
void Affichage_poly(poly P) // procedure permettant d'afficher un polynome
{
int i;
struct poly ans;
ans=clean(p);// clean est une procedure permettant de reduire la taill du poly en d coef=0
if (checkZero(ans)==1)// checkZero verifi si le poly est nul(deg = 1 et coef=0)
printf(0);
if (ans.donnee[donnee.degree-1]!=0) /* dans l'exemple que j'ai vu g ne comprends pas bien l'instruction donnee.degree-1.pourrais-tu m'en dire + la dessus STP?*/
printf(donnee[donnee.degree-1]);
if (ans.degree>1)
printf('x^',ans.degree-1, " " );
for (i=ans.degree-2; i>=0; i--)
{
if (ans.donnee[i]!=0)
{
if (ans.donnee[i]>0)
printf('+');
printf('ans.donnee[i]);
if (i!=0)
printf('x^' , i, ' ' );
}
}
//
void Affichage_poly(poly P) // procedure permettant d'afficher un polynome
{
int i;
struct poly ans;
ans=clean(p);// clean est une procedure permettant de reduire la taill du poly en d coef=0
if (checkZero(ans)==1)// checkZero verifi si le poly est nul(deg = 1 et coef=0)
printf(0);
if (ans.donnee[donnee.degree-1]!=0) /* dans l'exemple que j'ai vu g ne comprends pas bien l'instruction donnee.degree-1.pourrais-tu m'en dire + la dessus STP?*/
printf(donnee[donnee.degree-1]);
if (ans.degree>1)
printf('x^',ans.degree-1, " " );
for (i=ans.degree-2; i>=0; i--)
{
if (ans.donnee[i]!=0)
{
if (ans.donnee[i]>0)
printf('+');
printf('ans.donnee[i]);
if (i!=0)
printf('x^' , i, ' ' );
}
}
//
zabbi
Messages postés
35
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
23 septembre 2007
4
23 juil. 2007 à 02:13
23 juil. 2007 à 02:13
slt.
je vois qu'il ya bcp des erreurs au niveau ni de logic ni de syntaxe
d'abordpor la question sur :
donnee.degree-1
d'abord on teste par la fonction chekzero est ce queans est nulle
aprés on essaie de voir c le degré =1 mais la syntaxe est fausse car on doit ecrire:
if((ans.donnee[degree])-1!=0) pas donnee.deg -1
je vois aussi que ta fonction affiche seulemnt le coef et n'affiche pas les degrés.
moi j'ai une version avec les listes chainés qui fait tous ce que vous avez demandé mais moi je prefere suivre avec toi ton programme alors c tu veux que je t'envois ce programme ou continuer avec toi ta demarche. bonne nuit
je vois qu'il ya bcp des erreurs au niveau ni de logic ni de syntaxe
d'abordpor la question sur :
donnee.degree-1
d'abord on teste par la fonction chekzero est ce queans est nulle
aprés on essaie de voir c le degré =1 mais la syntaxe est fausse car on doit ecrire:
if((ans.donnee[degree])-1!=0) pas donnee.deg -1
je vois aussi que ta fonction affiche seulemnt le coef et n'affiche pas les degrés.
moi j'ai une version avec les listes chainés qui fait tous ce que vous avez demandé mais moi je prefere suivre avec toi ton programme alors c tu veux que je t'envois ce programme ou continuer avec toi ta demarche. bonne nuit
providence
Messages postés
98
Date d'inscription
dimanche 22 janvier 2006
Statut
Membre
Dernière intervention
18 novembre 2015
7
23 juil. 2007 à 11:08
23 juil. 2007 à 11:08
bonsoir ZABBi,
ton programme j'en aurai surement besoin(je te prie de bien vouloir me le poster lorsque mon probleme sera resolu) mais pour l'heure je souhaite bien qu'on poursuive ma demarche.
Que me propose-tu donc pour l'affichage des pages?
ton programme j'en aurai surement besoin(je te prie de bien vouloir me le poster lorsque mon probleme sera resolu) mais pour l'heure je souhaite bien qu'on poursuive ma demarche.
Que me propose-tu donc pour l'affichage des pages?
19 juil. 2007 à 11:26