Cześć, mam problem z zadaniem ze SPOJA (https://pl.spoj.com/problems/KC015/). Napisałem program który u mnie działa jak należy, ale SPOJ odrzuca mi go z powodu "Błędnej Odpowiedzi". Wie ktoś o co chodzi?
Mój kod:
#include <iostream>
using namespace std;
int p;
void rowna(string liczba1, string liczba2)
{
if(liczba1.length()==liczba2.length())
{
for(int i=0; i<liczba1.length();i++)
{
if(liczba1[i]!=liczba2[i])
{
p=1;
}
}
if(p==1)cout<<"0"<<endl;
else cout<<"1"<<endl;
}
else cout<<"0"<<endl;
}
void wieksza(string liczba1, string liczba2)
{
if(liczba1.length()>=liczba2.length())
{
for(int i=0; i<liczba1.length();i++)
{
if(liczba1[i]<liczba2[i])
{
if(p==0)
{
p=1;
}
}
}
if(p==1)cout<<"0"<<endl;
else cout<<"1"<<endl;
}
else cout<<"0"<<endl;
}
void mniejsza(string liczba1, string liczba2)
{
if(liczba1.length()<=liczba2.length())
{
for(int i=0; i<liczba1.length();i++)
{
if(liczba1[i]>liczba2[i])
{
if(p==0)
{
p=1;
}
}
}
if(p==1)cout<<"0"<<endl;
else cout<<"1"<<endl;
}
else cout<<"0"<<endl;
}
int main()
{
string liczba1,znak,liczba2;
while(cin>>liczba1>>znak>>liczba2)
{
p=0;
if(znak=="==")
{
rowna(liczba1, liczba2);
}
else if(znak==">=")
{
wieksza(liczba1,liczba2);
}
else
{
mniejsza(liczba1,liczba2);
}
}
return 0;
}