1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| 18192123 |
13.11.2006 16:42
Сообщение
#1
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: 2 |
дан двумерный массив, вывести ту строку, сумма модулей элементов в которой максимальна.
использовать процедуры. я не соображу, как собственно вывести строку и еще... при компиляции появляется ошибка 36 ( отсутствие begin), не знаю, где его пропустила
|
![]() ![]() |
| Lapp |
16.11.2006 5:28
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Первое замечание: соблюдай отступы! после каждого begin текст идет на 2 позиции правее, после end - левее. Посмотри на мой код внизу - сразу видно, где задаются переменные, где тело процедуры, а где тело цикла, правда?
В процедуре Модыл (modyl) понаворочено.. 1. В тройном цикле самый внешний (по k) - лишний. 2. Соответственно, сам параметр k - лишний. Все k заменить на i. 3. Тело цикла упростить так: s[i]:=s[i]+abs(a[i,j]) 4. Тогда переменная t больше не нужна - убрать (она все равно неправильно использовалась) 5. Для краткости, убери цикл с занулением s[i] и сделай зануление во внешнем цикле двойного перед внутренним. Должно получиться что-то вроде этого: procedure modyl(var a:matr; var s:vect); В процедуре Поиск что-то совсем странное.. Ты печатаешь ВСЕ строчки, у которых s[k] больше чем s[1]. При этом первую строчка не напечатается, даже если s[1] больше всех остальных значений. Кроме того, ты перепутала n и m, поэтому выводятся не 3, а 2 элемента.. Как нужно делать: 1. Запоминаешь s[1] в max (это у тебя есть). 2. Заводишь еще один параметр (скажем, L) для номера искомой строки. 3. Кладешь в L единицу (номер первой строки). 4. Устраиваешь цикл по строчкам со 2-й (потому что первый элемент сравнивать с самим собой бессмысленно) до m. 5. В этом цикле, если s[k] больше чем max, то запоминаешь параметр цикла в L. 6. Выходишь из цикла и печатаешь строку с номером L. Последнее замечание: почему ты в процедуре Модыл параметры цикла определяла диапазоном, а в процедуре Поиск аналогичные параметры у тебя integer? Типа при поиске проверка диапазона тебе не важна? Вот потому-то у тебя и получаются ошибки от путаницы m и n. Уж если делаешь диапазоном, делай везде. Когда перестанешь делать очевидные ошибки (или хотя бы научишься их искать) - тогда делай intrger.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
18192123 модули элементов в двумерном массиве 13.11.2006 16:42
volvo :blink: У тебя не только Begin пропущен... Внимате... 13.11.2006 16:47
18192123
:blink: У тебя не только Begin пропущен... Внимат... 13.11.2006 20:41
klem4 Компиляция чего проходит успешно ? Приведенный тоб... 13.11.2006 20:46
18192123
Компиляция чего проходит успешно ? Приведенный то... 13.11.2006 21:35
Гость Ты вводишь матрицу n*n =4
а надо m*n =10 13.11.2006 21:53
klem4 Гость, ты о чем ?
18192123, вот смотри, разбирай... 13.11.2006 21:56
18192123
Гость, ты о чем ?
18192123, вот смотри, разбира... 13.11.2006 23:29
18192123 18192123, вот смотри, разбирайся
объясни пожалуйст... 14.11.2006 15:52
Гость RE: модули элементов в двумерном массиве 13.11.2006 22:04
klem4 Гость, онаже Pola А если подумать ? 13.11.2006 22:07
Гость
и саму строку вывести в конце проги можно
13.11.2006 22:17
klem4 Более чем уверен, что имлось в виду вывести номер ... 13.11.2006 22:19
18192123
Более чем уверен, что имлось в виду вывести номер... 13.11.2006 23:14
Гость У тебя какая версия Паскаля?
может это на const в ... 14.11.2006 9:24
klem4
Const как раз ставится для того, чтобы исключить... 14.11.2006 10:06
volvo klem4:
function Sum(const mx: TMx; row: Integer):... 14.11.2006 11:29
klem4 Sum исправил. По поводу const это и имел в виду н... 14.11.2006 11:38
klem4 function Sum(const mx: TMx; row: Integer): Intege... 14.11.2006 18:34
18192123
function Sum(const mx: TMx; row: Integer): Integ... 14.11.2006 22:34
мисс_граффити это формальный параметр.
вместо него при вызоые по... 14.11.2006 22:41
18192123
это формальный параметр.
вместо него при вызоые п... 14.11.2006 22:55
18192123
большое спасибо!
а у меня тут еще один вариа... 15.11.2006 18:08
18192123
а у меня тут еще один вариант "родился... 15.11.2006 22:46
18192123
ну почему мне никто не хочет помочь!
неужели ... 15.11.2006 23:34
мисс_граффити послушай:
1. никто не обязан круглосуточно следить... 15.11.2006 23:53
18192123
послушай:
1. никто не обязан круглосуточно следит... 16.11.2006 0:15
18192123
Первое замечание: соблюдай отступы! после каж... 16.11.2006 19:31
18192123
кажется, я в очередной раз запуталась в процедура... 16.11.2006 21:27
lapp
теперь поняла в чем ошибка
Уррррааа!
:) :) :)... 17.11.2006 7:26![]() ![]() |
|
Текстовая версия | 9.12.2025 0:20 |