// pascalabc.net 3.1, сборка 1213 от 04.04.2016 begin var m,n: integer; write(' число строк и столбцов: '); read(m,n); writeln('исходный массив'); var l: =matrixrandom(m,n,-99,99); var s: =0; for var i: =0 to m-1 do begin for var j: =0 to n-1 do begin write(l[i,j]: 4); if l[i,j]< 0 then s+=l[i,j] end; writeln end; swap(l[0,0],l[m-1,n-1]); writeln('результирующий массив'); for var i: =0 to m-1 do begin for var j: =0 to n-1 do write(l[i,j]: 4); writeln end; writeln('сумма отрицательных элементов равна ',s) end. тестовое решение: число строк и столбцов: 5 8 исходный массив 59 28 -26 -31 -2 -75 6 24 -41 -50 -34 -31 58 49 -14 44 -82 15 -47 67 1 -91 -47 -6 -36 73 -41 87 15 61 87 -36 3 -19 34 -27 72 -49 45 -69 результирующий массив -69 28 -26 -31 -2 -75 6 24 -41 -50 -34 -31 58 49 -14 44 -82 15 -47 67 1 -91 -47 -6 -36 73 -41 87 15 61 87 -36 3 -19 34 -27 72 -49 45 59 сумма отрицательных элементов равна -854
frame45
02.04.2022
//раз на первый вопрос господина alviko вы не ответили, буду считать что количество столбцов и строк уже задано. //pascal abc.net v3.1 сборка 1172 const n=3; //количество строк m=4; //количество столбцов var f: text; ma: array[1..n,1..m] of integer; i,j,s: integer; begin assign(f,'matrix.txt'); reset(f); for i: =1 to n do begin for j: =1 to m do begin read(f,ma[i,j]); s: =s+ma[i,j]; end; end; close(f); for i: =1 to n do begin writeln; for j: =1 to m do write(ma[i,j]: 4); end; writeln; write(s); end. matrix.txt: 1 2 3 4 4 5 6 4 7 8 9 4 вывод программы: 1 2 3 4 4 5 6 4 7 8 9 4 57