#include #include int main(void) { int x; char *pole[100]; int i = 0; int mod = 1; char *aux; int pom = 0; char s[1000], slovo[30]; for(i = 0; i < 100; i++) pole[i] = ""; pole[1] = "one"; pole[2] = "two"; pole[3] = "three"; pole[4] = "four"; pole[5] = "five"; pole[6] = "six"; pole[7] = "seven"; pole[8] = "eight"; pole[9] = "nine"; pole[10] = "ten"; pole[11] = "eleven"; pole[12] = "twelve"; pole[13] = "thirteen"; pole[14] = "fourteen"; pole[15] = "fifteen"; pole[16] = "sixteen"; pole[17] = "seventeen"; pole[18] = "eighteen"; pole[19] = "nineteen"; pole[20] = "twenty"; pole[30] = "thirty"; pole[40] = "forty"; pole[50] = "fifty"; pole[60] = "sixty"; pole[70] = "seventy"; pole[80] = "eighty"; pole[90] = "ninety"; while(1) { int in; mod = 1; pom = x = 0; i = 0; in = getchar(); while (in != '\n' && in != EOF) { s[i++] = in; in = getchar(); } if (in == EOF) return 0; s[i] = '\0'; aux = s; if (strcmp(aux,"") == 0) exit(0); x = 0; /* while ((slovo = najdi(&s)) != NULL) {*/ while(1) { while((*aux == ' ') && (*aux != 0)) aux++; if(*aux == 0) break; i = 0; while(*aux != ' ' && *aux != 0) { slovo[i++] = *aux; aux++; } slovo[i] = 0; if(strcmp(slovo, "negative") == 0) mod = -1; else if(strcmp(slovo, "hundred") == 0) { x *= 100; } else if(strcmp(slovo, "thousand") == 0) { x *= 1000; pom += x; x = 0; } else if(strcmp(slovo, "million") == 0) { x *= 1000000; pom = x; x = 0; } else { i = 0; while(i < 100 && (strcmp(pole[i], slovo) != 0)) i++; if (i != 100) x += i; } } pom += x; printf("%d\n", pom*mod); } return 0; }