Informatică, întrebare adresată de iulicsuman123, 8 ani în urmă

Scrie un program pascal care convertește cifrele arabe (0, 1 2 3 4 5 6 7 8 9) in cifre romane va rog urgent dau coroana​

Răspunsuri la întrebare

Răspuns de ValiV12
0

Salut, imi cer scuze ca nu te pot ajuta mai mult, insa nu am timp. Am am un tip de algortim gata facut pentru altcineva, insa in C++. care converteste din romane in arabe:

#include <iostream>

#include <cstring>

using namespace std;

int main(){

char s[10];

int n=0, i;

cout<<"Numar roman: "; cin>>s;

i=strlen(s);

cout<<i<<endl;

do{

    if(s[i-1]=='I'){ n=n+1; i--;}

    if(s[i-1]=='V'&&s[i-2]=='I'){ n=n+4; i=i-2;}

       else if(s[i-1]=='V'){ n=n+5; i--;}

    if(s[i-1]=='X'&&s[i-2]=='I'){ n=n+9; i=i-2;}

       else if(s[i-1]=='X'){ n=n+10; i--;}

    if(s[i-1]=='L'&&s[i-2]=='X'){ n=n+4; i=i-2;}

       else if(s[i-1]=='L'){ n=n+50; i--;}

    if(s[i-1]=='C'&&s[i-2]=='X'){ n=n+90; i=i-2;}

       else if(s[i-1]=='C'){ n=n+100; i--;}

    if(s[i-1]=='D'&&s[i-2]=='C'){ n=n+400; i=i-2;}

       else if(s[i-1]=='D'){ n=n+500; i--;}

    if(s[i-1]=='M'&&s[i-2]=='C'){ n=n+900; i=i-2;}

       else if(s[i-1]=='M'){ n=n+1000; i--;}

}while(i>0);

cout<<"Nr arab: "<< n;

}

Tot ce trebuie sa faci tu, cred, este sa inlocuiesti caracterele cu numere ex: s[i-1]=='I' ar trebui sa fie s==1 (aici ai doua optiuni: fie desfaci numarul prin alte metode, fie folosesti un vector si mergi pe metoda cu s[i-1]==x) si construiesti numarul roman prin concatenare.


ValiV12: Hei, am rezolvat problema, insa nu am cum sa ti-o dau
Alte întrebări interesante