Adobe Interview Question
Software Engineer / Developers@above check for the above test cases carefully not working for 45897458973958
my code:
/****Bangla numbers
====== =======
Bangla numbers normally use 'kuti' (10000000), 'lakh' (100000), 'hajar' (1000),
'shata' (100) while expanding and converting to text. You are going to write
a program to convert a given number to text with them.
Input
-----
The input file may contain several test cases. Each case will contain a
non-negative number <= 999999999999999.
Output
------
For each case of input, you have to output a line starting with the
case number with four digits adjustment followed by the converted text.
Sample Input
------ -----
23764
45897458973958
Sample Output
------ ------
1. 23 hajar 7 shata 64
2. 45 lakh 89 hajar 7 shata 45 kuti 89 lakh 73 hajar 9 shata 58
*
****
*/
#include<stdio.h>
#include<stdlib.h>
void bangla_numbers(char**arr,int current_index,long long number)
{
int rem=0;
if(number==0)
return;
else
{
if(current_index==0)
{
rem=number%10;
number=number/10;
bangla_numbers(arr,1,number);
printf("%d %s ",rem,arr[current_index]);
}
else
{
rem=number%100;
number=number/100;
bangla_numbers(arr,current_index+1==4?0:current_index+1,number);
printf("%d %s ",rem,arr[current_index]);
}
}
}
int main()
{
char *text[4] = {"shata","hajar","lakh", "kuti"};
long long number=23764;
//long long number=45897458973958;
int rem=number%100;
number=number/100;
bangla_numbers(text,0,number);
printf("%d",rem);
return 0;
}
In devc++ code can be:
- Anonymous September 07, 2010void change2text(long long num, char*text[5],int i)
{
if(!num)
return;
int d;
d = (num%100);
change2text(num/100,text,i+1 == 5?1:(i+1));
cout<<" "<<d<<" "<<text[i];
}
int main()
{
char *text[5] = {"","shata","hajar","lakh", "kuti"};
long long num =0;
int n,i=0;
cout<<"\nEnter the number : ";
cin>>num;
change2text(num,text,0);
getch();
}