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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2009, 20:48   #1
Юлька:)
Новичок
Джуниор
 
Регистрация: 30.03.2009
Сообщений: 1
По умолчанию множество.

Распечатать все буквы входящие в текст не мене двух раз в алфавитном порядке.




var s:string;a:array[ord('a')..ord('z')] of byte;i:integer;
begin
s:='prived at midveda';
for i:=1 to length(s) do begin
a[ord(s[i])]:=a[ord(s[i])]+1;
end;
for i:=ord('a') to ord('z') do begin
if a[i]>=2 then
write(chr(i));
end;
readln;
end.
помогите найти ошибку или сделать программу полегче..
Юлька:) вне форума Ответить с цитированием
Старый 30.03.2009, 21:27   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

"Множество" - это тема для задачи? (на будущее: прочитайте правила и больше не называйте так темы).
Если да, то задача решена неверно. Вам ведь нужны множества.

Заводите 2 пустых множества чаров.
Идете в цикле по строке.
Если текущий символ отсутствует в множестве 1, то заносим его туда.
Иначе, если он там есть, и если он есть и во втором множестве, то ничего ничего не делаем.
Иначе, если символ есть в первом множестве, но отсутствует во втором, то заносим его во второе множество.

После этого выводим в алфавитном порядке символы из 2-го множества.

Код:
uses crt;
var
m1,m2 : set of char;
s : string;
i : integer;
c : char;

begin
clrscr;
s:='prived at midveda';
m1 := [];
m2 := [];
for i:=1 to length(s) do
 begin
 if s[i] in m1 then
   begin
   if s[i] in m2 then continue
   else include(m2,s[i]);
   end
 else include(m1,s[i]);
 end;
writeln(s);
writeln;
for c:='A' to 'z' do
 if c in m2 then write(c);

readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на множество точек MariyaVo Паскаль, Turbo Pascal, PascalABC.NET 2 14.01.2009 21:59
Как задать множество 1234 Паскаль, Turbo Pascal, PascalABC.NET 7 25.05.2008 16:15
Множество браузеров LeoN Общие вопросы Delphi 0 01.05.2008 14:55
Множество xxxPascalxxx Помощь студентам 11 24.02.2008 19:07