Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2009, 11:46   #1
Nevis
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 10
Восклицание помогите дописать программу

Напечатать текст, за которым следует точка. В алфавитном порядке напечатать все строчные русские гласные буквы (а. е, и, о, у, ы, э, ю, я), входящие в этот текст. прошу вашей помощи о великие умы программирования, задачу необходимо решить с помощью множеств!!!!
var
Text: string;
i: byte;
Letters1: set of char;
....
begin
.....
i := 1;
While (Text[i] <> '.') do
begin
Letters1 := Letters1 + [Text[i]];
Inc(i);
end;
Letters1 := Letters1 * ['а', 'е', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я'];
for i := 160 to 175 do
if Chr(i) in Letters1 Then Write(Chr(i):2);
for i := 224 to 239 do
if Chr(i) in Letters1 Then Write(Chr(i):2);
......
end.
Nevis вне форума Ответить с цитированием
Старый 29.08.2009, 12:22   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так Вы же всё уже сами написали!!
вывод не морочьте себе голову, вместо нескольких for...
сделайте один цикл:
Код:
for i := 1 to 255 do
  if Chr(i) in Letters1 Then Write(Chr(i):2);
замечание1. Лучше переменную Text назвать ПО ДРУГОМУ!
Ну, хотя бы MyText или CheckedText или InputString...

замечание2. я бы, как педант, добавил иницилизацию
множества перед основным циклом:
Letters1 := [];

p.s. в основном цикле есть один недочёт - если в тексте не будет точки - будет ошибка. в реальной задаче надо обязательно проверять, чтобы i не превысило размеры входной строки (i<=Length(..))

Последний раз редактировалось Serge_Bliznykov; 29.08.2009 в 12:24.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите дописать программу cL1zMa Паскаль, Turbo Pascal, PascalABC.NET 2 06.06.2008 14:40
помогите дописать программу starry_night Помощь студентам 0 04.06.2008 19:24
Помогите дописать программу. ShnapS Паскаль, Turbo Pascal, PascalABC.NET 5 17.05.2008 19:50
помогите дописать программу slm Работа с сетью в Delphi 3 09.05.2008 18:39
Помогите дописать программу ALIZE Помощь студентам 2 09.12.2007 18:45