Оформить в виде подпрограмм-функций в программе Pascal: Есть действительные числа a1, a2,… a20,целочисленная матрица порядка 20. Те элементы с парной суммой индексов, которые есть среди a1, a2,… a20, заменить на ноль.
program ReplaceElements; var a: array[1..20] of real; matrix: array[1..20, 1..20] of integer; i, j: integer; function isEvenSumIndex(index1, index2: integer): boolean; begin if (index1 + index2) mod 2 = 0 then isEvenSumIndex := true else isEvenSumIndex := false; end; procedure replaceElementsWithZero(); var index1, index2: integer; begin for i := 1 to 20 do begin for j := 1 to 20 do begin if (j mod 2 = 0) and (a[j] <> 0) then begin index1 := (i + j) mod 20; index2 := i; if isEvenSumIndex(index1, index2) then a[j] := 0; end; end; end; end; begin // Вводим значения элементов массива a writeln('Введите 20 действительных чисел:'); for i := 1 to 20 do begin write('a', i, ': '); readln(a[i]); end; // Вводим значения матрицы writeln('Введите целочисленные значения матрицы порядка 20x20:'); for i := 1 to 20 do begin for j := 1 to 20 do begin read(matrix[i, j]); end; end; replaceElementsWithZero(); // Выводим значения элементов массива a после замены writeln('Полученный массив a:'); for i := 1 to 20 do begin write(a[i]:0:2, ' '); end; end.
При выполнении программы пользователю предлагается ввести 20 действительных чисел для массива a и целочисленные значения для матрицы matrix. После этого запускается функция replaceElementsWithZero, которая заменяет элементы массива a, соответствующие условиям задачи, на ноль. Результат выводится на экран.
var
a: array[1..20] of real;
matrix: array[1..20, 1..20] of integer;
i, j: integer;
function isEvenSumIndex(index1, index2: integer): boolean;
begin
if (index1 + index2) mod 2 = 0 then
isEvenSumIndex := true
else
isEvenSumIndex := false;
end;
procedure replaceElementsWithZero();
var
index1, index2: integer;
begin
for i := 1 to 20 do
begin
for j := 1 to 20 do
begin
if (j mod 2 = 0) and (a[j] <> 0) then
begin
index1 := (i + j) mod 20;
index2 := i;
if isEvenSumIndex(index1, index2) then
a[j] := 0;
end;
end;
end;
end;
begin
// Вводим значения элементов массива a
writeln('Введите 20 действительных чисел:');
for i := 1 to 20 do
begin
write('a', i, ': ');
readln(a[i]);
end;
// Вводим значения матрицы
writeln('Введите целочисленные значения матрицы порядка 20x20:');
for i := 1 to 20 do
begin
for j := 1 to 20 do
begin
read(matrix[i, j]);
end;
end;
replaceElementsWithZero();
// Выводим значения элементов массива a после замены
writeln('Полученный массив a:');
for i := 1 to 20 do
begin
write(a[i]:0:2, ' ');
end;
end.
При выполнении программы пользователю предлагается ввести 20 действительных чисел для массива a и целочисленные значения для матрицы matrix. После этого запускается функция replaceElementsWithZero, которая заменяет элементы массива a, соответствующие условиям задачи, на ноль. Результат выводится на экран.