Удалить все слова, у которых предпоследняя буква гласная - C (СИ)
Формулировка задачи:
Удалить все слова у которых предпоследняя буква гласная.
Помогите написать программу пожалуйста:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <locale.h>
main()
{
setlocale (LC_ALL,"RUS");
char str1[99], str2[99];
printf("Введите 1-ю строку");
gets(str1);
printf("Введите 2-ю строку");
gets(str2);
char gls[7]={'a','e','i','o','u','y','\0'}; //выделение гласных
// ниже нужно написать код для удаления всех слов у которых предпоследняя буква гласная
_getch();
return 0;
}Решение задачи: «Удалить все слова, у которых предпоследняя буква гласная»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <locale.h>
char* _mytask(char* s){
int n;
unsigned char* a, *b, *i;
const char vs[] = "AEOIUYАЕУЁИОЫЭЮЯ";
n = 0;
for(a = b = (unsigned char*)s; *a; *a = *b){
if(isalpha(*b)){
i = b;
while(isalpha(*i))
++i;
if(((i - b) > 2) && (strchr(vs, toupper(*(i - 2))) != NULL))
b = i;
else {
while(b != i)
*a++ = *b++;
}
continue;
}
++a;
++b;
}
return s;
}
int main(void){
char s[] = "BEGIN: Удалить все слова у которых предпоследняя буква гласная. FIN";
setlocale(LC_ALL, "Rus");
puts(s);
puts( _mytask(s) );
return 0;
}