Informatică, întrebare adresată de Kristynaa, 9 ani în urmă

scrieti un program care transforma numerele zecimale 1,5,10,50,100,500,1000 citite de la tastatura in cifre romane


Pushu: Dar sa țile scriu in cifre romane ?

Răspunsuri la întrebare

Răspuns de Utilizator anonim
6
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{ char text[256], *p, separator[]=" ", x[256]=" ", v[20][5], s[20][5]; 
int i, n=7;   
cout << "Dati cifrele arabe:" << endl << endl;   
cin.get(text,256);   
strcpy(v[1],"1"); strcpy(s[1],"I");   
strcpy(v[2],"5"); strcpy(s[2],"V");   
strcpy(v[3],"10"); strcpy(s[3],"X");   
strcpy(v[4],"50"); strcpy(s[4],"L");   
strcpy(v[5],"100"); strcpy(s[5],"C"); 
strcpy(v[6],"500"); strcpy(s[6],"D");  
strcpy(v[7],"1000"); strcpy(s[7],"M");   
p=strtok(text,separator);   
while (p)   
{    for(i=1;i<=n;i++)   
if(strcmp(p,v[i])==0)       
strcpy(p,s[i]);   
strcat(x,p);   
strcat(x," ");   
p=strtok(NULL,separator);    }   
cout << endl;    cout << "Cifrele romane sunt:" << endl << endl;   
cout << x;}

Ex: Introduci 1 5 10 50 100 500 1000
Afiseaza I V X L C D M
Nu si alte numere. Daca vrei si alte numerele adaugi tu cu "srtcpy".
Alte întrebări interesante