Составьте подпрограмму формирующую массив - Turbo Pascal
Формулировка задачи:
Решение задачи: «Составьте подпрограмму формирующую массив»
program vector2;
const
n_max=100;
type
vector=array[1..n_max] of real;
procedure CreateArray(a:vector;var x:vector;n:integer);
var
i:integer;
begin
for i:=1 to n do
x[i]:=a[i];
end;
var
a,b:vector;
i,m_max:integer;
begin
m_max:=1;
for i:=1 to n_max do
begin
a[i]:=random(n_max);
write(a[i]:8:2);
if a[i]>a[m_max] then
m_max:=i;
end;
writeln;
writeln('Max: ',a[m_max]:8:2);
createarray(a,b,m_max);
for i:=1 to m_max do
write(b[i]:8:2);
readln;
end.
Объяснение кода листинга программы
В данном коде создается программа vector2, которая использует язык программирования Turbo Pascal.
Константа n_max определяет максимальное количество элементов, которое может содержать вектор (массив).
Тип vector представляет собой массив, состоящий из чисел типа real.
Процедура CreateArray принимает три аргумента: a (изначальный вектор), x (новообразованный вектор) и n (количество элементов для копирования). Она копирует каждый элемент из a в x.
Две переменные a и b представляют собой исходный и новый векторы соответственно.
Переменная i используется для итерации по каждому элементу вектора.
Переменная m_max используется для хранения индекса максимального элемента в векторе a.
Цикл for выполняется от 1 до n_max. Внутри цикла генерируется случайное число от 1 до n_max и присваивается элементу a. Затем выводится значение этого элемента. Если текущий элемент больше максимального, то обновляется значение переменной m_max.
Затем вызывается процедура createarray, которая создает новый вектор b и копирует в него все элементы из a.
Далее происходит вывод значений всех элементов вектора b.
Программа заканчивается вызовом функции readln, чтобы прочитать ввод пользователя и завершить работу программы.