#include <bits/stdc++.h>
using namespace std;
string dodaj(string liczba1, string liczba2, int podstawa){//dodawanie liczb naturalnych w systemie o podstawie od 2 do 10
string suma="";
int s;
int cyfra1, cyfra2;
int przeniesienie = 0;
while (liczba1.size() != liczba2.size()){
if (liczba1.size() < liczba2.size()) liczba1 = '0' + liczba1;
else liczba2 = '0' + liczba2;
}
for(int i = liczba1.size() - 1; i >= 0; i--){
cyfra1 = liczba1[i] - '0';
cyfra2 = liczba2[i] - '0';
s = cyfra1 + cyfra2 + przeniesienie;
suma = char(s % podstawa + '0') + suma;
przeniesienie = s / podstawa;
}
if(przeniesienie > 0) suma = char(przeniesienie + '0') + suma;
return suma;
}
int main() {
ios_base::sync_with_stdio(0);
string liczba1, liczba2;
cin >> liczba1 >> liczba2;
cout << dodaj(liczba1, liczba2,10);
return 0;
}
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 | #include <bits/stdc++.h> using namespace std; string dodaj(string liczba1, string liczba2, int podstawa){//dodawanie liczb naturalnych w systemie o podstawie od 2 do 10 string suma=""; int s; int cyfra1, cyfra2; int przeniesienie = 0; while (liczba1.size() != liczba2.size()){ if (liczba1.size() < liczba2.size()) liczba1 = '0' + liczba1; else liczba2 = '0' + liczba2; } for(int i = liczba1.size() - 1; i >= 0; i--){ cyfra1 = liczba1[i] - '0'; cyfra2 = liczba2[i] - '0'; s = cyfra1 + cyfra2 + przeniesienie; suma = char(s % podstawa + '0') + suma; przeniesienie = s / podstawa; } if(przeniesienie > 0) suma = char(przeniesienie + '0') + suma; return suma; } int main() { ios_base::sync_with_stdio(0); string liczba1, liczba2; cin >> liczba1 >> liczba2; cout << dodaj(liczba1, liczba2,10); return 0; } |
English