Родились сегодня:
lSemperFi


Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

391

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Советник

379

Россия, Санкт-Петербург


ID: 401888

puporev

Профессор

215

Россия, Пермский край


ID: 400669

epimkin

Профессионал

111


ID: 405338

vovaromanov.jr

1-й класс

103


ID: 242862

Hunter7007

Мастер-Эксперт

29

Россия, Омск


ID: 137394

Megaloman

Мастер-Эксперт

25

Беларусь, Гомель


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-27 22:16:01-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 108695

Раздел: Pascal / Delphi / Lazarus
Автор вопроса: Артем Глушков
Дата: 09.11.2007, 13:42 Консультация закрыта
Поступило ответов: 2

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

Ответ # 192907 от Зиновьев Дмитрий Владимирович
Здравствуйте, Артем Глушков!
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, 14:39
Ответ # 192931 от Coupler
Здравствуйте, Артем Глушков!
Дополнение к ответу предыдущего эксперта: я бы не стал перебирать все элементы массива, чтобы выбрать находящиеся под главной диагональю. Можно проще:
for i := 1 to n - 1 do
for j := 0 to i-1 do
begin
inc(count);
sum := sum + a[i, j];
end;

Приложение:


Coupler

Посетитель
09.11.2007, 16:52
Мини-форум консультации # 108695
Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

puporev

Профессор

Рейтинг: 215

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 162

Gluck

9-й класс

Рейтинг: 81

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0