Pagini recente » Monitorul de evaluare | Rezultatele filtrării | Cod sursa (job #1406764) | Cod sursa (job #2680914) | Cod sursa (job #283971)
Cod sursa(job #283971)
#include<fstream.h>
int rest(int x[],int nr)
{
int j,t=0;
for (j=x[0];j>=1;j--)
t=(t*10+x[j])%nr;
return t;
}
int zero(int x[])
{
int j;
for (j=x[0];j>=0;j--)
x[j]=0;
return 1;
}
int main()
{
char x,z,y;
int ss,s,uc,xn,cn,a[10][5],n[200],i,r[10]={1,1,4,4,2,1,1,4,4,2};
ifstream f("cifra.in");
ofstream g("cifra.out");
a[2][0]=6; a[3][0]=1; a[4][1]=4; a[7][0]=1; a[8][0]=8; a[9][0]=1;
a[2][1]=2; a[3][1]=3; a[4][0]=6; a[7][1]=7; a[8][1]=4; a[9][1]=9;
a[2][2]=4; a[3][2]=9; a[7][2]=9; a[8][2]=2;
a[2][3]=8; a[3][3]=7; a[7][3]=3; a[8][3]=6;
f>>ss;
i=0;
s=0;
zero(n);
while (!f.eof())
{
while (z>='0'&&x<='9')
{
n[0]++;
n[n[0]]=z-'0';
y=z;
f.get(z);
}
if (z=='\n') {uc=y-'0';
if(uc==0) cn=uc;
else if(uc==1) cn=uc;
else if(uc==6) cn=uc;
else if(uc==5) cn=uc;
else uc=a[uc][rest(n,r[uc])];
zero(n);
i=0;
}
s+=uc;
f.get(z);
}
s%=10;
g<<s;
f.close();
g.close();
return 0;
}