![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
TBVlad |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
Каким бы образом сделать так, чтобы на вывод шёл не только первый встреченный искомый элемент с его местоположением (ну например максимальный), но и другие равные ему, с их родными индексами?
Слегка не понимаю, как зашить это в цикл, чтобы получилось: Код Максимальный член - N найден в позициях: i:j, i:j, i:j, ... Если это уже разбиралось, киньте ссылку, plz. Сообщение отредактировано: TBVlad - 20.01.2006 18:45 |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
То есть если у тебя в матрице несколько максимальных элементов ? ТОгда сначала надо найти максимальный элемент, запомнить его значение , ну а потом проходить по матрице и проверять, if m[i,j] = max then writeln(i,',',j);
Ты об этом ? -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
TBVlad,
либо первым проходом по матрице ищешь нужный элемент и вторым проходом - печатаешь его индексы (этот способ неоптимален по времени), либо организуешь буфер позиций, и при нахождении повторного элемента запоминаешь еще одну позицию, а при надобности - просто сбрасываешь буфер и начинаешь по новой (это - неоптимально по запросам памяти)... Если надо - говори, покажу как реализовать второй способ... |
TBVlad |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
Klem4, да, я так именно так и делал.
1. Искал Max. Его индекс сохранён в Imax и Jmax, и первый максимальный член успешно выводится с местоположением. 2. Счётчик есть, с начальным значением 1 (задан до цикла), и равные максимальные члены считает успешно. Прога проверяет элементы на равенство Max, и если они равны, переопределяет их вместе с Imax и Jmax. Задаю Write(Max, ' стоит на ',Imax,':',Jmax,'.')... но индекс выводится неправильно. volvo, любопытно. Объясни про буфер позиций, plz... Сообщение отредактировано: TBVlad - 20.01.2006 19:06 |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Вот так примерно:
const проверено на матрице: 1, 2, 3, 4, 5 1, 7, 3, 4, 5 1, 2, 3, 4, 5 1, 2, 3, 7, 5 7, 2, 3, 4, 5 Результат: max = 7; positions are: |
TBVlad |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
Volvo, спасибо.
Цитата { и распечатываешь все значения X:Y из буфера, от 1 до buf_count } Только одна маленькая вещь... Пишу: For buffer:=1 to buf_count do И мне выдают ошибку 97 (Invalid For control variable). Цикл For для распечатки буфера не подходит? |
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
я вот чо насочинял
![]() uses crt; -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
TBVlad, так делай:
for i := 1 to buf_count do Твоя ошибка - в том, что buffer это массив, и не может быть использован как переменная для For ![]() |
TBVlad |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Владимир Репутация: ![]() ![]() ![]() |
Ошибки исправлены
![]() Klem4 Вот это телега... но тоже работает ![]() {...А в диске моём учебном такого нету ![]() |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:07 |