Číselné sústavy

Vytvorte program ktorý using namespace std; int main { 	// nacitanie informacii string cislo; cout << "Zadaj cislo: "; getline(cin, cislo); int sustavaZ; cout << "V akej je sustave: "; cin >> sustavaZ; int sustavaDo; cout << "Do akej sustavy ho treba: "; cin >> sustavaDo; // prevod do desiatkovej int cislo10 = 0; if (sustavaZ == 10) { 		// uz je v 10 sustave stringstream s; 		s << cislo; s >> cislo10; } 	else { 		for (int cisloSize = cislo.size, i = cisloSize - 1; i >= 0; --i) { 			// tato cifra short cifra; stringstream s; 			s << cislo[i]; s >> cifra; // nasobenie a pocitanie cislo10 += cifra * pow(sustavaZ, (cisloSize - 1) - i); } 	} 	// prevod do ziadanej string vysledok; if (sustavaDo == 10) { 		// uz je v 10 sustave stringstream s; 		s << cislo10; s >> vysledok; } 	else { 		string temp; // delenie a zapisovanie while (cislo10 > 0) { 			int zvysok = cislo10 % sustavaDo; cislo10 /= sustavaDo; // zapis zvysku if (zvysok < 10) temp.push_back((char)((int)'0' + zvysok)); else temp.push_back((char)((int)'A' + (zvysok - 10))); } 		// prevratenie vysledok.resize(temp.size); for (unsigned i = 0, imax = temp.size; i < imax; ++i) vysledok[i] = temp[imax - i - 1]; } 	// vysledok cout << "Prevedene cislo: " << vysledok; cin.ignore; cin.get; return 0; }
 * urobí prevod čísla z 2 do 10 sústavy
 * urobí prevod z ľubovoľnej sústavy do 10
 * vysvetlite použitý algoritmus a použité údajové typy
 * 1) include
 * 2) include
 * 3) include
 * 4) include