Работа с матрицей - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Помогите решить ошибку в коде, в строке 31

Решение задачи: «Работа с матрицей»

textual
Листинг программы
const n = 5;
var a: array [1..n, 1..n] of real;
    i, j, ser: integer;
    s: real;
    k: real;
    im, jm: real;
begin
writeln('Исходная матрица');
for i := 1 to n do
 begin
  for j := 1 to n do
   begin
    a[i,j]:=10*random;
    write(a[i,j]:5:2);
   end;
  writeln;
 end;
s:=0;
k:=0;
for i:=2 to n do
for j:=1 to i-1 do
 begin
  s:=s+a[i,j];
  k:=k+1;
 end;
s:=s/k;
writeln('Среднее значение ниже главной диагонали=',s:0:2);
writeln('Измененная матрица');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    if j=i then a[i,j]:=s;
    write(a[i,j]:5:2);
   end;
  writeln;
 end;
end.

Объяснение кода листинга программы

  1. Задается размерность матрицы n=5
  2. Создается матрица a размером 5x5, заполненная случайными числами от 0 до 10
  3. Выводится исходная матрица a на экран
  4. Инициализируются переменные s=0, k=0; для подсчета суммы и количества элементов главной диагонали
  5. Два вложенных цикла проходят по элементам матрицы a, начиная с 2-го элемента главной диагонали и до 1-го элемента включительно
  6. В каждом цикле суммируется значение элемента a[i,j] и увеличивается счетчик k
  7. После завершения циклов, вычисляется среднее значение s=sum/k
  8. Выводится на экран среднее значение s
  9. Два вложенных цикла проходят по элементам матрицы a, начиная с 1-го элемента и до n-го элемента включительно
  10. Если значение j=i, то элемент a[i,j] заменяется на среднее значение s
  11. Выводится измененная матрица a на экран

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы