#include #include #include #include /*#include */ using namespace std; vector reg; map L; map PL; string numToRome (int n){ //Cislo n prepise na rimske cislo string r=""; /*cout<< n;*/ while (n>0) { if (n>=1000) { r+="M";n-=1000;} else if (n>=900) { r+="CM";n-=900;} else if (n>=500) { r+="D";n-=500;} else if (n>=400) { r+="CD";n-=400;} else if (n>=100) { r+="C";n-=100;} else if (n>=90) { r+="XC";n-=90;} else if (n>=50) { r+="L";n-=50;} else if (n>=40) { r+="XL";n-=40;} else if (n>=10) { r+="X";n-=10;} else if (n>=9) { r+="IX";n-=9;} else if (n>=5) { r+="V";n-=5;} else if (n>=4) { r+="IV";n-=4;} else if (n>=1) { r+="I";n-=1;} } return r; } int romeToNum (string s){ //rimske cislo s prepise na cislo int n; return n; } void reset() { reg.assign(10,10001); cout<<"Ready"<>line; while( line!="QUIT") { if (line=="RESET") reset(); else { int areg; if (line[1]=='=') { switch (line[0]) { case '1': areg=1; break; case '2': areg=2; break; case '3': areg=3; break; case '4': areg=4; break; case '5': areg=5; break; case '6': areg=6; break; case '7': areg=7; break; case '8': areg=8; break; case '9': areg=9; break; case '0': areg=0; break; default: cout<<"Error"<second; int b= 0; if ( i+1<(int)line.size() && line[i+1]!='+' && line[i+1]!='-') b= L.find(line[i+1])->second; if (a >= b) { hod+=a; } else { hod-=a; } i++; } } vysl+=znam*hod; /*cout<< " vysl: "<10000 || vysl <0) cout<<"Error"<>line; } cout<<"Bye"<