Algorithme
Fermé
tulipe96
Messages postés
7
Date d'inscription
samedi 12 décembre 2015
Statut
Membre
Dernière intervention
28 décembre 2015
-
Modifié par baladur13 le 9/01/2016 à 14:19
Smiley32 Messages postés 155 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 10 février 2016 - 9 janv. 2016 à 14:18
Smiley32 Messages postés 155 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 10 février 2016 - 9 janv. 2016 à 14:18
A voir également:
- Algorithme
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Code ascii algorithme - Guide
- Algorithme maximum de 3 nombres ✓ - Forum Algorithmes / Méthodes
- Tester un algorithme en ligne - Forum Programmation
2 réponses
Smiley32
Messages postés
155
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
10 février 2016
23
27 déc. 2015 à 16:35
27 déc. 2015 à 16:35
Tout d'abord, ta question n'a rien à voir avec du C, non ?
Ensuite, tu pourais indenter un peu ton algo :
Ensuite, quand tu met "si (A mod B) alors ", tu cherches à tester quand A modulo B vaut 0 ? car je ne vois aucun test (ou alors avec 1 en programmation)
De plus, tu pourquoi A et B sont réels ? Tu fais le PGCD de deux nombres réels avec un reste entier ?
Ensuite, tu pourais indenter un peu ton algo :
Algorithme PGCD; Var A, B : réel; m, r : entier; Debut Ecrire("Introduisez deux nombres: "); Lire(A, B); Si (B=0) alors debut Ecrire ("Erreur de saisie"); fin; Sinon debut Si (A=B) alors debut Ecrire("PGCD(", A, ";", B, ")=", A); fin; Sinon debut si (A mod B) alors debut Ecrire("PGCD(",A, ";", B , ")=", B); fin; Sinon debut Repeter debut r <--- (A mod B); A <--- B; B <--- r; m <--- (A mod B); fin; jusqu'à (m=0) Ecrire ("PGCD(", A, ";", B, ")=", B); fin; fin; fin; FIN.
Ensuite, quand tu met "si (A mod B) alors ", tu cherches à tester quand A modulo B vaut 0 ? car je ne vois aucun test (ou alors avec 1 en programmation)
De plus, tu pourquoi A et B sont réels ? Tu fais le PGCD de deux nombres réels avec un reste entier ?
Smiley32
Messages postés
155
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
10 février 2016
23
9 janv. 2016 à 14:18
9 janv. 2016 à 14:18
Salut,
voici le code en C : rien n'est compliqué, c'est juste le langage qui change :
Ensuite, j'ai repéré une petite erreur d'affichage : lors de ton affichage de a et b, il faut vérifier que a et b sont encore ceux du départ
voici le code en C : rien n'est compliqué, c'est juste le langage qui change :
#include <stdio.h> #include <stdlib.h> int main() { int a, b; int m, r; printf("Introduisez deux nombres :\n"); scanf("%d", &a); scanf("%d", &b); if(b == 0) { printf("Erreur de saisie\n"); } else { if(a == b) { printf("PGCD(%d;%d)=%d", a, b, a); } else { if(a % b == 0) { printf("PGCD(%d;%d)=%d", a, b, b); } else { do { r = a % b; a = b; b = r; m = a % b; } while(m != 0); printf("PGCD(%d;%d)=%d", a, b, b); // Erreur dans l'affichage : a et b ne sont plus ceux du départ } } } return 0; }
Ensuite, j'ai repéré une petite erreur d'affichage : lors de ton affichage de a et b, il faut vérifier que a et b sont encore ceux du départ
28 déc. 2015 à 13:41
je ne savais pas comment rendre l'algorithme plus clair comme vous l'avez fait, autrement je l'aurai modifié, merci pour votre aide
oui j'ai oublié le zero dans ma condition (A mod B=0) sinon, j'ai essayé de le programmer en c et de l'exécuter avec le logiciel devc++, malgré qu'il n'y a pas d'erreurs son exécution ne donne aucun résultat à part celui de l'affichage du message "erreur de saisie" Je ne vois pas où est le problème, pourriez vous m'aider à retrouver mon erreur svp ...
28 déc. 2015 à 16:11
Et n'oublie pas d'utiliser la balise <code c>.
Exemple :
<code c>
ici tu mets ton code
</code>