#include #include #include #include using namespace std; // TLUMACZENIA string liczba_1[] = {"", "jeden", "dwa", "trzy", "cztery", "piec", "szesc", "siedem", "osiem", "dziewiec"}; string liczba_10[] = {"", "dziesiec", "dwadziescia", "trzydziesci", "czterdziesci", "piecdziesiat", "szescdziesiat", "siedemdziesiat", "osiemdziesiat", "dziewiecdziesiat"}; string liczba_100[] = {"", "sto", "dwiescie", "trzysta", "czterysta", "piecset", "szescset", "siedemset", "osiemset", "dziewiecset"}; string liczba_liczebnik[] = {"", "tys.", "mil.", "mld.", "bil.", "tri.", "asdasd", "asdasda"}; // FUNKCJA TLUMACZACA string translate(int k, int type) { string str = ""; switch (type) { case 0: { str = liczba_100[k]; break; } case 1: { str = liczba_10[k]; break; } case 2: { str = liczba_1[k]; break; } } return str; } int main() { cout << "podaj liczbe:" << endl; string str = ""; string oktstr[16] = ""; cin >> str; //str = "1234567"; int str_number; sscanf(str.c_str(), "%d", &str_number); int str_length = str.length(); cout << "wejscie: " << str << endl; cout << "ilosc znakow: " << str_length << endl; cout << "oktety: "; // PODZIAL STRINGA NA SUBSTRINGI W POSTACI OKTETOW int okt_count = 0; int spc = str_length%3; if (spc != 0) { oktstr[0] = str.substr(0, spc); cout << "[" << oktstr[okt_count] << "] "; okt_count++; } for (int i = spc; i < str_length; i += 3) { oktstr[okt_count] = str.substr(i, 3); cout << " [" << oktstr[okt_count] << "] "; okt_count++; } cout << endl; cout << "liczba oktetow: " << okt_count << endl; // ZAMIANA OKTETOW NA SLOWA //cout << endl; string ch; int nb; for (int i = 0; i < okt_count; i++) { cout << endl; int length = oktstr[i].length(); for (int it = 0; it < length; it++) { ch = oktstr[i].at(it); nb = atoi(ch.c_str()); cout << translate(nb, it + 3 - length) << endl; } cout << liczba_liczebnik[okt_count - i - 1] << endl; } return 0; }