![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Slay1 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 17.5.2006 Репутация: нет Всего: нет |
Помогите пожалуйста решить задачу, не могу найти в чем проблема.
Сначала пробовал без масивов, просто цьіклически переставлять числа, все работало. Кажется ошьібка где-то тут: for (q=0; q<n; q++) temp[q]=a[m-1][q]; for (j=m-1; j>0; j--) for (q=0; q<n; q++) a[j][q]=a[j-1][q]; Помогите пожалуйста! |
||||
|
|||||
| AlanG |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 11.5.2006 Где: РашЫн ФидирейшЫн Репутация: нет Всего: нет |
По логике, как сам задумал менять значения?
Объясни на словах, чтобы быстрее понять логику кода. Какими значениями забиваешь матрицу? Это сообщение отредактировал(а) AlanG - 18.5.2006, 08:12 |
|||
|
||||
| Slay1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 17.5.2006 Репутация: нет Всего: нет |
Делаю так: переменной temp присваиваю значение последней строки, потом вме остальние строки сдвигаю на одну вниз, то есть
строке j присваиваю значение строки j-1, потом первой строке присваеваю елементьі последней, то есть переменную temp. Это сообщение отредактировал(а) Slay1 - 18.5.2006, 08:43 |
|||
|
||||
| likehood |
|
||||||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: 8 Всего: 24 |
здесь у тебя ошибка: матрица а у тебя содержит n строк и m столбцов, а в цикле наоборот - j проходит по m строкам, i по n столбцам. Достаточно поменять местами n и m в объявлении массивов а и temp:
И еще одно замечание: по поводу #define. Если и используешь #define для объявления костант, давай им имена подлинее и желательно в верхнем регистре. Но лучше объявить их так:
|
||||||
|
|||||||
| AlanG |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 11.5.2006 Где: РашЫн ФидирейшЫн Репутация: нет Всего: нет |
"Пробегая" строку ты должен перемещатся по столбцам
И переменная q cдесь зависит от значения - кол-во строк, а ты присваиваешь tempу значение: строка - m-1 и столбец - q. Т.е. перемещаешся по столбцам, но при этом используешь значение строки. Или это задача такая запутанная, и что-то я недогоняю Это сообщение отредактировал(а) AlanG - 18.5.2006, 09:34 |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: 8 Всего: 24 |
Если бы в С++ проверялся выход за границы массива (двумерного) ошибку было бы найти намного легче. Не зря же говорят, что на С++ нужно писать очень аккуратно.
|
|||
|
||||
| Slay1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 17.5.2006 Репутация: нет Всего: нет |
Всем спасибо, особенно baronp
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |