|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.01.2010, 05:43 | #11 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
Код:
ТОЖЕ ВСЁ РАБОТАЕТ! (здесь работает, а там нет)
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] Последний раз редактировалось RUSt88; 10.01.2010 в 05:46. |
10.01.2010, 10:54 | #12 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
ну вот. кое-что проясняется.
т.е. ваш вопрос должен был звучать так: ПОЧЕМУ вместо *(pmat + i) (и похожее в коде) НЕЛЬЗЯ писать *pmat++ ??? ('*' перед pmat++) цикл, который вы сверху написали правильный. при заполнении матрицы вы наверно не учли, что если вы обнуляли строки своей матрицы в цикле так: Код:
pmat++ смещает указатель на один. Короче, лучше бы разместили тут код, который у вас не работает. А то так можно долго гадать, где же вы там накосячили. |
10.01.2010, 11:11 | #13 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
И еще в догонку вам подумать.
Не пробовали двумерные матрицы в памяти выделять одним куском памяти? Для матрицы MxN надо было бы выделить M*N ячеек, а обращение к ij элементу выглядело бы так: pMatrixp[i * N + j]. Вы конечно же можете сказать что тут целое умножение дя еще и сложение только для того, чтобы считать/записать что-то в ячейку. Да, это так. А сколько по времени длится одно обращение к ячейке динамически выделенной памяти? Я вот не знаю? А создание такой матрицы уже в M раз быстрее вашего варианта. Про выделения большого куска памяти нужно тоже говорить отдельно. А еще что вы собираетесь делать со своей матрицей? двигать туда сюда интовые значения? или более сложные вычисления? при более сложных вычислениях разница между *p++ и p[i] уходит в тень этих вычислений. А если вам тупо надо свою прогу 'разогнать' и потом показать ее преподу, то тут тоже цель не оправдывает средства. У вас программа висит в вводе большую часть времени. Препод не заметит разницы между десятком микросекунд и между миллисекундой. Хотя в 100 раз вы этим явно ничего не разгоните. Единственное оправдание таким 'оптимизациям' - чисто академический интерес. С практической точки зрения, лучше всего писать p[i][j] ибо так понятнее. Последний раз редактировалось _Ч_; 10.01.2010 в 11:14. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
массив указателей в С ++ | серг | Помощь студентам | 1 | 14.12.2009 18:49 |
Массив указателей (паскаль) | diliana | Помощь студентам | 19 | 14.11.2009 11:53 |
массив указателей на методы класса? | cout | Общие вопросы C/C++ | 2 | 08.05.2008 09:43 |
Массив указателей на структуры | SNAKE89 | Общие вопросы C/C++ | 4 | 27.12.2007 10:14 |