Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <string.h>
- #include <stdlib.h>
- #include <stdio.h>
- using namespace std;
- int main()
- {
- int bin1[254];
- int bin2[254];
- int obin1[254];
- int obin2[254];
- int soucet[254];
- char cbin1[253];
- char cbin2[253];
- bool isgood = false;
- cout << "Zadejte dve binarni cisla:" << endl;
- cin >> cbin1;
- cout << "";
- cin >> cbin2;
- for (int i = 0; i < strlen(cbin1) - 1; i++) {
- if (cbin1[i] == '0' || cbin1[i] == '1') {
- }
- else { isgood = true; }
- }
- for (int i = 0; i < strlen(cbin2) - 1; i++) {
- if (cbin2[i] == '0' || cbin2[i] == '1') {
- }
- else { isgood = true; }
- }
- if (isgood == false) {
- for (int i = 0; i < strlen(cbin1); i++) {
- bin1[i] = cbin1[i] - '0';
- }
- for (int i = 0; i < strlen(cbin2); i++) {
- bin2[i] = cbin2[i] - '0';
- }
- int y = strlen(cbin1);
- int z = strlen(cbin2);
- int k = 0;
- int l = 0;
- for(int i = y - 1; i >= 0; i--) {
- obin1[k] = bin1[i];
- k++;
- }
- for(int i = z - 1; i >= 0; i--) {
- obin2[l] = bin2[i];
- l++;
- }
- int q;
- int x;
- int rozdil = y - z;
- if(strlen(cbin1) >= strlen(cbin2)) {x = strlen(cbin1);}
- if(strlen(cbin1) < strlen(cbin2)) {x = strlen(cbin2);}
- if(rozdil > 0) {
- for(int i = z; i < z + rozdil; i++) {
- obin2[i] = 0;
- }
- }
- else if(rozdil < 0) {
- rozdil = abs(rozdil);
- for(int i = y; i < y + rozdil; i++) {
- obin1[i] = 0;
- }
- }
- q = x;
- int zbytek = 0;
- for(int a = 0; a < x; a++) {
- if(obin1[a] + obin2[a] == 0) {
- soucet[a] = 0 + zbytek;
- zbytek = 0;
- }
- else if(obin1[a] + obin2[a] == 1) {
- if(zbytek == 0) {
- soucet[a] = 1;
- zbytek = 0;
- }
- else if(zbytek == 1) {
- soucet[a] = 0;
- zbytek = 1;
- }
- }
- else if(obin1[a] + obin2[a] == 2) {
- if(zbytek == 0) {
- soucet[a] = 0;
- zbytek = 1;
- }
- else if(zbytek == 1) {
- soucet[a] = 1;
- zbytek = 1;
- }
- }
- }
- if (zbytek == 1) {q++;}
- cout << "Soucet: ";
- int b = 1;
- if(q > x) {
- cout << b;
- for(int i = x - 1; i >= 0; i--) {
- cout << soucet[i];
- }
- }
- if(q == x) {
- for(int i = x - 1; i >= 0; i--) {
- if(soucet[i] == 0) { continue; }
- else if (soucet[i] == 1) {
- for(int h = i; h >= 0; h--) {
- cout << soucet[h];
- }
- break;
- }
- }
- }
- }
- else { cout << "Nespravny vstup."; }
- cout << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement