Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

pascal

Артём Хохлов Ученик (189), закрыт 13 лет назад

задать массив из n строк, удалить гласные буквы и вывести получившуюся биллиберду

тобишь пользователь пишет дом, нажимает ентер и получает дм
Лучший ответ
Воздр Мыслитель (7059) 13 лет назад
const n=10;
var
a:array[1..n]of char;
i,j:integer;
str:string;
begin
str:='уеыаэяию';
for i := 1 to n do
read(a[ i ]);
readln;
for i :=1 to n do
if pos(a[ i ],str)=0 then write (a[ i ]);
readln;
end.
Остальные ответы
Ravenator Ученик (186) 13 лет назад
я так понимаю что задается всетаки одномерный массив
Jurii Высший разум (175858) 13 лет назад
Вот мой вариант.
Только нужно проверить и дополнить или убрать лишнее в составе гласных.
С языками у меня того.. . не важно.. . Только языки программирования знаю!
Зато программа и русский и английский щёлкает только в путь + количество строк до 100, но строго не задаётся!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var
S : String;
Mas : array [1..100] of String;
K, N, Pos : Byte;
begin
WriteLn('Введите тект до 100 строк. Окончание текста - пустая строка. ');
K := 0;
repeat
ReadLn(S);
if Length(S) > 0 then
begin
Inc(K);
Mas[K] := S;
end;
until (Length(S) = 0) or (K = 100);
WriteLn('Убрали все гласные: ');
for N := 1 to K do
begin
S := '';
for Pos := 1 to Length(Mas[N]) do
if Not (Mas[N][Pos] in [
'a', 'e', 'i', 'j', 'o', 'u', 'y', { английские гласные }
'а', 'е', 'ё', 'и', 'о', 'у', 'э', 'ю', 'я' { русские гласные }
]) then
S := S + Mas[N][Pos];
WriteLn(S);
end;
end.
Похожие вопросы