Вопрос Как написать программу на паскале, чтобы выбирать билеты на экзамен рандомно от 1 до 40 билета, ЧТОБ

Регистрация
8 Ноя 2013
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
не могу понять как сделать чтобы они не повторялись, вот задумка, но не знаю как реализовать:

Как именно будет выглядеть код если выпавшее число записывать в массив, а последующие числа сравнивать с массивом и таким образом исключать повтор?

разъясните все подробненько пожалуйста :) буду очень благодарен)
 
массив boolean 1..40 весь false while(до потери пульса) { x = случайное (1;40); если массив [x] continue; массив [x] = true; break; } >> x
 
Можно так... var TicketsNo: array[1..40] of integer; TickNum: integer; { кол-во билетов } TickNo: integer; { № очередного билета } I,J,K,N: integer; Begin For I:=1 to 40 do TicketsNo:=I; TickNum:=40; N:=?; { N - сколько раз будет выбираться билет } Randomize; For I:=1 to N do begin J:=Random(TickNum)+1; TickNo:=TicketsNo[J]; { Здесь показать, что вынут билет с номером TickNo } ... { На экран или записать в файл - дело ваше } { Теперь "вычёркиваем" этот номер из списка билетов } For K:=J to TickNum-1 do TicketsNo[K]:=TicketsNo[K+1]; Dec(TickNum); { На 1 билет осталось меньше } end;
 
Назад
Сверху