Слегка не понимаю, как зашить это в цикл, чтобы получилось:
i:j, i:j, i:j, ...
Если это уже разбиралось, киньте ссылку, plz.
Сообщение отредактировано: TBVlad -
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Последовательный вывод индексов, (это с матрицей) |
TBVlad |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Каким бы образом сделать так, чтобы на вывод шёл не только первый встреченный искомый элемент с его местоположением (ну например максимальный), но и другие равные ему, с их родными индексами?
Слегка не понимаю, как зашить это в цикл, чтобы получилось: Код Максимальный член - N найден в позициях: i:j, i:j, i:j, ... Если это уже разбиралось, киньте ссылку, plz. Сообщение отредактировано: TBVlad - |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
То есть если у тебя в матрице несколько максимальных элементов ? ТОгда сначала надо найти максимальный элемент, запомнить его значение , ну а потом проходить по матрице и проверять, 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 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Klem4, да, я так именно так и делал.
1. Искал Max. Его индекс сохранён в Imax и Jmax, и первый максимальный член успешно выводится с местоположением. 2. Счётчик есть, с начальным значением 1 (задан до цикла), и равные максимальные члены считает успешно. Прога проверяет элементы на равенство Max, и если они равны, переопределяет их вместе с Imax и Jmax. Задаю Write(Max, ' стоит на ',Imax,':',Jmax,'.')... но индекс выводится неправильно. volvo, любопытно. Объясни про буфер позиций, plz... Сообщение отредактировано: TBVlad - |
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 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
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 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
я вот чо насочинял
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 Пол: Мужской Реальное имя: Владимир Репутация: 0 |
Ошибки исправлены Thanx всем =)
Klem4 Вот это телега... но тоже работает {...А в диске моём учебном такого нету } |
Текстовая версия | 29.04.2024 21:17 |