Здравствуйте, Валентин. Огромное Вам спасибо за сбор и систематизацию советов по 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 dobeginq:=random(i);insert(chr(i),s, q);end;for i:=1 to n dobeginA[i]:=ord(s[i]);end;end; |
С уважением Дедок Василий.
e-mail:
He вступая в дискуссию, цитирую следующее письмо:
Заполнять ЦЕЛОЧИСЛЕННЫЙ массив, используя строки -- ЭТО ПОШЛО!
Приведу стандартную процедуру, работает в шесть раз быстрее, не имеет ограничений, да и кода поменьше :)
procedure FillArray(var A: array of Integer); var I, S, R: Integer;begin for I := 0 to High(A) do A[I] := I;for i := High(A) downto 0 do beginR := Random(I);S := A[R]; A[R] := A[I]; A[I] := S;end;end; |
С уважением, Иваненко Фёдор Григорьевич.
e-mail: [000300]