![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
DruiD |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Будем называть соседями элемента с индексами i,j некой матрицы такие элементы, что соответствующие индексы которых отличаются от i,j не больше чем на единицу. Для данной целочисленной матрицы А(m*m) найдите матрицу В, которая состоит из нулей и единиц, элемент которой bi равен единице, когда все соседи a ij меньше самого a ij.
Обьясню подробно: У каждого элемента в матрице есть соседние элементы: справа, слева, сверху, снизу и по диагоналям (соответсвенно у крайних элементов соседей меньше). Необходимо найти сумму всех соседей и определить больше ли сумма соседей самого элемента. Если да то в новой матрице на месте элемента ставим 0 если нет, то 1. Сообщение отредактировано: DruiD - 24.10.2006 5:51 |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну и что в этой задаче такого интересного? Опиши функцию, которая по i, j будет возврашать тебе 0 или 1 в зависимости от того, больше или нет сумма соседей в матрице A, чем сам элемент... И возвращенное значение ставь в матрицу B на то же место [i, j]...
Как написать такую функцию? type matrix = array[1 .. m, 1 .. m] of integer; |
DruiD |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
А как мне матрицу В поставить на прежнее место [i,j]?
И почему ты матрицу В не описал в приведённой программе |
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
потому что это не программа, а функция - подпрограмма....
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
DruiD |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
а как тогда будет выглядеть программа?
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
А это уж ты сам как-нибудь... Основная честь уже готова, а ПОЛНОСТЬЮ писать за тех, кто не хочет пальцем пошевелить, я не буду...
|
DruiD |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата А это уж ты сам как-нибудь... Основная честь уже готова, а ПОЛНОСТЬЮ писать за тех, кто не хочет пальцем пошевелить, я не буду... Да я бы с радостью написал бы, только я функции ещё не проходил, а только двумерные массивы. Так что функция, которую ты написал мне абсолютно бесполезна. Здесь наверно можно решить просто через обычные циклы с параметрами, как мне и необходимо. Я не прошу вылаживать все решения, я прошу только обьяснить мне как через цикл с параметрами найти сумму соседей, а остальное я уж сам. И всё... Но всё равно спасибо, что хоть уделил внимание... |
мисс_граффити |
![]()
Сообщение
#8
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
просто не оформляй это отдельной функцией, а возьми ее тело и запихни в основную программу (добавив описание и задание значений переменных и т.д.)
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
DruiD |
![]()
Сообщение
#9
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Можете обьяснить что означает эта строка, у меня в ней выводит ошибку.
Код GetNeighbour := Byte(s < A[i, j]); что здесь подразумевается под Byte Сообщение отредактировано: DruiD - 27.10.2006 14:35 |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Подразумевается возврат значения НЕ в виде True/False, как положено при сравнении, а в виде 1 если условие выполнено, и 0 - в противном случае... Для этого результат рассматривается НЕ как Boolean, а как Byte...
|
DruiD |
![]()
Сообщение
#11
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Вышеуказанное утверждение (ix = 0) and (iy = 0) неправильно так как нам будет искать сумму только по диагоналям. Блоки ix = 0 и iy = 0 необходимо расписывать отдельно. Вот Полная программа
program insatiable; |
мисс_граффити |
![]()
Сообщение
#12
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Вышеуказанное утверждение (ix = 0) and (iy = 0) неправильно так как нам будет искать сумму только по диагоналям. Блоки ix = 0 и iy = 0 необходимо расписывать отдельно. ну ладно, написал вариант, который тебе понятнее - хорошо.... зачем другой неправильным обзывать? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 25.06.2025 8:07 |