Удалить гласные из строки - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Да, я смотрел похожие темы, но как-то мало понятно. Объясните, пожалуйста, как происходит работа со строками Насколько я понял, работать со строкой как с массивом нельзя - запись s[i], получается, некорректна - а как тогда разбивать ее(строку) на элементы и работать с ними(элементами)? Для

удаления гласных из строки

надо использовать какие-то функции, которые делают это автоматически? Или можно записать строку как массив и работать с массивом?
#pragma argsused
#include <iostream.h>
#include <conio.h>
#include <string.h>
 
int main() {
char s[10];

puts("Type your string right here");
gets(s); //ввод строки
 
puts(s);
 
getch();
}

Решение задачи: «Удалить гласные из строки»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
#define VOWELS "AEIOUYaeiouy"
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
        char * vow = strpbrk(buf, VOWELS);
        while ( vow ) {
            memmove(vow, vow + 1, strlen(vow));
            vow = strpbrk(vow, VOWELS);
        }
        printf("Result: %s", buf);
    }
    
    return 0;
}

Объяснение кода листинга программы

В этом коде на языке C удаляются все гласные из строки, введенной пользователем. Список действий:

  1. Включаются необходимые заголовочные файлы.
  2. Определяется строка, содержащая все гласные буквы.
  3. В функции main() создается буфер для хранения строки, введенной пользователем.
  4. Организуется цикл, который считывает строку от пользователя до тех пор, пока не будет введена пустая строка.
  5. Внутри цикла ищется первая гласная буква в строке с помощью функции strpbrk().
  6. Если гласная буква найдена, то с помощью функции memmove() все гласные буквы перемещаются в конец строки.
  7. Процесс поиска и удаления гласных букв повторяется до тех пор, пока все гласные буквы не будут удалены.
  8. После удаления всех гласных букв выводится итоговая строка.
  9. В конце функции main() возвращается 0, что означает успешное выполнение программы.

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


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

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

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