# UVA Solution 486 – English-Number Translator -Solution in CPP

### UVA Solution 486 – English-Number Translator – Volume 4

UVA Online Judge Solution 486 – English-Number Translator | Volume 4
UVA Problem Link -486 – English-Number Translator sovle

Problem Name: 486 – English-Number Translator code
Problem Number : UVA – 486 – English-Number Translator solution
Online Judge : UVA Online Judge Solution
Volume: 4
Solution Language : C plus plus

### UVA Solution 486 – English-Number Translator Code in CPP:

`#include<stdio.h>#include<string.h>#define MAX 1000char table = {"negative", "zero", "one", "two", "three","four", "five", "six", "seven", "eight", "nine", "ten", "eleven","twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen","eighteen", "nineteen","twenty", "thirty", "forty", "fifty", "sixty","seventy", "eighty", "ninety", "hundred", "thousand", "million"};int number = {-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,30,40,50,60,70,80,90,100,1000,1000000};int recursion(int x[] , int low , int upp , int m){  if(low == upp)  return x[low];  if(low > upp)  {  if(m == 1)  return 1;  else  return 0;  }  int i , max = 0 , loc;  for(i=low;i<=upp;i++)  if(x[i] > max)  {  max = x[i];  loc = i;  }  return max*recursion(x,low,loc-1,1) + recursion(x,loc+1,upp,2);}int main(){  char line[MAX] , part[MAX];  int num[MAX];  char *str;  int len,i,size;  while(gets(line)!=NULL)  {  size = 0;  for(str=line;sscanf(str,"%s%n",part,&len)==1;str+=len)  {  for(i=0;i<32;i++)  if(!strcmp(part,table[i]))  {  num[size++] = number[i];  break;  }  }  if(num == -1)  printf("-%dn",recursion(num,1,size-1,0));  else  printf("%dn",recursion(num,0,size-1,0));  }  return 0;}`

Tags: UVA Online Judge Solution, UVA OJ Solution list, UVA Problems Solution, UVA solver, UVA all problem solution list, UVA 486 code in C, UVA 486 – English-Number Translator   code in C++, UVA 486 – English-Number Translator solution in C, UVA 486 solution