Из массива A выбрать случайным образом m различных элементов и поместить их в массив B - Turbo Pascal
Формулировка задачи:
Из массива A(n) выбрать случайным образом m различных элементов и поместить их в массив B(m)
Решение задачи: «Из массива A выбрать случайным образом m различных элементов и поместить их в массив B»
textual
Листинг программы
const n=20; n=10;
var
a: array [1..n] of Integer;
b: array [1..m] of Integer;
i, j, t: Integer;
begin
Randomize;
for i:=1 to n do a[i]:=Random(100);
Write('A ='); for i:=1 to n do Write(' ',a[i]); WriteLn;
for i:=1 to n do begin j:=1+Random(n); t:=a[j]; a[j]:=a[i]; a[i]:=t; end;
for i:=1 to m do b[i]:=a[i];
Write('B ='); for i:=1 to m do Write(' ',b[i]); WriteLn;
end.
Объяснение кода листинга программы
Данный код на языке Turbo Pascal выполняет следующие действия:
- Объявляет переменные: n, m, a, b, i, j, t.
- Задаёт начальное значение переменной n равным 20, затем уменьшает его до 10.
- Создаёт массив a типа array[1..n] of Integer и инициализирует его случайными числами от 0 до 99.
- Выводит содержимое массива a на экран.
- Генерирует случайное число от 1 до n и меняет местами текущий элемент массива a с элементом, который был сгенерирован.
- Повторяет шаг 5 для каждого элемента массива a.
- Создаёт массив b типа array[1..m] of Integer и копирует в него элементы массива a.
- Выводит содержимое массива b на экран. Таким образом, данный код выбирает случайным образом m элементов из массива a и помещает их в массив b.