Матрица: главная и побочная диагональ - Pascal

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

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

Найти сумму среднее геометрическое элементов главной диагонали и минимальное отрицательное побочной дигонали матрицы x(5,5).
const n=5;m=5;
var x:array [1..n,1..m] of ineteger;
a,k,i,j,p,max:integer; Sg:real;
begin
for i:=1 to n do
for j:=1 to m do readln(x[i,j]);
k:=0;p:=1;
for i:=1 to n do 
if x[i,j]>0 then
begin p:=p*x[i,j];
k:=k+1;
end;
Sg:=exp(1/k*ln(p));
begin max:=-maxint;
for i:=1 to n do
for j:=1 to m do
if i+j=6 then if x[i,j]>max then
if x[i,j]<0 then
max:=x[i,j];
a:=max;
end;
writeln('Sg',Sg,'a=',a)
end.
Помогите убрать от сюда ошибки, что бы оно заработало так как надо )

Решение задачи: «Матрица: главная и побочная диагональ»

textual
Листинг программы
uses crt;
const n=5;
var x:array [1..n,1..n] of integer;
    i,j,sm,mn,k:integer;
    sg:real;
begin
clrscr;
writeln('Введите ',n*n,' элементов матрицы:');
for i:=1 to n do
for j:=1 to n do
 begin
  write('x[',i,',',j,']=');
  readln(x[i,j]);
 end;
clrscr;
writeln('Матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(x[i,j]:4);
  writeln;
 end;
sm:=0;sg:=1;k:=0;
for i:=1 to n do
if x[i,i]>0 then
 begin
  k:=k+1;
  sm:=sm+x[i,i];
  sg:=sg*x[i,i];
 end;
writeln('Сумма положительных элементов главной диагонали=',sm);
writeln('Среднее геометрическое их=',exp(ln(sg)/k):0:2);
mn:=maxint;
k:=0;
for i:=1 to n do
if x[i,n-i+1]<0 then
 begin
  k:=1;
  if x[i,n-i+1]<mn then mn:=x[i,n-i+1];
 end;
if k=0 then write('На побочной диагонали нет отрицательных элементов!')
else write('Минимальный из отрицательных на побочной диагонали=',mn);
readln
end.

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

  1. Создается матрица nхn, где n - это число, введенное пользователем.
  2. Выводится запрос на ввод элементов матрицы.
  3. В цикле for i:=1 до n выполняется два вложенных цикла for j:=1 до n. Внутри них выводится запрос на ввод элемента матрицы x[i,j].
  4. После завершения циклов выводится матрица в формате, который представлен в задаче.
  5. Затем вычисляются сумма положительных элементов главной диагонали (sm) и среднее геометрическое их (sg).
  6. Выводится сумма положительных элементов главной диагонали (sm) и среднее геометрическое их (sg).
  7. Затем находится минимальный из отрицательных элементов на побочной диагонали (mn).
  8. В конце выводится сообщение, указывающее, есть ли отрицательные элементы на побочной диагонали или нет.
  9. Если отрицательных элементов нет, выводится сообщение На побочной диагонали нет отрицательных элементов!.
  10. Если отрицательные элементы есть, выводится сообщение Минимальный из отрицательных на побочной диагонали=, а затем значение минимального отрицательного элемента (mn).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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