|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.04.2008, 12:56 | #1 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 13
|
Циклический сдвиг столбцов в массиве С++ Помогите!
Здравствуйте. Помогите, пожалуйста, дорешать задачу. Нужно осуществить (в консоли) циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в зависимости от введенного режима). n может быть больше количества элементов в строке или столбце. Часть я написала. Получилось, что введенный массив сдвигается сразу весь на заданный сдвиг z. А мне надо, чтобы столбцы (строки) менялись местами. Там должно быть ещё условие, типа если сдвиг больше числа элементов, то... А что дальше, я никак не придумаю. Пожалуйста, помогите! (Это на Visual C++ 6.0).
Код:
Последний раз редактировалось merax; 22.04.2008 в 19:55. |
22.04.2008, 13:57 | #2 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Так а в чём вопрос-то? Если в этом:
Цитата:
|
|
23.04.2008, 09:18 | #3 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 13
|
Ой, извините за код, я забыла про тэг
Мне как раз и надо двигать. Типа этого: 123 456 789 Если сдвинуть на 1 вправо, то будет так: 312 645 978 А как там делить? Если, например, сдвиг=2, а кол-во столбцов=3, то остаток от 2/3 сравнивать с j? И чего потом? Я вот в этом не разберусь. У меня весь массив уезжает, а он должен перестраиваться. Последний раз редактировалось Ладушка; 23.04.2008 в 09:21. |
23.04.2008, 13:38 | #4 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
Inew = (Iold + (SHIFT % COUNT)) % COUNT Inew, Iold - новый и старый индексы, SHIFT - величина сдвига (с учётом знака, вправо - плюс, влево - минус), COUNT - размерность массива в направлении сдвига. Проверьте на всякий случай. |
|
24.04.2008, 19:03 | #5 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 13
|
спасибо, что откликнулись, но всё-равно у меня ниче не получается.
Здесь что-то не так... Код:
|
24.04.2008, 22:25 | #6 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Этот тот случай, когда проще показать:
Код:
|
24.04.2008, 22:48 | #7 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 13
|
Ого! Спасибо большое. Буду разбираться и в Вашем коде, но я тут доделала свои наработки. Весь вечер сижу Столбцы и строки теперь двигаются, благодаря Вашей формуле, но новый массив выводится в виде одного столбца. Все элементы подряд. А если выписать по строкам, то как раз то что надо. Вопрос: как представить масси в нормальном наглядном виде?
Код:
Последний раз редактировалось Ладушка; 25.04.2008 в 18:04. |
01.05.2008, 12:34 | #8 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 13
|
Ну помогите... я уже не могу с этими циклами! Куда я их только не запихивала. Он в один столбик всю матрицу выдаёт! Что я не так делаю?
|
01.05.2008, 14:46 | #9 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
Код:
|
|
01.05.2008, 21:00 | #10 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 13
|
Вот и я про то же. Ниче не понимаю! Вроде элементарная задачка, а я туплю. Никогда так долго лабу не делала. Всегда одной ночи хватало
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сдвиг данных в dbgrid'e на 1 вверх | kate158 | БД в Delphi | 5 | 22.08.2008 22:20 |
циклический сдвиг массива | goacher | Общие вопросы C/C++ | 4 | 28.05.2008 20:11 |
циклический сдвиг массива | goacher | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 27.05.2008 22:26 |
Сдвиг файла | OrdJONY | Общие вопросы Delphi | 13 | 21.12.2007 22:22 |