Удалить все слова, у которых предпоследняя буква гласная - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д