Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Заполнения массива случаными неповторяющимися значениями

Delphi , Синтаксис , Массивы

Заполнения массива случаными неповторяющимися значениями

Автор: Дедок Василий

Огромное Вам спасибо за сбор и систематизацию советов по Delphi. Предлагаю Вам интересное решение заполнения массива случаными неповторяющимися значениями. Думаю этот алгоритм небесполезен.


type
  arr = array[1..255] of integer;

procedure FillArray(var A: arr; n: integer);
var
  i: integer;
  s: string;
  q: byte;
begin
  randomize;
  s := '';
  for i := 1 to n do
  begin
    q := random(i);
    insert(chr(i), s, q);
  end;
  for i := 1 to n do
  begin
    A[i] := ord(s[i]);
  end;
end;

Статья Заполнения массива случаными неповторяющимися значениями раздела Синтаксис Массивы может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


:: 2009-02-18 20:12:13 :: re:Заполнения массива случаными неповторяющимися значениями

пользователь: maximus825.

Очень хороший алгоритм. Правда я его немного переделал с своей работе но это лучшее что когда либо видел по заполнению массивов.


:: 2010-07-05 19:28:47 :: re:Заполнения массива случаными неповторяющимися значениями

пользователь: Антон.

Пример хороший. Но есть один минус - в конце массива всегда 1. Я исправил так:

procedure FillArray(var A: arr;n: integer);
var
i: integer;
s: string;
q: byte;
r: integer;
begin
randomize;
s := '';
for i := 1 to n do
begin
q := random(i);
insert(chr(i), s, q);
end;
r:=random(n-1)+1;
s[length(s)]:=s[r];
s[r]:=chr(1);
for i := 1 to n do
begin
A[i] := ord(s[i]);
end;
end;


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Массивы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
19.04.2024 07:53:50/0.036850929260254/2