#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <ctype.h>
#include <string.h>
static char inputBuffer[ 100 ] ;
static char outputBuffer[ 100 ] ;
int isAlpha( char alpha) {
if ( ( alpha >= 'a' && alpha <= 'z' ) || ( alpha >= 'A' && alpha <= 'Z' ) )
return 1 ;
else
return 0 ;
}
int isVowel( char c)
{
if ( c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' )
return 1 ;
return 0 ;
}
void translate ( void )
{
char bufferValue;
char firstLetter;
int j = 0 , k = 0 , m = 0 ;
int size
= strlen ( inputBuffer
) ;
while ( j < size)
{
bufferValue = inputBuffer[ j] ;
if ( isAlpha( bufferValue) )
{
if ( j == 0 )
{
firstLetter = bufferValue;
}
else if ( inputBuffer[ j- 1 ] == ' ' )
{
firstLetter = bufferValue;
}
else
{
outputBuffer[ m] = bufferValue;
m++;
}
}
else if ( ( bufferValue == ' ' ) && isAlpha( inputBuffer[ j - 1 ] ) )
{
outputBuffer[ m] = firstLetter; m++;
if ( ! isVowel( firstLetter) ) {
printf ( "%cay%c" , firstLetter
, bufferValue
) ; outputBuffer[ m] = 'a' ;
m++;
}
else {
printf ( "%cy%c" , firstLetter
, bufferValue
) ; }
outputBuffer[ m] = 'y' ; m++;
outputBuffer[ m] = bufferValue; m++;
firstLetter = ' ' ;
}
else
{
if ( isAlpha( firstLetter) ) {
outputBuffer[ m] = firstLetter; m++;
if ( ! isVowel( firstLetter) ) {
outputBuffer[ m] = 'a' ; m++;
}
else {
}
outputBuffer[ m] = 'y' ; m++;
firstLetter = ' ' ;
}
outputBuffer[ m] = bufferValue; m++;
}
j++;
}
printf ( "\n final output: %s" , outputBuffer
) ;
return ;
}
int main( void )
{
printf ( "\n Input buffer contents: %s" , inputBuffer
) ; translate( ) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+ICAgICAgICAgICAgICAgICAKI2luY2x1ZGUgPHN0ZGxpYi5oPiAgICAgICAgICAgICAgICAKI2luY2x1ZGUgPHN0ZGludC5oPiAgICAgICAKI2luY2x1ZGUgPGN0eXBlLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4gICAgICAgICAgICAgICAgCgpzdGF0aWMgY2hhciBpbnB1dEJ1ZmZlclsxMDBdOwpzdGF0aWMgY2hhciBvdXRwdXRCdWZmZXJbMTAwXTsKCmludCBpc0FscGhhKGNoYXIgYWxwaGEpewoJCglpZiAoKGFscGhhID49ICdhJyAmJiBhbHBoYSA8PSAneicpIHx8IChhbHBoYSA+PSAnQScgJiYgYWxwaGEgPD0gJ1onKSkKCQlyZXR1cm4gMTsKCWVsc2UKCQlyZXR1cm4gMDsKfQoKaW50IGlzVm93ZWwoY2hhciBjKQp7CgljID0gdG9sb3dlcihjKTsKICAgIGlmIChjID09ICdhJyB8fCBjID09ICdlJyB8fCBjID09ICdpJyB8fCBjID09ICdvJyB8fCBjID09ICd1JykKICAgICAgICByZXR1cm4gMTsKICAgIHJldHVybiAwOwp9Cgp2b2lkIHRyYW5zbGF0ZSAodm9pZCkKewogIGNoYXIgYnVmZmVyVmFsdWU7CiAgY2hhciBmaXJzdExldHRlcjsKICBpbnQgaiA9IDAsIGsgPSAwLCBtID0gMDsKCiAgcHJpbnRmKCJcbiIpOwogIGludCBzaXplID0gc3RybGVuKGlucHV0QnVmZmVyKTsKICAKICB3aGlsZSAoaiA8IHNpemUpCiAgewogICAgYnVmZmVyVmFsdWUgPSBpbnB1dEJ1ZmZlcltqXTsKCiAgICBpZiAoaXNBbHBoYShidWZmZXJWYWx1ZSkpCiAgICB7CiAgICAJaWYgKGogPT0gMCkgCiAgICAJewogICAgICAgIAlmaXJzdExldHRlciA9IGJ1ZmZlclZhbHVlOwogICAgICAJfQogICAgCWVsc2UgaWYgKGlucHV0QnVmZmVyW2otMV0gPT0gJyAnKSAKICAgICAgCXsKICAgICAgICAJZmlyc3RMZXR0ZXIgPSBidWZmZXJWYWx1ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAJfQogICAgICAJZWxzZQogICAgICAJewogICAgICAgIAlwcmludGYoIiVjIiwgYnVmZmVyVmFsdWUpOwogICAgICAgIAlvdXRwdXRCdWZmZXJbbV0gPSBidWZmZXJWYWx1ZTsKICAgICAgICAJbSsrOwogICAgICAJfQogICAgfSAgICAKICAgIGVsc2UgaWYgKChidWZmZXJWYWx1ZSA9PSAnICcpICYmIGlzQWxwaGEoaW5wdXRCdWZmZXJbaiAtIDFdKSkKICAgIHsKICAgIAkKICAgIAlvdXRwdXRCdWZmZXJbbV0gPSBmaXJzdExldHRlcjsgbSsrOwogICAgCWlmICghaXNWb3dlbChmaXJzdExldHRlcikpewogICAgCQlwcmludGYoIiVjYXklYyIsIGZpcnN0TGV0dGVyLCBidWZmZXJWYWx1ZSk7CiAgICAJCW91dHB1dEJ1ZmZlclttXSA9ICdhJzsKICAgIAkJbSsrOwogICAgCX0KICAgIAllbHNlewogICAgCQlwcmludGYoIiVjeSVjIiwgZmlyc3RMZXR0ZXIsIGJ1ZmZlclZhbHVlKTsKICAgIAl9CiAgICAJb3V0cHV0QnVmZmVyW21dID0gJ3knOyBtKys7CiAgICAJb3V0cHV0QnVmZmVyW21dID0gYnVmZmVyVmFsdWU7IG0rKzsKICAgIAlmaXJzdExldHRlciA9ICcgJzsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgIAlpZiAoaXNBbHBoYShmaXJzdExldHRlcikpewogICAgCQkKICAgIAkJb3V0cHV0QnVmZmVyW21dID0gZmlyc3RMZXR0ZXI7IG0rKzsKICAgIAkJaWYgKCFpc1Zvd2VsKGZpcnN0TGV0dGVyKSl7CiAgICAJCQlwcmludGYoIiVjYXkiLCBmaXJzdExldHRlcik7CgkgICAgCQlvdXRwdXRCdWZmZXJbbV0gPSAnYSc7IG0rKzsKICAgIAkJfQogICAgCQllbHNlewogICAgCQkJcHJpbnRmKCIlY3kiLCBmaXJzdExldHRlcik7CiAgICAJCX0KICAgIAkJb3V0cHV0QnVmZmVyW21dID0gJ3knOyBtKys7CiAgICAJCWZpcnN0TGV0dGVyID0gJyAnOwogICAgCX0KICAgIAlwcmludGYoIiVjIiwgYnVmZmVyVmFsdWUpOwogICAgICAJb3V0cHV0QnVmZmVyW21dID0gYnVmZmVyVmFsdWU7IG0rKzsKICAgIH0KICAgIGorKzsKCiAgfSAKCiAgcHJpbnRmKCJcbiBmaW5hbCBvdXRwdXQ6ICVzIixvdXRwdXRCdWZmZXIpOwoKICAgcmV0dXJuOwp9CgppbnQgbWFpbih2b2lkKQp7CiAgcHJpbnRmKCJlbnRlciB0aGUgc3RyaW5nXHQiKTsKICBmZmx1c2goc3RkaW4pOwogIGdldHMoaW5wdXRCdWZmZXIpOwoKICBwcmludGYgKCJcbklucHV0IGJ1ZmZlciBjb250ZW50czogICVzIiwgaW5wdXRCdWZmZXIpOwogIHRyYW5zbGF0ZSgpOwogIHJldHVybiAwOyAgICAgICAgICAgICAKfSA=
stdout
enter the string
Input buffer contents: Darrin, 0what, are you doing with 500 and 100?
arrinDay, 0what, reay ouyay oingday ithway 500 nday 100?
final output: arrinDay, 0what, reay ouyay oingday ithway 500 nday 100?