Convertisseur nombre arabe en nombre romain

Soyez le premier à donner votre avis sur cette source.

Vue 9 163 fois - Téléchargée 247 fois

Description

voici un petit programme qui transcris un nombre arabe en nombre romain.

explications :
on vérifie si le nombre entré est supérieur ou égal au plus grand nombre romain (M), si oui, on lui
soustrait la valeur associée,si non on teste la valeur suivante (CM) etc jusqu'à I.
la boucle s'arrête donc quand le nombre à convertir = 0

par exemple : 47, plus grand que 40 donc on écrit XL, on fait 47-40= 7, plus grand que 5, on ecrit V, on fait 7-5, etc jusqu'à atteindre 0.

Source / Exemple :


#include <iostream>

using namespace std;

int main() {

	int arab[13]={1000,900,500,400,100,90,50,40,10,9,5,4,1};
	char *roman[13]={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
	int i=0;
	int dec=0;

cout<<"entrez un nombre en chiffres arabes compris entre 1 et 3999"<<endl;
cin>>dec;

	while(dec<1 || dec>3999){
		cout<<"vous depassez les limites du raisonnable !"<<endl;
		cout<<"entrez un nombre en chiffres arabes compris entre 1 et 3999"<<endl;
		cin>>dec;
	}

		while(dec!=0) {

			while(dec>=arab[i]){         
				dec=dec-arab[i];
				cout<<roman[i];
		}

			i++;

		}

cout <<"\n";

return 0;
}

Conclusion :


voila, dite moi si il y a des choses que je peux améliorer.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
4
Date d'inscription
lundi 17 août 2009
Statut
Membre
Dernière intervention
20 avril 2010

ça te met quoi comme erreur(s) de compilation ??
Utilisateur anonyme
Bonjour, je dispose de CodeBlock. J'arrive pas compiler le programme, quelqu'un peut me dire comment faire svp ?
Messages postés
2
Date d'inscription
mardi 26 octobre 2004
Statut
Membre
Dernière intervention
17 avril 2012

Juste une toute petite précision : la numération est arabe, mais les chiffres sont d'origine indienne (d'Inde). On doit aux arabes le zéro et le système en base 10 qui l'ont eux même récupérés des Indiens.
Pour voir à quoi ressemble les chiffres arabes voici un lien sur Wikipédia : http://fr.wikipedia.org/wiki/Chiffre_arabo-indien

A+
Messages postés
326
Date d'inscription
samedi 18 décembre 2004
Statut
Membre
Dernière intervention
5 janvier 2021
2
4888 = MMMMDCCCLXXXVIII est le nombre romain le plus long en quantité de symboles.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Pour ne pas être responsable de transmission de virus, on vire les EXEs.
Celui qui le voudra recompilera.
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.