Pascal.Множественный тип данных
Дан текст из строчных латинских букв и других знаков. Вычеркнуть из текста все гласные буквы.
Помогите.
Помогите.
[syntax='Pascal']
uses
crt;
var
i: integer;
S:string;
begin
ClrScr;
write('vvedite stroky: ');
readln(S);
for I := 0 to length(S) do
begin
while S in ['A', 'E', 'I', 'O', 'U','a','e','i','o','u'] do
delete(s,i,1);
end;
Writeln;
writeln(s);
readln;
end.
[/syntax]
uses
crt;
var
i: integer;
S:string;
begin
ClrScr;
write('vvedite stroky: ');
readln(S);
for I := 0 to length(S) do
begin
while S in ['A', 'E', 'I', 'O', 'U','a','e','i','o','u'] do
delete(s,i,1);
end;
Writeln;
writeln(s);
readln;
end.
[/syntax]
< L3X. (ICQ: 8721378, Mail - l3x@list.ru)
сделайте пожалуйста со множествами.и чтобы в программе использовались процедуры
Множество здесь используется, только оно описано не как константа.
Ни что так не ограничивает фантазию программиста, как компилятор...
Вот так правильно
Program d;
type
TMnoz = set of Char;
procedure YdalGl(AMnoz: TMnoz; var AStr: String );
var
i, k: Integer;
begin
k := 0;
for i := 1 to length(AStr) do
if AStr in Amnoz then
begin
delete(AStr, i, 1);
i := i - 1;
end;
end;
var
Mnoz: TMnoz;
Str: String;
begin
Mnoz := ['A', 'a', 'E', 'e', 'I', 'i', 'O', 'o', 'U', 'u', 'Y', 'y', 'J', 'j'];
writeln('vvedute stroky');
readln(Str);
YdalGl(Mnoz, Str);
writeln(Str);
readln;
END.
Program d;
type
TMnoz = set of Char;
procedure YdalGl(AMnoz: TMnoz; var AStr: String );
var
i, k: Integer;
begin
k := 0;
for i := 1 to length(AStr) do
if AStr in Amnoz then
begin
delete(AStr, i, 1);
i := i - 1;
end;
end;
var
Mnoz: TMnoz;
Str: String;
begin
Mnoz := ['A', 'a', 'E', 'e', 'I', 'i', 'O', 'o', 'U', 'u', 'Y', 'y', 'J', 'j'];
writeln('vvedute stroky');
readln(Str);
YdalGl(Mnoz, Str);
writeln(Str);
readln;
END.
Во-первых, J по моему не гласная. Во-вторых, зачем i := i - 1; и зачем переменная k?" писал(а):Вот так правильно
Предыдущее решение по-моему более правильное.
И еще: если пишете код, используйте теги
[noparse]
[syntax='Delphi']
Код на Pascal/Delphi
[/syntax]
Код: Выделить всё
Код
Ни что так не ограничивает фантазию программиста, как компилятор...
к- просто забил убрать. i := i - 1 - нужно для того Что б вернутся" писал(а):Во-первых, J по моему не гласная. Во-вторых, зачем i := i - 1; и зачем переменная k?
Предыдущее решение по-моему более правильное.
на 1 букву назад так как удалив например первую на следующей итерации
будет проверятся 3 задаваемой строки хотя надо проверить вторую.
Да, забыл, так в паскале делать можно, просто Delphi, например, не разрешает изменять счетчик в цикле for." писал(а): i := i - 1 - нужно для того Что б вернутся
на 1 букву назад так как удалив например первую на следующей итерации
Ни что так не ограничивает фантазию программиста, как компилятор...
<Боооольшое спасибо всем!!!!особенно Denys !
а нет.поторопился.она не выводит нечего