Guest User

Untitled

a guest
Mar 26th, 2013
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.02 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main() {
  4.  
  5.     int n,h,h2,h3=0,ok,h4,size=0;
  6.     int A[100000][3];//r,c,art(0..R23C55 Ausgabe; 1...BC23 Ausgabe
  7.     char T[15];
  8.     char R,C,dummy;
  9.     int r,c;
  10.     scanf("%d",&n);
  11.     getchar();
  12. //Einlesen
  13.     for(h=0; h<n; h++) {
  14.         for(h4=0; h4<15; h4++)T[h4]='-';
  15.         size=0;
  16.         while((dummy=getchar())!='\n') {
  17.             T[size]=dummy;
  18.             size++;
  19.         }
  20.         ok=sscanf(T,"%c%d%c%d",&R,&r,&C,&c);
  21.         if(ok==4 && R=='R' && C=='C') {
  22.             A[h][0]=r;
  23.             A[h][1]=c;
  24.             A[h][2]=1;
  25.         } else {
  26.             A[h][2]=0;
  27.             //printf(";;;;;%d-%d\n",size,'-');
  28.             for(h2=size-1; h2>=0; h2--) {
  29.                 if(T[h2]!='-'&&T[h2]!='\n') {
  30.                     if(T[h2]<='9'&&T[h2]>='0') {
  31. //                            printf("ah1: %d h2: %d, h3: %d, T[h2]:%c\n",A[h][0],h2,h3,T[h2]);
  32.                         A[h][0]+=(T[h2]-'0')*(int)pow(10,h3);
  33. //                            printf("\t%d-%d\n",(T[h2]-'0')*(int)pow(10,h3),(int)pow(10,h3));
  34.                         h3++;
  35.                         if(T[h2-1]>'9')h3=0;
  36.                     }
  37.                     if(T[h2]>'9') {
  38. //                            printf(";ah1: %d h2: %d, h3: %d, T[h2]:%c\n",A[h][1],h2,h3,T[h2]);
  39. //                            printf("\t%d\n",(T[h2]-'A'+1)*(int)pow(26,h3));
  40.                         A[h][1]+=(T[h2]-'A'+1)*(int)pow(26,h3);
  41.                         h3++;
  42.                     }
  43.                 }
  44.             }
  45.         }
  46.     }
  47. //Ausgeben
  48.     //printf("......%d - %d\n",A[0][0],A[0][1]);
  49.     //printf("......%d - %d\n",A[1][0],A[1][1]);
  50.     for(h=0; h<n; h++) {
  51.         if(h>0)putchar('\n');
  52.         if(A[h][2]) {
  53.  
  54.             while(A[h][1]>26) {
  55.                 printf("%c",A[h][1]/26+'A'-1);
  56.                 A[h][1]%=26;
  57.             }
  58.             printf("%c",A[h][1]+'A'-1);
  59.             printf("%d",A[h][0]);
  60.         } else {
  61.             printf("R%dC%d",A[h][0],A[h][1]);
  62.         }
  63.     }
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment