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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2012, 18:22   #1
Silverstone
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 75
По умолчанию Паскаль. Случайное заполнение списка.

Подскажите, как заполнить список случайным числами в порядке от 1 до 10, например.
Я хочу с имитировать очередь в магазине.
Добавление элемента в список.
Код:
 procedure AddElem(var spis1:List; znach1:integer);
 var
  tmp:List;
 begin
  if spis1=nil then {Їа®ўҐа塞, *Ґ Їгбв «Ё бЇЁб®Є, Ґб«Ё Їгбв, в®}
   begin
    GetMem(spis1,sizeof(TList));{ᮧ¤*Ґ¬ ЇҐаўл© н«Ґ¬Ґ*в бЇЁбЄ*}
    tmp:=spis1;
   end
  else{Ґб«Ё бЇЁб®Є *Ґ Їгбв}
   begin
    tmp:=spis1;
    while tmp^.next<>nil do
     tmp:=tmp^.next;{бв*ўЁ¬ tmp ** Ї®б«Ґ¤*Ё© н«Ґ¬Ґ*в бЇЁбЄ*}
     GetMem(tmp^.next,sizeof(TList));{ᮧ¤*Ґ¬ б«Ґ¤гойЁ© н«Ґ¬Ґ*в}
     tmp:=tmp^.next;{ЇҐаҐ*®бЁ¬ tmp ** *®ўл© н«Ґ¬Ґ*в}
   end;
  tmp^.next:=nil;{®Ў*г«пҐ¬ гЄ*§*⥫м}
  tmp^.data:=znach1;{§**®бЁ¬ §**зҐ*ЁҐ}
 end;
Silverstone вне форума Ответить с цитированием
Старый 24.05.2012, 19:02   #2
Silverstone
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 75
По умолчанию

я разобрался как рандомно выводить значения:
Код:
tmp^.data:=random(15)+1;
Может кто помочь разобраться с тем, как вывести числа без повторения и по порядку?

Последний раз редактировалось Silverstone; 24.05.2012 в 21:16.
Silverstone вне форума Ответить с цитированием
Старый 25.05.2012, 00:02   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если нужно заполнить без повторений, то это неоднократно обсуждалось
например,
http://www.programmersforum.ru/showp...45&postcount=4

если же нужно ВЫВЕСТИ (да ещё и по порядку!)
тогда вам нужно ОТСОРТИРОВАТЬ список по полю data
а при выводе хранить выведенное на предыдущем шаге значение, если текущее значение совпадает с сохранённым - тогда не выводить, а переходить на следущий элемент списка - это позволит избавится от повторов! Ну, разумеется, очевидно, что такой алгоритм будет работать исключительно с отсортированным списком!

Последний раз редактировалось Serge_Bliznykov; 25.05.2012 в 00:06.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.05.2012, 11:21   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Я ПЕРЕНЁС ВОПРОС И ОБСУЖДЕНИЕ ВЫБОРА ОЧЕРЕДИ В ВАШУ ТЕМУ:

Связанные списки. Выбор очереди
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
случайное заполнение массива Stochfard Общие вопросы C/C++ 3 10.10.2011 19:15
Заполнение талонов из общего списка konistra Microsoft Office Excel 2 21.07.2010 12:26
Заполнение списка StasSv Microsoft Office Excel 2 01.11.2008 15:13
Случайное разбиение списка на множесво маленьких списков eXa Общие вопросы Delphi 5 15.08.2007 09:23
Заполнение динамического списка из файла KORT Помощь студентам 2 01.05.2007 22:28