Показать сообщение отдельно
Старый 16.04.2015, 10:49   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Over77over Посмотреть сообщение
Помогите пожалуйста решить задачу на Паскале. Если целочисленная квадратная матрица симметрична относительно главной диагонали, обнулить все элементы,лежащие выше главной диагонали.и определить сумму элементов, лежащих ниже главной диагонали
Код:
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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070