Aujourd'hui j'ai fais un programme pour calculer le PGCD. Premièrement, je voudrais que vous regardiez mon code est me dire comment l'amélioré ect... puis aussi je voudrais l'amélioré (cf bas de page)
main.cpp :
#include <iostream>
#include "pgcd.h"
using namespace std;
int main()
{
int nombre1 = 0, nombre2 = 0, PGCD = 0, choix;
cout << "**** Calcul du PGCD ****" << endl;
cout << endl << endl << endl;
cout << "Entrez le premier nombre :" << endl;
cin >> nombre1;
cout << "Entez le second nombre :" << endl;
cin >> nombre2;
cout << endl << "Voulez vous les details du calcul ?" << endl << "0.Non" << endl << "1.Oui" << endl;
cin >> choix;
PGCD = calculPGCD(nombre1, nombre2, choix);
afficherPGCD(nombre1, nombre2, PGCD);
return 0;
}
pgcd.cpp
#include <iostream>
#include "pgcd.h"
using namespace std;
int calculPGCD(int nombre1, int nombre2, int details)
{
int nombreReste = 56, nombreTemp1 = 0, nombreTemp2 = 0, PGCD = 0;
nombreTemp1 = nombre1;
nombreTemp2 = nombre2;
//Calcul du PGCD de deux nombre envoyé en paramètre
//Le troisième paramètre correspond a si on veut les détails ou pas
if (details)
{
//On affiche la première ligne
afficherDetails(0, 0, 0, 1);
while (nombreReste !=0)
{
PGCD = nombreReste;
nombreReste = nombreTemp1 % nombreTemp2;
afficherDetails(nombreTemp1, nombreTemp2, nombreReste);
nombreTemp1 = nombreTemp2;
nombreTemp2 = nombreReste;
}
}
else
{
while (nombreReste !=0)
{
PGCD = nombreReste;
nombreReste = nombreTemp1 % nombreTemp2;
nombreTemp1 = nombreTemp2;
nombreTemp2 = nombreReste;
}
}
return PGCD;
}
int afficherPGCD(int nombre1, int nombre2, int PGCD)
{
//On affiche le PGCD
cout << endl << endl;
cout << "Le PGCD des nombres " << nombre1 << " et " << nombre2 << " est :" << endl;
cout << PGCD << endl;
}
int afficherDetails(int nombre1, int nombre2, int reste, int ligne1)
{
if (ligne1)
{
cout << " a | b | r |" << endl;
cout << " | | |" << endl;
}
else
{
cout << " " << nombre1 << " | " << nombre2 << " | " << reste << " |" << endl;
}
}
pgcd.h
#ifndef DEF_PGCD
#define DEF_PGCD
int calculPGCD(int nombre1, int nombre2, int details);
int afficherPGCD(int nombre1, int nombre2, int PGCD);
int afficherDetails(int nombre1 = 0, int nombre2 = 0, int reste = 0, int ligne1 = 0);
#endif
Voila pour les codes !
Mon problème est lorsque je choisi l'option détailler, la colone n'est pas droite :
a | b | r |
1078 | 322 | 112 |
322 | 112 | 98 |
112 | 98 | 14 |
98 | 14 | 0
Comment programmer en fonction de la longueur des nombre faire une colone droite ? merci a vous !
effectivement, j'avais pas remarqué l'inversion des deux membres, je devais sans doute être fatigué.
Calculer le PGCD
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Live to learn and learn to live.