27.02.2012, 12:43 | #1 (permalink) |
Member
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль. Работа с двумерными массивами
|
27.02.2012, 12:43 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Наверняка в этих темах есть интересующий вас ответ Pascal. Работа с одномерными массивами Паскаль, работа с матрицами Помогите, пожалуйста. Работа с одномерными массивами, Паскаль |
27.02.2012, 14:33 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Здесь, прежде всего, в условии задачи содержится ГРУБЕЙШАЯ ошибка, а именно - диагонали (главная и побочная) бывают ТОЛЬКО у квадратных матриц, понятие "диагональ" к неквадратным (прямоугольным) матрицам НЕПРИЛОЖИМО в принципе, а в условии фигурирует матрица 5х6. Бред и абсурд - так можете преподу и сказать.
Задача может быть решена для произвольной КВАДРАТНОЙ матрицы NxN. В программе N=6, но можно поменять, изменив значение константы. Код:
Const N=6; Var M:Array[1..N,1..N] of Integer; Sum:Integer; i,j:byte; Begin Randomize; writeln('Matrix:'); for i:=1 to N do begin for j:=1 to N do begin M[i,j]:=50-Random(100); write(M[i,j]:4); end; writeln; end; writeln; Sum:=0; for i:=1 to N-1 do for j:=i+1 to N do Sum:=Sum+M[i,j]; writeln('Sum = ',Sum); readln End. |
08.04.2012, 12:22 | #4 (permalink) |
Member
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
А можно еще спросить по поводу этой программы.
Есть несколько строк, которые хотелось бы понять А если быть честным и точнее, то это практически весь код , начиная со строки: writeln('Matrix:') |
08.04.2012, 14:02 | #5 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
1. В цикле по строкам (i) и столбцам (j) методом генерации случайных чисел формируется массив значений элементов матрицы. Диапазон взят от -50 до +50. Одновременно элементы матрицы построчно выводятся на экран. 2. Считается сумма элементов матрицы. Диапазон изменений номеров строк (от 1 до N-1) и номеров столбцов (от i+1 до N) выбран так, что перебираются и, соответственно, суммируются только те элементы матрицы, которые находятся над главной диагональю. 3. На экран выводится результат (найденная сумма). Вообще-то там еще требуется найти количество членов матрицы над главной диагональю, если очень надо - можно вставить и это, но в принципе глупость полнейшая: это количество всегда есть (N² - N)/2. И что тут считать, спрашивается? |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
10.04.2012, 14:56 | #6 (permalink) |
Member
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Понятно, спасибо!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
паскаль; турбо; паскаль |
|
|