#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; } |