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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2012, 19:24   #1
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию Множества: Даны целые числа а1,.....,Аn. Вывести на печать сообщение - имеется ли в последовательности х повторяющиеся числа

Даны целые числа а1,.....,Аn (могут быть повторяющиеся).Вывести на печать сообщение - имеется ли в последовательности хотябы одна пара совпадающих чисел.Нужно решить не применяя массивы,только с помощью множеств. Помогите пожалуйста!!!!
lialia вне форума Ответить с цитированием
Старый 24.12.2012, 20:13   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

глупые задания для вас придумывают..
задача может быть решена через множества только в том случае, если числа укладываются в диапазон [0..255] (или все они могут быть приведены к этому диапазону).

Если это Вас не смущает, то:
Код:
var sNum : set of byte;
  A : byte;
  i,n : integer;
  isDubli : boolean;
begin
  sNum := [];
  WriteLn('  kolichestvo chisel:');
  Readln(n);

  isDubli := false;
  for i:=1 to n do begin
    Write(' A[',i,'] = ');
    Readln(A);
    if A in sNum then isDubli := true
    else Include(sNum, A);
  end;
  if isDubli then
       WriteLn(' Est` hotya by odna para ')
  else
       WriteLn(' Net takih par! ');
  Readln
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.12.2012, 20:29   #3
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию

спасибо большое!!
lialia вне форума Ответить с цитированием
Старый 24.12.2012, 21:11   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

[оффтоп]
Цитата:
если числа укладываются в диапазон [0..255]
Эх да, не хорошее ограничение..

Цитата:
задача может быть решена через множества только в том случае
но тут можно поспорить Если заглянуть в кишки множества, то увидим, нечто подобное на "массив флагов".. И если сделать маленькую поправочку, что множеством будем считать не только зарезервированное слово set, а еще и булевский массив, то наверное, можно создать этот массив и баловаться уже им, как множеством..
[/оффтоп]
P.S. Дико извиняюсь за отклонение от темы
Poma][a вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны целые числа a, n, x1,x2,...,xn.Определить, каким по счету идет в последовательности x1,...,xn член, равный a. Если такого чле Михаил77 Помощь студентам 1 17.12.2012 18:35
Даны целые числа р и q. Получить все делители числа q, взаимно простые c г. Владан Паскаль, Turbo Pascal, PascalABC.NET 2 03.12.2012 23:39
Даны целые числа Хутор Паскаль, Turbo Pascal, PascalABC.NET 2 17.12.2010 19:23
Даны натуральные числа n,p, целые числа a1 , ... ,an. Наталья111 Фриланс 10 09.11.2010 20:09
Даны натуральное число n и целые числа al, a2,..., an. Артём1992 Фриланс 7 18.03.2010 11:36