sample) do i :=
sample) do
i := i+1;
Search := i
end;
type
index = 1..N; {N>1}
massive1 = array [index] of index;
procedure RandomN (var Mas: massive1);
var i, K: index;
begin
for i := 1 to N do Mas[i] := i;
Randomize;
for i := N downto 2 do begin
K := Random(i) + 1;
Swap (Mas[K], Mas[i]);
end;
end;
Нередко в приложениях возникает необходимость "перевернуть" линейный массив, разместив в нем элементы в порядке, обратном исходному. Например, исходный массив упорядочен по убыванию значений элементов, а нужно представить содержимое по возрастанию, чтобы использовать стандартный механизм Search2, не переписывая эту процедуру. Задачу решает совсем простой алгоритм обращения линейного массива.
Алгоритм E3-5
type
index = 1..N; {N > 1}
massive1 = array [index] of item;
procedure Reverse (var Mas : massive1);
var i: index;
begin
for i := 1 to (N div 2) do
Swap (Mas[i], Mas[N-i+1]);
end;
Очевидно, вся обработка потребует N div 2 шагов -
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа