DU2
VSB-PROGTEST = 10B
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
char b1[253];
char b2[253];
int v1,v2,pz1,pz2,delsi,m1,m2,k,pr1=0,p=0,pos1,pos2;
char s[255];
double pos;
for(int i=0;i<255;i++)
{
s[i]=32;
}
cout << "Zadejte dve binarni cisla:" << endl;
cin >> b1 >> b2;
v1=strlen(b1);
v2=strlen(b2);
pz1=v1-1;
pz2=v2-1;
for(int i=0;i<v1;i++)
{
if(b1[i]==48 || b1[i]==49)
{
}
else
{
cout << "Nespravny vstup." << endl;
return 0;
}
}
for(int i=0;i<v2;i++)
{
if(b2[i]==48 || b2[i]==49)
{
}
else
{
cout << "Nespravny vstup." << endl;
return 0;
}
}
for(int i=0;i<255;i++)
{
if(b1[i]==48||s[i]==49)
{
pos1=1;
}
}
for(int i=0;i<255;i++)
{
if(b2[i]==48||s[i]==49)
{
pos2=1;
}
}
if(pos1==1 && pos2==1)
{
}
else
{
cout << "Nespravny vstup." << endl;
return 0;
}
if(v1>=v2)
{
delsi=v1;
}
else
{
delsi=v2;
}
p=0;
k=254;
while(delsi>=0 || p==1)
{
if(pz1<0)
{
m1=0;
}
else
{
m1=b1[pz1]-48;
}
if(pz2<0)
{
m2=0;
}
else
{
m2=b2[pz2]-48;
}
if(m1+m2+p==0)
{
s[k]=0;
p=0;
}
else if(m1+m2+p==1)
{
s[k]=1;
p=0;
}
else if(m1+m2+p==2)
{
s[k]=0;
p=1;
}
else if(m1+m2+p==3)
{
s[k]=1;
p=1;
}
k--;
delsi--;
pz1--;
pz2--;
}
pos=0;
for(int i=0;i<255;i++)
{
if(s[i]==1) pos=1;
}
cout << "Soucet: ";
for(int i=0;i<255;i++)
{
if(s[i]==32)
{
}
else if(s[i]==1)
{
pr1=1;
cout << "1";
}
else if(s[i]==0&&pr1==1)
{
cout << "0";}
else if(pos==0)
{
cout << "0" << endl;
return 0;
}
}
cout << endl;
return 0;
}
´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´