Двумерные массивы, Вывод, поиск, операции с двумерными массивами |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Двумерные массивы, Вывод, поиск, операции с двумерными массивами |
DaryllDixonn |
21.12.2014 19:37
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: 19:38 Репутация: 0 |
Дана матрица A[5,4] масс грузов P-отправителей, Q-получателя; P=5;Q=4 при распечатке:
1) Ввести матрицу по строкам и получить распечатку матрицы. 2) Определить сумму элементов каждой строки. 3) Определить строку с максимальной суммой и разместить её первой (поменяв при необходимости местами). 4) Реализовать выбор всех элементов матрицы > больше 10 т. и вывод их значений и индексов. |
Федосеев Павел |
21.12.2014 19:44
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 298 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 8 |
Покажи, что ты уже успел реализовать.
|
DaryllDixonn |
21.12.2014 19:56
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: 19:38 Репутация: 0 |
|
Федосеев Павел |
21.12.2014 20:04
Сообщение
#4
|
Бывалый Группа: Пользователи Сообщений: 298 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 8 |
Попробуй научиться читать.
Кроме методичек и учебников, подобные темы "пережёвывались" поколениями учащихся. Здесь есть FAQ - ссылка выделенная красным цветом в верху этой страницы. В FAQ должна быть статья с примерами и пояснениями. Начни с чего-нибудь. Лично мне не интересно делать целиком задачку за тебя. Помочь - да, помогу. |
DaryllDixonn |
23.12.2014 1:04
Сообщение
#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 - 23.12.2014 1:05 |
Федосеев Павел |
23.12.2014 3:24
Сообщение
#6
|
Бывалый Группа: Пользователи Сообщений: 298 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 8 |
Круто!
Возможно, ты был невнимателен, но в условии говорится о матрице А[5,4], а ты определяешь A[4,5]. И в дальнейшем используешь обращения PQ[j, i] вместо привычных глазу PQ[i, j]. В процедуре вывода матрицы я бы ограничился только выводом, без подсчёта суммы. А сам подсчёт выполнял бы в другом месте. При вычислении суммы, ты обнуляешь переменную где-то в конце, а не перед вычислением суммы строки. В итоге, сделал бы так: uses |
Гость |
23.12.2014 17:55
Сообщение
#7
|
Гость |
Круто! Возможно, ты был невнимателен, но в условии говорится о матрице А[5,4], а ты определяешь A[4,5]. И в дальнейшем используешь обращения PQ[j, i] вместо привычных глазу PQ[i, j]. В процедуре вывода матрицы я бы ограничился только выводом, без подсчёта суммы. А сам подсчёт выполнял бы в другом месте. При вычислении суммы, ты обнуляешь переменную где-то в конце, а не перед вычислением суммы строки. В итоге, сделал бы так: uses Program1.pas(18) : Переменная цикла for должна описываться в том же блоке, что и цикл for |
Гость |
23.12.2014 18:01
Сообщение
#8
|
Гость |
|
Федосеев Павел |
23.12.2014 21:52
Сообщение
#9
|
Бывалый Группа: Пользователи Сообщений: 298 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 8 |
Цитата Переменная цикла for должна описываться в том же блоке, что и цикл for Да, согласен. Нужно описать локальные переменные i и j в процедуре, а не пользоваться глобальными. Ошибся при копировании. Цитата А почему не выводится сумма строк ? В коде же есть... Сумма элементов строки выводится, просто не в том же блоке где и сама матрица. Этого нет в условии задания. вот я и не стал выполнять, вернее - даже удалил. Основная причина - автор неправильно вычислял сумму. Сначала должно прийти понимание, а потом можно усложнять. Поэтому не понятен вопрос - в каком коде есть? В моём - нет, в коде топикстартера - есть, но что там вычисляется? |
Текстовая версия | 24.09.2024 21:50 |