![]() |
|
Модераторы: bsa |
![]()
|
|
| kirkhammett |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 27.10.2009 Репутация: нет Всего: нет |
День добрый. Столкнулся с проблемой в написании алгоритма. По заданию Дан двумерный массив целых чисел А [ 1..N , 1..N ]. Нужно сформировать линейный массив В [ 1..N*N ], получающийся при чтении данного массива так, как показано на рисунке.
Условия задачи: Ввод размера массива пользователем. Обращатся к элементам через указатели. ![]() Я написал всю программу, кроме самого алгоритма обхода. Хотел делать через switch..case в итоге еще больше запутался. Прилагаю код: В этой части всё рабочее:
Здесь сам алгоритм обхода, который не выходит придумать
Вроде бы по логике понятно, но реализовать не могу в силу небольшого опыта. |
||||
|
|||||
| mekhanikus |
|
|||
|
Вольноопределяющийся ![]() Профиль Группа: Участник Сообщений: 186 Регистрация: 16.6.2008 Где: Спасск-Дальний Репутация: нет Всего: 1 |
Почему бы, для начала, не определить нормальный двумерный массив А?
После этого, имхо, легче придумать алгоритм обхода. Это сообщение отредактировал(а) mekhanikus - 27.10.2009, 13:32 |
|||
|
||||
| kirkhammett |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 27.10.2009 Репутация: нет Всего: нет |
По заданию я не могу обращатся к элементам массива через индексы. Как бы я его не задал, все равно придется пользоватся только адресами элементов в памяти.
|
|||
|
||||
| Dikey |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 6.3.2008 Где: Украина г.Изюм Репутация: нет Всего: нет |
объявляеш функцию типа (int *p)
в функцию нужно передавать (&имя_массива[строка]) а в функции принимать и обрабатывать построчно с помощью указателя на массив.(int *p) нужно еще цикл организовать для перебора строк. Двумерный массив+указатели Просто пример,это не решение твоей задачи.
Это сообщение отредактировал(а) Dikey - 27.10.2009, 18:44 |
|||
|
||||
| Albor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 2 Всего: 9 |
Как по мне - заполнять массив лучше последовательными значениями, а не случайными, тогда легче отследить правильность работы алгоритма обхода. |
|||
|
||||
| dima19911991 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.5.2011 Репутация: нет Всего: нет |
а если надо пройти масив наобарот начиная с правого нижнего угла.....направление тоже
помогите плииииииииизззззз |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |