#include #include #include int main(void) { char *vstup; char *poles[100]; int pocslov = 0; char vysl[10]; int index = 0; int nula=0; int x,poz; int i; int pom; for (x=0; x<100; x++) poles[x] = (char *) malloc(100); for(x=0;x<10;x++){ vysl[x]=' '; } gets(vstup); while (strlen(vstup)!=0) { pocslov = 0; index = 0; nula=0; /* for (x=0; x<100; x++) poles[x] = (char *) malloc(100);*/ for(x=0;x<10;x++){ vysl[x]=' '; } i=0; while (i1) pocslov--; } if (strcmp(poles[pocslov-1],"two")==0) { vysl[index]='2'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"there")==0) { vysl[index]='3'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"four")==0) { vysl[index]='4'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"five")==0) { vysl[index]='5'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"six")==0) { vysl[index]='6'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"seven")==0) { vysl[index]='7'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eight")==0) { vysl[index]='8'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"nine")==0) { vysl[index]='9'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"ten")==0) { vysl[index]='0'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eleven")==0) { vysl[index]='1'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"twelve")==0) { vysl[index]='2'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"thirteen")==0) { vysl[index]='3'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"fourtheen")==0) { vysl[index]='4'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"fifteen")==0) { vysl[index]='5'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"sixteen")==0) { vysl[index]='6'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"seventeen")==0) { vysl[index]='7'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eighteen")==0) { vysl[index]='8'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"nineteen")==0) { vysl[index]='9'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } /*-------------------------- */ if (strcmp(poles[pocslov-1],"twenty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='2'; index++; } else { vysl[index]='2'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"thirty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='3'; index++; } else { vysl[index]='3'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"forty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='4'; index++; } else { vysl[index]='4'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"fifty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='5'; index++; } else { vysl[index]='5'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"sixty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='6'; index++; } else { vysl[index]='6'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"seventy")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='7'; index++; } else { vysl[index]='7'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"eighty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='8'; index++; } else { vysl[index]='8'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"ninety")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='9'; index++; } else { vysl[index]='9'; index++; } if (pocslov>1) pocslov--; nula=2; } /*100------------*/ if (strcmp(poles[pocslov-1],"hundred")==0) { if (pocslov>1) pocslov--; if (nula==0) { vysl[index]='0'; index++; vysl[index]='0'; index++; } else { if (nula==1) { vysl[index]='0'; index++; } } if (strcmp(poles[pocslov-1],"one")==0) { vysl[index]='1'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"two")==0) { vysl[index]='2'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"there")==0) { vysl[index]='3'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"four")==0) { vysl[index]='4'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"five")==0) { vysl[index]='5'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"six")==0) { vysl[index]='6'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"seven")==0) { vysl[index]='7'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eight")==0) { vysl[index]='8'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"nine")==0) { vysl[index]='9'; index++; nula=1; if (pocslov>1) pocslov--; } } else nula = 0; /*1000------------*/ if (strcmp(poles[pocslov-1],"thousand")==0) { if (pocslov>1) pocslov--; pom = 3-index; for (x=0; x< pom; x++) { vysl[index]='0'; index++; } if (strcmp(poles[pocslov-1],"one")==0) { vysl[index]='1'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"two")==0) { vysl[index]='2'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"there")==0) { vysl[index]='3'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"four")==0) { vysl[index]='4'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"five")==0) { vysl[index]='5'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"six")==0) { vysl[index]='6'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"seven")==0) { vysl[index]='7'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eight")==0) { vysl[index]='8'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"nine")==0) { vysl[index]='9'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"ten")==0) { vysl[index]='0'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eleven")==0) { vysl[index]='1'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"twelve")==0) { vysl[index]='2'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"thirteen")==0) { vysl[index]='3'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"fourtheen")==0) { vysl[index]='4'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"fifteen")==0) { vysl[index]='5'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"sixteen")==0) { vysl[index]='6'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"seventeen")==0) { vysl[index]='7'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eighteen")==0) { vysl[index]='8'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"nineteen")==0) { vysl[index]='9'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } /*-------------------------- */ if (strcmp(poles[pocslov-1],"twenty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='2'; index++; } else { vysl[index]='2'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"thirty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='3'; index++; } else { vysl[index]='3'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"forty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='4'; index++; } else { vysl[index]='4'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"fifty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='5'; index++; } else { vysl[index]='5'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"sixty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='6'; index++; } else { vysl[index]='6'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"seventy")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='7'; index++; } else { vysl[index]='7'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"eighty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='8'; index++; } else { vysl[index]='8'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"ninety")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='9'; index++; } else { vysl[index]='9'; index++; } if (pocslov>1) pocslov--; nula=2; } /*100------------*/ if (strcmp(poles[pocslov-1],"hundred")==0) { if (pocslov>1) pocslov--; if (nula==0) { vysl[index]='0'; index++; vysl[index]='0'; index++; } else { if (nula==1) { vysl[index]='0'; index++; } } if (strcmp(poles[pocslov-1],"one")==0) { vysl[index]='1'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"two")==0) { vysl[index]='2'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"there")==0) { vysl[index]='3'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"four")==0) { vysl[index]='4'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"five")==0) { vysl[index]='5'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"six")==0) { vysl[index]='6'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"seven")==0) { vysl[index]='7'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eight")==0) { vysl[index]='8'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"nine")==0) { vysl[index]='9'; index++; nula=1; if (pocslov>1) pocslov--; } } else nula = 0; } /* 1 000 000 --------------*/ if (strcmp(poles[pocslov-1],"million")==0) { if (pocslov>1) pocslov--; pom = 6-index; for (x=0; x< pom; x++) { vysl[index]='0'; index++; } if (strcmp(poles[pocslov-1],"one")==0) { vysl[index]='1'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"two")==0) { vysl[index]='2'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"there")==0) { vysl[index]='3'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"four")==0) { vysl[index]='4'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"five")==0) { vysl[index]='5'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"six")==0) { vysl[index]='6'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"seven")==0) { vysl[index]='7'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eight")==0) { vysl[index]='8'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"nine")==0) { vysl[index]='9'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"ten")==0) { vysl[index]='0'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eleven")==0) { vysl[index]='1'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"twelve")==0) { vysl[index]='2'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"thirteen")==0) { vysl[index]='3'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"fourtheen")==0) { vysl[index]='4'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"fifteen")==0) { vysl[index]='5'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"sixteen")==0) { vysl[index]='6'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"seventeen")==0) { vysl[index]='7'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eighteen")==0) { vysl[index]='8'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"nineteen")==0) { vysl[index]='9'; index++; vysl[index]='1'; index++; nula=2; if (pocslov>1) pocslov--; } /*-------------------------- */ if (strcmp(poles[pocslov-1],"twenty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='2'; index++; } else { vysl[index]='2'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"thirty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='3'; index++; } else { vysl[index]='3'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"forty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='4'; index++; } else { vysl[index]='4'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"fifty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='5'; index++; } else { vysl[index]='5'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"sixty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='6'; index++; } else { vysl[index]='6'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"seventy")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='7'; index++; } else { vysl[index]='7'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"eighty")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='8'; index++; } else { vysl[index]='8'; index++; } if (pocslov>1) pocslov--; nula=2; } if (strcmp(poles[pocslov-1],"ninety")==0) { if (nula==0) { vysl[index]='0'; index++; vysl[index]='9'; index++; } else { vysl[index]='9'; index++; } if (pocslov>1) pocslov--; nula=2; } /*100------------*/ if (strcmp(poles[pocslov-1],"hundred")==0) { if (pocslov>1) pocslov--; if (nula==0) { vysl[index]='0'; index++; vysl[index]='0'; index++; } else { if (nula==1) { vysl[index]='0'; index++; } } if (strcmp(poles[pocslov-1],"one")==0) { vysl[index]='1'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"two")==0) { vysl[index]='2'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"there")==0) { vysl[index]='3'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"four")==0) { vysl[index]='4'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"five")==0) { vysl[index]='5'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"six")==0) { vysl[index]='6'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"seven")==0) { vysl[index]='7'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"eight")==0) { vysl[index]='8'; index++; nula=1; if (pocslov>1) pocslov--; } if (strcmp(poles[pocslov-1],"nine")==0) { vysl[index]='9'; index++; nula=1; if (pocslov>1) pocslov--; } } else nula = 0; } if (strcmp(poles[0],"zero")==0) { vysl[index]='0'; index++; } if (strcmp(poles[0],"negativ")==0) { vysl[index]='-'; index++; } for(x=index-1;x>=0;x--){ printf("%c",vysl[x]); } printf("\n"); gets(vstup); } return 0; }