PGCD
Résolu/Fermé
Invadoria
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
-
15 sept. 2013 à 18:21
Invadoria Messages postés 77 Date d'inscription jeudi 26 janvier 2012 Statut Membre Dernière intervention 14 décembre 2013 - 15 sept. 2013 à 19:11
Invadoria Messages postés 77 Date d'inscription jeudi 26 janvier 2012 Statut Membre Dernière intervention 14 décembre 2013 - 15 sept. 2013 à 19:11
3 réponses
Invadoria
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
4
15 sept. 2013 à 18:28
15 sept. 2013 à 18:28
Le programme marche mais les résultats sont mauvais...
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 15/09/2013 à 18:33
Modifié par KX le 15/09/2013 à 18:33
Il faut initialiser tes valeurs avant de les utiliser, tu ne dois pas faire de test (pp!=0) alors que tu ne donnes la valeur à pp que dans le if qui suit...
En plus ce if ne sert à rien, l'ordre de a et b n'a pas d'importance, normalement l'algorithme permute de lui même a et b si nécessaire.
Du coup tu n'as pas non plus besoin des variables pp et pg, a et b suffisent.
Remarque : tu ne fais jamais de congruence, ça n'a donc aucune chance de donner le bon résultat, en plus tu utilises des types double, ça n'a aucun sens !
"Je suis assez content de moi, j'ai fait un programme sans faute de syntaxe"
Mais ton programme fait n'importe quoi, alors quel intérêt que la syntaxe soit bonne ?La confiance n'exclut pas le contrôle
En plus ce if ne sert à rien, l'ordre de a et b n'a pas d'importance, normalement l'algorithme permute de lui même a et b si nécessaire.
Du coup tu n'as pas non plus besoin des variables pp et pg, a et b suffisent.
Remarque : tu ne fais jamais de congruence, ça n'a donc aucune chance de donner le bon résultat, en plus tu utilises des types double, ça n'a aucun sens !
"Je suis assez content de moi, j'ai fait un programme sans faute de syntaxe"
Mais ton programme fait n'importe quoi, alors quel intérêt que la syntaxe soit bonne ?La confiance n'exclut pas le contrôle
Invadoria
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
4
15 sept. 2013 à 18:44
15 sept. 2013 à 18:44
Et bien dit moi clairement où je dois mettre les choses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
15 sept. 2013 à 19:05
15 sept. 2013 à 19:05
Je ne suis pas là pour faire ton travail à ta place ! Moi l'algorithme du pgcd je sais le faire, et ça tient en une ligne de code.
Toi tu nous montres ton code et moi je t'indiqué 5 choses qui n'allaient pas, à toi maintenant de reprendre tout ce qui n'allait pas (donc à peu près tout) pour arriver à ce qu'il faut.
Toi tu nous montres ton code et moi je t'indiqué 5 choses qui n'allaient pas, à toi maintenant de reprendre tout ce qui n'allait pas (donc à peu près tout) pour arriver à ce qu'il faut.
Invadoria
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
4
15 sept. 2013 à 19:09
15 sept. 2013 à 19:09
Et ba dans ce cas, tu arrêtes de commenter avec tes commentaires à deux balles.
J'irai demander à des gens plus intelligents que toi qui ne se la pètent pas. Wouaw, tu peux calculer un PGCD en une ligne félicitaiton !!!
En attendant, t'as beau critiquer mon algo, je suis celui qui m'ont ma donné...
J'irai demander à des gens plus intelligents que toi qui ne se la pètent pas. Wouaw, tu peux calculer un PGCD en une ligne félicitaiton !!!
En attendant, t'as beau critiquer mon algo, je suis celui qui m'ont ma donné...
Invadoria
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
4
15 sept. 2013 à 19:03
15 sept. 2013 à 19:03
et ça :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, R, le_pgcd;
printf ("Entrez une valeur pour a : \n" );
scanf ("%i", &a);
printf ("Entrez une valeur pour b : \n");
scanf("%i", &b);
R = a%b;
if(R!=0)
{
a=b;
b=R;
}
else
le_pgcd = b;
printf ("le PGCD de A et B est : %i", le_pgcd);
return 0;
}
Je viens de le faire avec un modulo, le prof ne nous avait pas dit d'en faire.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, R, le_pgcd;
printf ("Entrez une valeur pour a : \n" );
scanf ("%i", &a);
printf ("Entrez une valeur pour b : \n");
scanf("%i", &b);
R = a%b;
if(R!=0)
{
a=b;
b=R;
}
else
le_pgcd = b;
printf ("le PGCD de A et B est : %i", le_pgcd);
return 0;
}
Je viens de le faire avec un modulo, le prof ne nous avait pas dit d'en faire.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 15/09/2013 à 19:09
Modifié par KX le 15/09/2013 à 19:09
Pourquoi tu as enlevé ta boucle while ?
Je t'ai indiqué ce qui n'allait pas, mais le reste était a priori pas trop mal, en particulier ta boucle while était correcte.
"le prof ne nous avait pas dit d'en faire"
c'est la faute du prof ? tu cherches à calculer un plus grand diviseur, si tu ne fais jamais de divisions comment tu voudrais t'en sortir avec des soustractions ?
Je t'ai indiqué ce qui n'allait pas, mais le reste était a priori pas trop mal, en particulier ta boucle while était correcte.
"le prof ne nous avait pas dit d'en faire"
c'est la faute du prof ? tu cherches à calculer un plus grand diviseur, si tu ne fais jamais de divisions comment tu voudrais t'en sortir avec des soustractions ?
Invadoria
Messages postés
77
Date d'inscription
jeudi 26 janvier 2012
Statut
Membre
Dernière intervention
14 décembre 2013
4
15 sept. 2013 à 19:11
15 sept. 2013 à 19:11
Je ne lis plus tes commentaires monsieur je sais tout.