Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
ВнизОдномерный массив. Как заполнить числами от 1 до 10? Найти похожие ветки
← →
EsKor (2002-04-04 05:49) [16]Для этого случая можно применить алгоритм подобный следующему:
const
dim = 10;
var
A: array [1..dim] of integer;
A1: array [1..dim] of boolean; //Массив контроля уникальности
N: integer;
i: word;
begin
randomize;
for i := 1 to dim do A1[i] := false; //Чисел в A еще нет
for i := 1 to dim do
begin
repeat
N := random(dim) + 1; //получить число
until not A1[N]; //если такое есть (A[N]:=true) - повторить
A[i] := N; //получ.уникальное число - заносим в массив
A1[N] := true; //и учитываем его
end; {for}
end;
В таком виде он конечно не будет работать в случае если ваш массив нужно заполнить значениями не совпадающими со значениями индекса массива. Например, нужно заполнить десятью значениями из диапазона от 10 до 100 с шагом 10, или без всякого шага от 32 до 812.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c