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; } |
Cześć! W Pythonie 3.13 dodano JITa! JIT, czyli just-in-time compiler to optymalizacja na która Python naprawdę długo czekał. Na nasze… Read More
Cześć! Zapraszam na podsumowanie roku 2024. Książki W sumie rok 2024 był pod względem ilości książek nieco podobny do roku… Read More
Podtrzymując tradycję, prawie regularnych podsumowań, zapraszam na wpis! Nie mogło obyć się bez Karkonoszy We wrześniu odwiedziłem z kolegą Karkonosze,… Read More
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