Удалить все слова, у которых предпоследняя буква гласная - 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы