![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Gilgamesh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.11.2008 Репутация: нет Всего: нет |
В Microsoft Visual C++ 6.0
Задание: В матрице A[m][n] все строки и столбцы упорядочены по неубыванию. Найти элемент массива, равный заданному числу x или сообщить о его отсутствии. Число действий в решении должно быть порядка m+n(а не порядка m*n). Есть код
Нужно изменить его так чтобы, длину каждой строки можно было вводить самому. |
|||
|
||||
Shooroop |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 28.4.2008 Где: Красноярск Репутация: 2 Всего: 2 |
Длину какой каждой строки?? поясни.
на этапе создания или на этапе поиска?? |
|||
|
||||
Gilgamesh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.11.2008 Репутация: нет Всего: нет |
На этапе создания.
Например чтот типо такой матрицы. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|||
|
||||
Shooroop |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 28.4.2008 Где: Красноярск Репутация: 2 Всего: 2 |
оно?? гы по моему алгоритм работать не будет Это сообщение отредактировал(а) Shooroop - 23.1.2009, 22:33 |
|||
|
||||
Gilgamesh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.11.2008 Репутация: нет Всего: нет |
Мда, чот алгоритм иногда не срабатывает
|
|||
|
||||
Shooroop |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 28.4.2008 Где: Красноярск Репутация: 2 Всего: 2 |
не будет работать:
во первых задаются значения только для тех элементов массива которые входят в диапазон, в остальных будет мусорные заначения во вторых алгоритм начинает работать с правого верхнего угла ща сделаю |
|||
|
||||
Shooroop |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 28.4.2008 Где: Красноярск Репутация: 2 Всего: 2 |
Видимый массив - массив который отображается на мониторе, который мы собственно и пытаемся обрабатывать размерность(mm*nn), не может превышать размера фактического массива.
фактический массив - массив под который выделили память размерности (mm*(nn+1)). Состоит из 2-х частей, одномерного массива размерности (mm*1) (т.е. просто столбик) в который записываются длины строк которые мы вводим вручную и видимого массива. получается что то типа этого: mm=3 nn=4 3 1 2 3 1 5 4 9 10 11 12 Особенность алгоритма: в любой строке всегда должен быть первый элемент, как следствие во всем массиве всегда есть первый столбец
Это сообщение отредактировал(а) Shooroop - 24.1.2009, 00:23 |
|||
|
||||
Shooroop |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 28.4.2008 Где: Красноярск Репутация: 2 Всего: 2 |
если заменить этот код:
на этот:
то программа будет работать быстрее(алгоритм остался прежний) т.к. выполняется меньше проверок (т.е. операторов условного перехода), если вотрешь это преподу то гарантирую оценку на бал выше и респект со стороны препода ![]() |
||||
|
|||||
Gilgamesh |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.11.2008 Репутация: нет Всего: нет |
Спасибо
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |