![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте.
Нужно заполнить массив не повторяющимися, рандомными значениями из диапазона от 1 до значения, задаваемого переменной. В результате получаю ошибку, указанную в куске кода ниже. Искал решение в интернетах, но не нашел. Помогите, укажите в чем ошибка. (Перевод ошибки знаю, значение этого сообщения тоже, исправить не получается) Код:
var
...
NQuest, MQuest:Integer;
N:array[1..500] of Integer;
implementation
{$R *.dfm}
...
procedure TForm1.Button2Click(Sender: TObject);
var i,j,k:integer;
begin
For i:=1 to MQuest do
begin
N[i]:=Random[NQuest]; //array type required
For j:=1 to i-1 do
If N[i]=N[j] then
i:=i-1;
end; |
|
#2
|
||||
|
||||
|
N[i]:=1+Random(NQuest-1);
|
|
#3
|
|||
|
|||
|
А можете еще объяснить, из-за чего эта ошибка именно в этом случае?
|
|
#4
|
||||
|
||||
|
потому что функция Random возвращает не массив чисел а всего одно число
|
|
#5
|
|||
|
|||
|
в том что функции и процедуры должны принимать параметры в круглых скобках, а не в квадратных. Через квадратные скобки - это обращение к элементу массива.
Последний раз редактировалось Assistant, 07.04.2011 в 22:39. |
|
#6
|
|||
|
|||
|
Ох.... Все, увидел и понял.
Спасибо огромное. |