Pagini recente » Cod sursa (job #529594) | Cod sursa (job #2405000) | Cod sursa (job #114142) | Cod sursa (job #722187) | Cod sursa (job #3164394)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ecuatii2.in");
ofstream fout("ecuatii2.out");
int x,y;
char s[260],k[260];
double rez;
int main()
{
int i,nr,semn,egal,n;
fin.getline(k,3);
for(i=0;k[i]!=NULL;i++)n=n*10+(k[i]-'0');
while(n)
{
x=y=0;
egal=semn=1;
fin.getline(s,255);
for(i=0;s[i]!=NULL;)
{
if(s[i]>='0' && s[i]<='9')
{
nr=0;
while(s[i]>='0' && s[i]<='9')
{
nr=nr*10+(s[i]-'0');
i++;
}
if(s[i]=='x')
{
x=x+semn*egal*nr;
i++;
}
else
{
y=y+semn*egal*nr;;
}
}
else if(s[i]=='x')
{
x=x+semn*egal;
i++;
}
else if(s[i]=='-')
{
semn=-1;
i++;
}
else if(s[i]=='+')
{
semn=1;
i++;
}
else if(s[i]=='=')
{
egal=-1;
if(s[i+1]!='-')semn=1;
i++;
}
}
cout<<x<<" "<<y;
if(x==0)
{
if(y==0)fout<<"infinit\n";
else fout<<"imposibil\n";
}
else fout<<setprecision(5)<<(double)-1*y/x<<"\n";
n--;
cout<<"\n";
}
return 0;
}