Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- #include <cmath>
- using namespace std;
- int main(){
- int zbytek=0;
- string bin1, bin2 , vysledek,beznul;
- cout << "Zadejte dve binarni cisla:" << endl;
- cin >> bin1 >> bin2;
- if (cin.fail()){
- cout <<"Nespravny vstup." << endl;
- return 0;}
- while (bin1.size() != bin2.size())
- {
- if (bin1.size() < bin2.size())
- bin1 = "0" + bin1;
- if (bin1.size() > bin2.size())
- bin2 = "0" + bin2;
- }
- for (unsigned int i = 0; i<=bin1.size() - 1;i++)
- {
- if (bin1[i] != '1' && bin1[i] != '0')
- {
- cout <<"Nespravny vstup." << endl;
- return 0;
- }
- }
- for (unsigned int j =0; j<= bin2.size() - 1;j++)
- {
- if (bin2[j] != '1' && bin2[j] != '0')
- {
- cout <<"Nespravny vstup." << endl;
- return 0;
- }
- }
- for (int g = bin1.size() - 1; g >= 0; g--)
- {
- if((bin1[g]-48)+(bin2[g]-48)+zbytek==3)
- {
- vysledek='1'+ vysledek;
- zbytek=1;
- }
- else
- if((bin1[g]-48)+(bin2[g]-48)+zbytek==2)
- {
- vysledek='0'+ vysledek;
- zbytek=1;
- }
- else
- if((bin1[g]-48)+(bin2[g]-48)+zbytek==1)
- {
- vysledek='1'+ vysledek;
- zbytek=0;
- }
- else
- if((bin1[g]-48)+(bin2[g]-48)+zbytek==0)
- {
- vysledek='0' + vysledek;
- zbytek=0;
- }
- }
- if (zbytek == 1) { vysledek = '1' + vysledek; }
- cout << "Soucet: ";
- int i = 0;
- for (; i < (int)vysledek.size() - 1; i++ )
- {
- if ( vysledek[i] == '1') break;
- }
- beznul = vysledek.substr(i);
- cout << beznul << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement