• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Если целочисленная квадратная матрица симметрична относительно главной диагонали...

Over77over

Новые
Регистрация
13 Мар 2015
Сообщения
16
Реакции
0
Баллы
0
Если целочисленная квадратная матрица симметрична относительно главной диагонали...

Помогите пожалуйста решить задачу на Паскале.

Если целочисленная квадратная матрица симметрична относительно главной диагонали, обнулить все элементы,лежащие выше главной диагонали.и определить сумму элементов, лежащих ниже главной диагонали

Вот на фортране:

!simmetrichna li matriza
logical function PP1(A,n)
dimension A(n,n)
integer I,J,A
logical fl
fl=.true.
I=1
do while (I<=n-1.and.fl)
J=I+1
do while (J<=n.and.fl)
if (A(I,J)/=A(J,I)) then
fl=.false.
end if
J=J+1
end do
I=I+1
end do
PP1=fl
write (,) fl
end

!obnylit vse elementi vishe glavnoi diagonali
subroutine PP2(A,n)
dimension A(n,n)
integer I,J,A
do I=1,n-1
do J=I+1,n
A(I,J)=0
end do
end do
end


!naiti symmy elementov nizhe glavnoi diagonali
subroutine PP3(A,n,s)
dimension A(n,n)
integer I,J,A,s
s=0
do J=1,n-1
do I=J+1,n
s=s+A(I,J)
end do
end do
end


dimension A(5,5)
integer I,J,A,s
logical fl,PP1
data A/1,2,3,1,3,2,3,4,9,4,3,4,5,8,5,1,9,8,7,6,3,4,5,6,1/
write (,) 'ishod matriza'
write (*,36) ((A(I,J),J=1,5),I=1,5)
36 format (5(1x,I3))
fl= PP1(A,5)
write (,) fl
if (fl) then
write (,) 'matriza simmetrichna'
call PP2(A,5)
write (*,26) ((A(I,J),J=1,5),I=1,5)
26 format (1x,'izmen matriza'/5(1x,I3))
call PP3 (A,5,s)
write (*,16) s
16 format (1x,'s=',I4)
else
write (,) 'matriza ne simmetrichna'
end if
end
 
Помогите пожалуйста решить задачу на Паскале. Если целочисленная квадратная матрица симметрична относительно главной диагонали, обнулить все элементы,лежащие выше главной диагонали.и определить сумму элементов, лежащих ниже главной диагонали

Код:
Const
 N=5;

Type
 Matr=Array[1..N, 1..N] of Integer;

Var
 A:Matr;
 i,j,k,Sum:Integer;

Function Symm(Q:Matr):Boolean;
var
 i,j:Integer;
 bu:boolean;
begin
 i:=0;
 bu:=TRUE;
 repeat
  Inc(i);
  j:=0;
  repeat
   Inc(j);
   bu:=Q[i,j]=Q[j,i];
  until bu=FALSE or (j=N);
 until bu=FALSE or (i=N);
 Symm:=bu;
end;

Begin
 for i:=1 to N do
  for j:=1 to N do
   begin
    write('A[',i,',',j,'] = ');
    readln(A[i,j]);
   end;
 Writeln;

 Writeln('Initial matrix:');
 for i:=1 to N do
  begin
   for j:=1 to N do write(A[i,j]:4);
   writeln;
  end;
 Writeln;

 If Symm(A) then
  begin
   Sum:=0;
   Writeln('New matrix:');
   for i:=1 to N do
    begin
     for j:=1 to N do
      begin
       if j>i then A[i,j]:=0;
       if j<i then Inc(Sum,A[i,j]);
       write(A[i,j]:4);
      end;
     writeln;
    end;
   Writeln;
   Writeln('Sum = ',Sum);
  end
 else
   Writeln('Matrix is asymmetric');
 Readln
End.
 
Назад
Сверху