Cod sursa(job #1229337)

Utilizator Alex_dudeDudescu Alexandru Alex_dude Data 16 septembrie 2014 22:57:16
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <string.h>
using namespace std;
 ifstream f("cifra.in");
 ofstream g("cifra.out");
int x[100]=
{1,4,7,6,5,6,7,6,9,0,
1,6,3,6,5,6,7,2,9,0,
1,4,3,6,5,6,3,6,9,0,
1,6,7,6,5,6,7,4,9,0,
1,8,3,6,5,6,7,6,9,0,
1,6,3,6,5,6,3,4,9,0};
int n;
char a[101];

void scadere (char nr[100])
{int i=1;
  if(nr[strlen(nr)-1]-'0'-1>0)nr[strlen(nr)-1]=nr[strlen(nr)-1]-1;
  else {while(nr[strlen(nr)-i]-'0'==0&&i<strlen(nr))
  {nr[strlen(nr)-i]='9';i++;}
  nr[strlen(nr)-i]-=1;
  }
  if(nr[0]=='0'&&nr[1]>0){nr[0]=nr[1];nr[1]=0;}
}
int main()
{
 int j=0;
 short sum;
 f>>n;
 f.get();
 for(int i=1;i<=n;i++ )
 {
     f.getline(a,101);
     sum=0;
     j=0;
     while(a[0]!='0')
     {
         if(j==99)j=0;
         sum+=x[j];
         sum= sum %10;
         j++;

         scadere(a);
     }
     g<<sum<<'\n';
 }
    return 0;
}