IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Инициализация массивов
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: andrey

Репутация: -  0  +


Я вот у здесь нашел Массивы. Матрицы. Типичные задачи. "Инициализация массивов случайными значениями", а как правильно сделать инициализацию массива случаайными значениями и так чтобы это значения в массиве не повторялись в диопозоне 1 до 1000? Помогите пожалуйста!

я делаю так и незнаю как правильно сделать проверку на повторение :

Код

rocedure TForm1.Button1Click(Sender: TObject);
const
k=1000;
var
mas:array of integer;
i,n:integer;
begin
n:=StrToInt(Edit1.Text);
SetLength(Mas, n);
Stringgrid1.RowCount:=1;
randomize;
for i:=0 to n do mas[i]:=random(k);
Stringgrid1.RowCount:=n;
For i:=0 to n do
        Stringgrid1.cells[0,i]:=inttostr(mas[i]);
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
размер массива должен быть равен N

Это у тебя где написано? У тебя написано, что тебе надо проинициализировать StringGrid.Cells случайными значениями (по крайней мере это следует из твоей программы)... А уж каким способом - это не оговаривается... Не нравится std::shuffle из стандартной библиотеки С++ - придумывай свой велосипед...

Добавлено через 6 мин.
В крайнем случае всегда можно после перемешивания массива уменьшить его размер до требуемого:
SetLength(mas, n);


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.05.2024 20:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name