URMATORUL ALGORITM SE APLICA PENTRU TOATE ACESTE PROBLEME SI SE FOLOSESTE ASTFEL:
1. INTRODUCI NUMARUL APOI UN SPATIU SI APOI BAZA IN CARE E
ex: 12 10
2. INTRODUCI BAZA IN CARE VREI SA FIE CONVERTIT, APOI APESI ENTER SI TI SE VA AFISA REZULTATUL
#include<iostream>
#include<cstring>
using namespace std;
void conv(char s[20], int b1, int b2) {
int k = 0, r, nr, n = 0, b = 1;
for (int i = strlen(s) - 1; i >= 0; i--) {
if (s[i] >= 'A' && s[i] <= 'Z')
nr = s[i] - '0' - 7;
else
nr = s[i] - '0';
n = nr * b + n;
b = b * b1;
}
while (n != 0) {
r = n % b2;
nr = '0' + r;
if (nr > '9')
nr += 7;
s[k] = nr;
k++;
n = n / b2;
}
for (int i = k - 1; i >= 0; i--)
cout << s[i];
}
int main() {
char s[20];
int b1, b2;
cout << "numarul urmat de baza: ";
cin.get(s, 20, ' '), cin.get(), cin >> b1;
cout << "baza in care sa fie convertit: ";
cin >> b2;
conv(s, b1, b2);
}