Двумерные массивы, Вывод, поиск, операции с двумерными массивами |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Двумерные массивы, Вывод, поиск, операции с двумерными массивами |
DaryllDixonn |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: 19:38 Репутация: 0 |
Дана матрица A[5,4] масс грузов P-отправителей, Q-получателя; P=5;Q=4 при распечатке:
1) Ввести матрицу по строкам и получить распечатку матрицы. 2) Определить сумму элементов каждой строки. 3) Определить строку с максимальной суммой и разместить её первой (поменяв при необходимости местами). 4) Реализовать выбор всех элементов матрицы > больше 10 т. и вывод их значений и индексов. |
Федосеев Павел |
Сообщение
#2
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Покажи, что ты уже успел реализовать.
|
DaryllDixonn |
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: 19:38 Репутация: 0 |
|
Федосеев Павел |
Сообщение
#4
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Попробуй научиться читать.
Кроме методичек и учебников, подобные темы "пережёвывались" поколениями учащихся. Здесь есть FAQ - ссылка выделенная красным цветом в верху этой страницы. В FAQ должна быть статья с примерами и пояснениями. Начни с чего-нибудь. Лично мне не интересно делать целиком задачку за тебя. Помочь - да, помогу. |
DaryllDixonn |
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: 19:38 Репутация: 0 |
Попробуй научиться читать. Кроме методичек и учебников, подобные темы "пережёвывались" поколениями учащихся. Здесь есть FAQ - ссылка выделенная красным цветом в верху этой страницы. В FAQ должна быть статья с примерами и пояснениями. Начни с чего-нибудь. Лично мне не интересно делать целиком задачку за тебя. Помочь - да, помогу. Код uses crt; const P = 5; Q = 4; var i,j, IndexMaxSum:Integer; PQ:array[1..Q,1..P] of real; Sum, MaxSum, Mem:real; QSummes:array[1..Q] of real; procedure ShowTablePQ; begin clrscr; for i := 1 to P do write(' P',i); writeln; writeln('---------------------------------------'); for i := 1 to Q do BEGIN writeln('Q',i); for j := 1 to P do begin write('':6,PQ[i,j]); Sum:=Sum + PQ[i,j]; end; if Sum > 0 then begin writeln(' ':5,'Sum=',Sum); if Sum > MaxSum then begin MaxSum:=Sum; IndexMaxSum:=i; end; end; Sum:=0; END; end; begin for i := 1 to P do for j := 1 to Q do begin write(' P',i,' --> Q',j,' ='); read(PQ[j,i]); end; ShowTablePQ; writeln(''); writeln('Выносим строку с максимальной суммой на первую позицию'); readln; for i:=1 to P do begin Mem:=PQ[1,i]; PQ[1,i]:=PQ[IndexMaxSum,i]; PQ[IndexMaxSum,i]:=Mem; end; ShowTablePQ; writeln(''); writeln('Выводим все элементы c грузом > 10'); readln; writeln('-START-------------------'); for i := 1 to P do for j := 1 to Q do if PQ[j,i] > 10 then writeln(' P',i,' --> Q',j,' =',PQ[j,i]); writeln('---------------------END-'); end. Сообщение отредактировано: DaryllDixonn - |
Федосеев Павел |
Сообщение
#6
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Круто!
Возможно, ты был невнимателен, но в условии говорится о матрице А[5,4], а ты определяешь A[4,5]. И в дальнейшем используешь обращения PQ[j, i] вместо привычных глазу PQ[i, j]. В процедуре вывода матрицы я бы ограничился только выводом, без подсчёта суммы. А сам подсчёт выполнял бы в другом месте. При вычислении суммы, ты обнуляешь переменную где-то в конце, а не перед вычислением суммы строки. В итоге, сделал бы так: uses |
Гость |
Сообщение
#7
|
Гость |
Круто! Возможно, ты был невнимателен, но в условии говорится о матрице А[5,4], а ты определяешь A[4,5]. И в дальнейшем используешь обращения PQ[j, i] вместо привычных глазу PQ[i, j]. В процедуре вывода матрицы я бы ограничился только выводом, без подсчёта суммы. А сам подсчёт выполнял бы в другом месте. При вычислении суммы, ты обнуляешь переменную где-то в конце, а не перед вычислением суммы строки. В итоге, сделал бы так: uses Program1.pas(18) : Переменная цикла for должна описываться в том же блоке, что и цикл for |
Гость |
Сообщение
#8
|
Гость |
|
Федосеев Павел |
Сообщение
#9
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Цитата Переменная цикла for должна описываться в том же блоке, что и цикл for Да, согласен. Нужно описать локальные переменные i и j в процедуре, а не пользоваться глобальными. Ошибся при копировании. Цитата А почему не выводится сумма строк ? В коде же есть... Сумма элементов строки выводится, просто не в том же блоке где и сама матрица. Этого нет в условии задания. вот я и не стал выполнять, вернее - даже удалил. Основная причина - автор неправильно вычислял сумму. Сначала должно прийти понимание, а потом можно усложнять. Поэтому не понятен вопрос - в каком коде есть? В моём - нет, в коде топикстартера - есть, но что там вычисляется? |
Текстовая версия | 5.05.2024 14:28 |