Cod sursa(job #146156)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 1 martie 2008 11:45:41
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.58 kb
#include<fstream.h>
#include<string.h>
char  v[300][101];
int c,r,t,i,k=0,j;
int main()
{
ifstream f("cifra.in");
ofstream g("cifra.out");
 f>>t;
for(i=1;i<=t;i++)
 f>>v[i];
for(i=1;i<=t;i++)
 {j=strlen(v[i]);

  if(j==1)

  {r=v[i][j-1]-48; c=0;

  if((v[i][j-2]-48)%2==0)
  switch(r)
  { case 1:c+=1; break;
    case 2:c+=5; break;
    case 3:c+=2; break;
    case 4:c+=8; break;
    case 5:c+=3; break;
    case 6:c+=9; break;
    case 7:c+=2; break;
    case 8:c+=8; break;
    case 9:c+=7; break;
  }
  else
    switch(r)
     { case 1:c+=1; break;
       case 2:c+=7; break;
       case 4:c+=6; break;
       case 5:c+=1; break;
       case 6:c+=7; break;
       case 7:c+=4; break;
       case 8:c+=8; break;
       case 9:c+=7; break;
     }

   g<<c<<'\n';}

  else if(j==2)

  {r=v[i][j-1]-48; c=0;

  if((v[i][j-2]-48)%2==0)
  switch(r)
  { case 1:c+=1; break;
    case 2:c+=5; break;
    case 3:c+=2; break;
    case 4:c+=8; break;
    case 5:c+=3; break;
    case 6:c+=9; break;
    case 7:c+=2; break;
    case 8:c+=8; break;
    case 9:c+=7; break;
  }
  else
    switch(r)
     { case 1:c+=1; break;
       case 2:c+=7; break;
       case 4:c+=6; break;
       case 5:c+=1; break;
       case 6:c+=7; break;
       case 7:c+=4; break;
       case 8:c+=8; break;
       case 9:c+=7; break;
     }



  r=v[i][j-2]-48;


   switch(r)
    { case 1:c+=7; break;
      case 2:c+=4; break;
      case 3:c+=1; break;
      case 4:c+=8; break;
      case 5:c+=5; break;
      case 6:c+=2; break;
      case 7:c+=9; break;
      case 8:c+=6; break;
      case 9:c+=3; break;
    }
   g<<c<<'\n';}
  else
  {
  r=v[i][j-1]-48; c=0;

  if((v[i][j-2]-48)%2==0)
  switch(r)
  { case 1:c+=1; break;
    case 2:c+=5; break;
    case 3:c+=2; break;
    case 4:c+=8; break;
    case 5:c+=3; break;
    case 6:c+=9; break;
    case 7:c+=2; break;
    case 8:c+=8; break;
    case 9:c+=7; break;
  }
  else
    switch(r)
     { case 1:c+=1; break;
       case 2:c+=7; break;
       case 4:c+=6; break;
       case 5:c+=1; break;
       case 6:c+=7; break;
       case 7:c+=4; break;
       case 8:c+=8; break;
       case 9:c+=7; break;
     }



  r=v[i][j-2]-48;


   switch(r)
    { case 1:c+=7; break;
      case 2:c+=4; break;
      case 3:c+=1; break;
      case 4:c+=8; break;
      case 5:c+=5; break;
      case 6:c+=2; break;
      case 7:c+=9; break;
      case 8:c+=6; break;
      case 9:c+=3; break;
    }
  if((v[i][j-3]-48)%2==1) c+=5;
   g<<c<<'\n';}
 }
f.close();
g.close();
return 0;
}