В тексте удалить все гласные, согласные заменить на прописные - C (СИ)
Формулировка задачи:
Дан текст на английском языке. В нём удалить все гласные согласные заменить на прописные.
var s:string;
m:set of char;
i:integer;
begin
writeln ("напишите текст на английском языке");
readln (s);
m:=['a','e','y','u','o','i','A','E','Y','U','I','O'];
for i:=1 to length (s) do
begin
while s[i] in m do
begin
if s[i] in m then delete (s,i,1);
end;
s[i]:= lowcase (s[i]);
end;
writeln (s);
end.Решение задачи: «В тексте удалить все гласные, согласные заменить на прописные»
textual
Листинг программы
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <string.h>
void rm(char *s, int i);
int main() {
char s[50];
char *str = s;
printf("Напишите текст на английском языке\n");
std::cin>>s;
char m[12] = {'a','e','y','u','o','i','A','E','Y','U','I','O'};
for(int i = 0;(unsigned int)i<strlen(s);i++) {
for(int j =0;(unsigned int)j<sizeof(m);j++) {
if(s[i] == m[j]) {
rm(s,i);
break;
}
}
s[i] = tolower(s[i]);
}
printf("%s\n",s);
}
void rm(char* s, int i) {
for(i;i<strlen(s);i++) {
s[i]=s[i+1];
}
}
Объяснение кода листинга программы
В этом коде задача заключается в том, чтобы удалить все гласные буквы из введённой строки и заменить остальные буквы на прописные. Вот список действий, которые выполняются в коде:
- Ввод строки с помощью функции std::cin.
- Создание массива m, который содержит все гласные буквы (как в верхнем, так и в нижнем регистре).
- Проход по каждому символу в строке.
- Проверка, является ли текущий символ гласным. Если да, то этот символ удаляется из строки с помощью функции rm.
- Преобразование оставшихся символов в нижний регистр с помощью функции tolower.
- Вывод итоговой строки с помощью функции printf. Список функций и переменных:
- s - это строка, в которой мы удаляем гласные буквы.
- str - это указатель на первый символ строки s.
- m - это массив, который содержит все гласные буквы.
- i - это индекс текущего символа в строке s.
- j - это индекс текущего символа в массиве m.
- rm - это функция, которая удаляет символы из строки.
- tolower - это функция, которая преобразует символ в нижний регистр.