Pagini recente » Cod sursa (job #3236976) | Cod sursa (job #1532472) | Cod sursa (job #2826861) | Cod sursa (job #769874) | Cod sursa (job #67780)
Cod sursa(job #67780)
#include <fstream>
std::ifstream f1("sarpe.in");
std::ofstream f2("sarpe.out");
int main()
{
char temp;
int i=0, rest=0, nr[1100], j, rest2;
f1>>temp;
while (!f1.eof())
{
i++;
switch (temp)
{
case '0' : nr[i]=0;break;
case '1' : nr[i]=1;break;
case '2' : nr[i]=2;break;
case '3' : nr[i]=3;break;
case '4' : nr[i]=4;break;
case '5' : nr[i]=5;break;
case '6' : nr[i]=6;break;
case '7' : nr[i]=7;break;
case '8' : nr[i]=8;break;
case '9' : nr[i]=9;break;
}//switch
f1>>temp;
}//while
for (j=i; j>0; j--)
{
rest2=(nr[j]*4+rest)/10;
nr[j]=(nr[j]*4+rest)%10;
rest=rest2;
}//for i
nr[0]=rest;
if (!((i==1)&&(nr[i]==8)&&(nr[0]==0)))
{
rest=(nr[i]+8)/10;
nr[i]=(nr[i]+8)%10;
// rest2=(nr[i-1]+1+rest)/10;
// nr[i-1]=(nr[i-1]+1+rest)%10;
// rest=rest2;
j=i-1;
while ((rest>0)&&(j>=0))
{
rest2=(nr[j]+rest)/10;
nr[j]=(nr[j]+rest)%10;
rest=rest2;
j--;
}//while
if (rest!=0)
{
f2<<rest;
for (j=0; j<=i; j++)
f2<<nr[j];
}//if
else
{
if (nr[0]!=0)
f2<<nr[0];
for (j=1; j<=i; j++)
f2<<nr[j];
}// else
}
else
{
if (nr[0]!=0)
f2<<nr[0];
for (j=1; j<=i; j++)
f2<<nr[j];
}// else
f2<<"\n";
f1.close();
f2.close();
return 0;
}//main