Pagini recente » Cod sursa (job #1412333) | Cod sursa (job #2456055) | Cod sursa (job #1604620) | Cod sursa (job #2084260) | Cod sursa (job #386267)
Cod sursa(job #386267)
#include <stdio.h>
FILE*f=fopen("ecuatii2.in","r");
FILE*g=fopen("ecuatii2.out","w");
int n,i,semn,nr,st,stx,existaxst,dr,existaxdr,drx;
char ch;
double sol;
void solve(){
if(!drx && !stx && st==dr){
fprintf(g,"infinit\n");
return;
}
if(drx==stx && st==dr){
fprintf(g,"infinit\n");
return;
}
stx=stx-drx;
st=st-dr;
if(!stx){
fprintf(g,"imposibil\n");
return;
}
sol= (double)(st*-1)/(double)stx;
fprintf(g,"%.4lf\n",sol);
}
int main(){
fscanf(f,"%D",&n);
fscanf(f,"%c",&ch);
for(i=1;i<=n;i++){
existaxst=existaxdr=0;
dr=st=0;
drx=stx=0;
nr=0;
semn=1;
while(ch!='='){
fscanf(f,"%c",&ch);
if(ch >= '0' && ch <= '9'){
if(!nr) nr=ch-48;
else
nr=nr*10+(ch-48);
}
if(ch =='-'){ // -
st+= semn*nr;
semn =-1;
nr =0;
}
else if(ch=='+'){ // +
st+= semn*nr;
semn =1;
nr =0;
}
if(ch=='x'){ // x
existaxst=1;
if (!nr) nr=1;
stx+=nr*semn;
nr=0;
}
}
st+= semn*nr;
nr=0;
semn=1;
while(ch!='\n'){
fscanf(f,"%c",&ch);
if(ch >= '0' && ch <= '9'){
if(!nr) nr=ch-48;
else
nr=nr*10+(ch-48);
}
if(ch =='-'){
dr+= semn*nr;
semn =-1;
nr =0;
}
else if(ch=='+'){
dr+= semn*nr;
semn =1;
nr =0;
}
if(ch=='x'){
existaxdr=1;
if (!nr) nr=1;
drx+=nr*semn;
nr=0;
}
}
dr+= semn*nr;
solve();
}
fclose(f);
fclose(g);
return 0;
}