Консультация № 108695
09.11.2007, 13:42
0.00 руб.
0 2 2
Здрасти, снова я. Задачка звучит так: Для заданной квадратной матрицы С вычислить сумму и число элементов матрицы, находящихся под главной диагональю. Исходную матрицу вывести в общепринятом виде. Результаты вывести в произвольной форме. Р.S. Элементы и размерность матрицы я должен вводить сам.

Обсуждение

Неизвестный
09.11.2007, 14:39
общий
это ответ
Здравствуйте, Артем Глушков!
Program Matrix;
uses CRT;
VAR m,n: Integer;
i, j: integer;
SUM: Integer;
Count: integer;
MATR: array of array of integer;
begin
WriteLn(‘Введите размерность матрицы‘);
Readln(m,n);
SetLength(MATR, m, n);
//Заполняем матрицу
FOR i := 0 to m - 1 DO
FOR j := 0 TO n - 1 DO
MATR[m,n] := random (10) - 5; //Ну или как Вам надо
//Выводим матрицу
FOR j := 0 TO n - 1 DO
begin
FOR i := 0 to m - 1 DO
Write(a[i, j], ‘ ‘);
Writeln;
END;
//Производим подсчеты
For i := 0 to m - 1 do
for j := 0 to n - 1 do
if j<i then begin inc(count); sum := sum + a[i,j]; end;
WriteLN(‘Кол-во элементов: ‘, count, ‘, а их сумма = ‘, sum);
Readln;
end.
Неизвестный
09.11.2007, 16:52
общий
это ответ
Здравствуйте, Артем Глушков!
Дополнение к ответу предыдущего эксперта: я бы не стал перебирать все элементы массива, чтобы выбрать находящиеся под главной диагональю. Можно проще:
for i := 1 to n - 1 do
for j := 0 to i-1 do
begin
inc(count);
sum := sum + a[i, j];
end;

Приложение:
program Project2;var m, n: Integer; i, j: integer; sum: Integer; Count: integer; a: array of array of integer;begin randomize; WriteLn(‘Vvedite razmernost matritsy‘); Readln(n, m); SetLength(a, n, m);//Заполняем матрицу for i := 0 to n - 1 do for j := 0 to m - 1 do a[i, j] := random(10); //Ну или как Вам надо//Выводим матрицу for i := 0 to n - 1 do begin for j := 0 to m - 1 do Write(a[i, j], ‘ ‘); Writeln; end; sum := 0; count:=0;//Производим подсчеты for i := 1 to n - 1 do for j := 0 to i-1 do begin inc(count); sum := sum + a[i, j]; end; WriteLN(‘Kol-vo elementov: ‘, count, ‘, a ih summa = ‘, sum); Readln;end.
Форма ответа