Заменить элемент матрицы с использованием подпрограммы - Pascal ABC
Формулировка задачи:
Ввести матрицы A(n1,n1), B(n2,n2). Найти среднее арифметическое положительных элементов в каждой из них. Найденным значением заменить главные диагонали соответствующих матриц. Подпрограммы: ввод матрицы, поиск среднего, замена диагонали, вывод матрицы.
Решение задачи: «Заменить элемент матрицы с использованием подпрограммы»
textual
Листинг программы
Program Dworf; uses crt; const N1 = 1; // Размер массива A const N2 = 1; // Размер массива B var A: array[0..N1, 0..N1] of integer; B: array[0..N2, 0..N2] of integer; i, j: integer; // Счетчики AVal, BVal: integer; ACount, BCount: integer; AMax, BMax: integer; Begin for j := 0 to N1 do // Ввод матрицы A for i := 0 to N1 do begin Write('A[',j,',',i,'] = '); ReadLn(A[j,i]); if (AMax < Length(inttostr(A[j,i]))) then AMax := Length(inttostr(A[j,i])); if (A[j,i] > 0) then begin inc(ACount); AVal := AVal + A[j,i]; end; end; if (ACount > 0) then AVal := AVal div ACount; for j := 0 to N2 do // Ввод матрицы B for i := 0 to N2 do begin Write('B[',j,',',i,'] = '); ReadLn(B[j,i]); if (BMax < Length(inttostr(B[j,i]))) then BMax := Length(inttostr(B[j,i])); if (B[j,i] > 0) then begin inc(BCount); BVal := BVal + B[j,i]; end; end; if (BCount > 0) then BVal := BVal div BCount; for j := 0 to N1 do // Вывод матрицы A begin for i := 0 to N1 do begin if (j = i) then A[j,i] := AVal; Write(A[j,i]:AMax + 2); end; WriteLn(); end; for j := 0 to N2 do // Вывод матрицы B begin for i := 0 to N2 do begin if (j = i) then B[j,i] := BVal; Write(B[j,i]:BMax + 2); end; WriteLn(); end; end.
Объяснение кода листинга программы
- Объявлены константы N1 и N2, которые определяют размер массивов A и B соответственно.
- Объявлены переменные A, B, i, j, AVal, BVal, ACount, BCount, AMax, BMax.
- Ввод матрицы A с помощью цикла for и вложенного цикла for. Значения матрицы считываются с помощью функции ReadLn и сохраняются в переменной A. Также в этом цикле выполняется подсчет количества положительных элементов матрицы A и вычисляется их сумма.
- Если количество положительных элементов матрицы A больше нуля, то выполняется подсчет среднего значения положительных элементов и сохраняется в переменной AVal.
- Ввод матрицы B с помощью цикла for и вложенного цикла for. Значения матрицы считываются с помощью функции ReadLn и сохраняются в переменной B. Также в этом цикле выполняется подсчет количества положительных элементов матрицы B и вычисляется их сумма.
- Если количество положительных элементов матрицы B больше нуля, то выполняется подсчет среднего значения положительных элементов и сохраняется в переменной BVal.
- Вывод матрицы A с помощью цикла for и вложенного цикла for. В каждой итерации внутреннего цикла проверяется равенство индексов j и i. Если условие выполняется, то значение элемента матрицы A заменяется на среднее значение положительных элементов AVal.
- Вывод матрицы B с помощью цикла for и вложенного цикла for. В каждой итерации внутреннего цикла проверяется равенство индексов j и i. Если условие выполняется, то значение элемента матрицы B заменяется на среднее значение положительных элементов BVal.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д