Dla ośmiu przypadków testowych kod nie działa. Nie mogę ich odnaleźć. Mógłby ktoś mi pomóc?
#include <iostream>
using namespace std;
void rowne(string l1,string l2)
{
int a=l1.size(),b=l2.size();
bool tak= true;
if(a!=b)
tak=false;
else
{
for (int i=0; i<a; i++)
if((int)l1[i]!=(int)l2[i])
{
tak=false;
break;
}
}
if (tak == true)
cout<< "TAK";
else cout<<"NIE";
}
void rozne(string l1,string l2)
{
int a=l1.size(),b=l2.size();
bool tak= true;
if(a!=b)
tak=false;
else
{
for (int i=0; i<a; i++)
if((int)l1[i]!=(int)l2[i])
{
tak=false;
break;
}
}
if (tak == false)
cout<< "TAK";
else cout<<"NIE";
}
void mniejsze(string l1,string l2)
{
int a=l1.size(),b=l2.size(),w=0;
bool tak= true;
if(a!=b)
{
if (a>b)
tak=false;
}
else
{
for (int i=0; i<a; i++)
{if((int)l1[i]>(int)l2[i])
{
tak=false;
}
else if ((int)l1[i]==(int)l2[i])
w++;}
if (w==a)
tak= false;
}
if (tak == true)
cout<< "TAK";
else cout<<"NIE";
}
void wieksze(string l1,string l2)
{
int a=l1.size(),b=l2.size(),w=0;
bool tak= true;
if(a!=b)
{
if (a<b)
tak=false;
}
else
{
for (int i=0; i<a; i++)
{if((int)l1[i]<(int)l2[i])
{
tak=false;
}
else if ((int)l1[i]==(int)l2[i])
w++;}
if (w==a)
tak= false;
}
if (tak == true)
cout<< "TAK";
else cout<<"NIE";
}
void wieksze_r(string l1,string l2)
{
int a=l1.size(),b=l2.size();
bool tak= true;
if(a!=b)
{
if (a<b)
tak=false;
}
else
{
for (int i=0; i<a; i++)
if((int)l1[i]<(int)l2[i])
{
tak=false;
break;
}
}
if (tak == true)
cout<< "TAK";
else cout<<"NIE";
}
void mniejsze_r(string l1,string l2)
{
int a=l1.size(),b=l2.size();
bool tak= true;
if(a!=b)
{
if (a>b)
tak=false;
}
else
{
for (int i=0; i<a; i++)
if((int)l1[i]>(int)l2[i])
{
tak=false;
}
}
if (tak == true)
cout<< "TAK";
else cout<<"NIE";
}
int main()
{
string l1,l2,znak;
cin>> l1>>znak>>l2;
if (znak=="==")
rowne(l1,l2);
if (znak=="!=")
rozne(l1,l2);
if (znak=="<")
mniejsze(l1,l2);
if (znak==">")
wieksze(l1,l2);
if (znak==">=")
wieksze_r(l1,l2);
if (znak=="<=")
mniejsze_r(l1,l2);
return 0;
}