Синформатикой! заранее большое ! необходимое : написать программу,которая выводит суммы главной диагонали, верхней треугольной матрицы и нижней треугольной. язык )

России5544 России5544    1   16.09.2019 21:50    0

Ответы
ImperialDragonYT ImperialDragonYT  07.10.2020 20:38
C++

#include <iostream>#include <cstdlib>#include <ctime>using namespace std;int main(){ srand(time(0)); int mas[5][5]; int sum=0,sum1=0,sum2=0; for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ mas[i][j]=10+rand()%50; } } for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ if(i==j)sum+=mas[i][j]; if(i>j)sum1+=mas[i][j]; if(i<j)sum2+=mas[i][j]; } } for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ cout<<mas[i][j]<<" "; } cout<<endl; } cout<<endl; cout<<sum<<" "<<sum1<<" "<<sum2<<endl; return 0;}
ПОКАЗАТЬ ОТВЕТЫ
Zzzz151 Zzzz151  07.10.2020 20:38
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк (столбцов) в матрице:');
  Writeln('*** Исходная матрица ***');
  var a:=MatrRandom(n,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var (su,sd,sl):=(0,0,0);
  for var i:=0 to n-1 do
    for var j:=0 to n-1 do
      if i<j then su+=a[i,j]
      else
        if i=j then sd+=a[i,j]
        else sl+=a[i,j];
  Writeln('Суммы элементов:');
  Writeln(' - верхней треугольной матрицы ',su);
  Writeln(' - главной диагонали ',sd);
  Writeln(' - нижней треугольной матрицы ',sl)
end.

Пример
Количество строк (столбцов) в матрице: 4
*** Исходная матрица ***
 -73 -89   4  39
  77 -32  23 -45
 -29 -70 -88 -40
 -83   9  21 -46

Суммы элементов:
 - верхней треугольной матрицы -108
 - главной диагонали -239
 - нижней треугольной матрицы -75

"Школьный" вариант

const
  nn=20; { максимальный размер }

var
  a:array[1..nn,1..nn] of integer;
  i,j,n:integer;
  su,sd,sl:longint;
 
begin
  Write('Количество строк (столбцов) в матрице:');
  Readln(n);
  Randomize;
  Writeln('*** Исходная матрица ***');
  su:=0; sd:=0; sl:=0;
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=Random(199)-99;
      Write(a[i,j]:4);
      if i<j then su+=a[i,j]
      else
        if i=j then sd+=a[i,j]
        else sl+=a[i,j]
      end;
      Writeln
    end;
  Writeln('Суммыа элементов:');
  Writeln(' - верхней треугольной матрицы ',su);
  Writeln(' - главной диагонали ',sd);
  Writeln(' - нижней треугольной матрицы ',sl)
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика