Program napisany w C++ służący do zamiany liczb arabskich na rzymskie i odwrotnie.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #include <iostream> #include <string> #include <stdlib.h> using namespace std; int trans(char a){ switch ( a ){ case 'X':return 10;break; case 'I':return 1;break; case 'V':return 5;break; case 'L':return 50;break; case 'C':return 100;break; case 'D':return 500;break; case 'M':return 1000;break; default: return 0; break; } } int main() { char jednosci[12][255] = {" ", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", '\0'}; char dziesiatki[12][255] = {" ", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC", '\0'}; char setki[12][255] = {" ", "C", "CC", "CCC", "CD", "M", "MC", "MCC", "MCCC", "CM", '\0'}; char tysiace[12][255] = {" ", "M", "MM", "MMM", '\0'}; cout<<"Wybierz 1 dla konwersji arabska->rzymska i 2 dla rzymska->arabska: "; int wybor=0; cin>>wybor; if(wybor==1){ cout<<"Podaj cyfre arabska (nie wieksza niz 3999): "; string a; int cyfra=0; int len; while(!cyfra){ // sprawdzenie czy podana jest liczba cin>>a;//wczytuje liczbe do stringa len = a.length(); //dlugosc stringa, czyli ilosc cyfr w liczbie cyfra = atoi(a.c_str());//string do char i char do int. } int* temp = new int[len];//tablica o dlugosci cyfr w liczbie int i=len-1;// iterator pomniejszony o jeden (zaczynamy od o tablica) int modul=10;// dzielenie przez 10 do { temp[i] = cyfra%modul; cyfra = cyfra/modul; i--; } while (cyfra>0); //petla przepisuje po jednej cyfrze z liczby i wrzuca je do tablicy cout<<"Liczba arabska zapisana w systemie rzymskim: "; //4 mozliwosci dlugosci liczby, wiec 4 ify. Mozna to zrobic tez petla. if(len == 4) cout<<tysiace[temp[0]]<<setki[temp[1]]<<dziesiatki[temp[2]]<<jednosci[temp[3]]; if(len == 3) cout<<setki[temp[0]]<<dziesiatki[temp[1]]<<jednosci[temp[2]]; if(len == 2) cout<<dziesiatki[temp[0]]<<jednosci[temp[1]]; if(len == 1) cout<<jednosci[temp[0]]; delete [] temp; } if(wybor==2){ string a; cout<<"Podaj cyfre w systemie rzymskim: "; cin>>a; int element=0, wynik=0, temp=0; for (int i=0;i<a.length();++i) { element = trans(a.at(i)); if(i<a.length()-1){ temp=trans(a.at(i+1)); } if (temp>element) { element =0-element; } wynik=element+wynik; } cout<<wynik; } return 0; } |
Oj daaawnoo mnie tu nie było. Ale wakacje to był czas dużej liczby intensywnych wyjazdów i tak naprawdę, dopiero jakoś… Read More
Cześć! Zapraszam na krótkie podsumowanie kwietnia. Wyjazd do Niemiec A dokładniej pod granicę z Francją. Chrześnica miała pierwszą komunię. Po… Read More
Ostatnio tygodnie były tak bardzo wypełnione, że nie udało mi się napisać nawet krótkiego podsumowanie. Więc dziś zbiorczo podsumuję luty… Read More
Zapraszam na krótkie podsumowanie miesiąca. Książki W styczniu przeczytałem "Homo Deus: Historia jutra". Książka łudząco podoba do wcześniejszej książki tego… Read More
Cześć! Zapraszam na podsumowanie roku 2023. Książki Zacznijmy od książek. W tym roku cel 35 książek nie został osiągnięty. Niemniej… Read More
Zapraszam na krótkie podsumowanie miesiąca. Książki W grudniu skończyłem czytać Mein Kampf. Nudna książka. Ciekawsze fragmenty można by było streścić… Read More