|
Модераторы: bsa |
|
centel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 2.11.2005 Репутация: нет Всего: нет |
Дано число n, n <= 100 . Создайте массив n×n и заполните его по следующему правилу:
- числа на диагонали, идущей из правого верхнего в левый нижний угол, равны 1; - числа, стоящие выше этой диагонали, равны 0; - числа, стоящие ниже этой диагонали, равны 2.
Что можно сделать для минимизации времени выполнения? |
|||
|
||||
Pavia |
|
|||
Опытный Профиль Группа: Участник Сообщений: 418 Регистрация: 6.12.2008 Репутация: нет Всего: 12 |
Вынести условия за цикл, т.е циклы поместить в условия.
|
|||
|
||||
volatile |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
darkart |
|
|||
Опытный Профиль Группа: Участник Сообщений: 379 Регистрация: 9.11.2005 Репутация: нет Всего: 31 |
Попробуйте убрать условия, и не пересматривать весь массив...
|
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: -1 Всего: 16 |
Использовать char вместо int, и memset+bzero для заполнения.
|
|||
|
||||
kolobok0 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 64 Регистрация: 24.12.2008 Репутация: нет Всего: 2 |
1) воспользоваться свойством обнуления глобальных переменных. 2) использовать чар, как тут уже прозвучало 3) выкинуть один цикл - он не нужен. 4) использовать мемсет, как тут прозвучало на половину интервала, с параметром 2 для понимания чего мона убрать и как сделать - пройдитесь мысленно на маленьком размере по данному алгоритму. это квадратная матрица с диоганалью значением одын. с меньшей стороны индексов она вся нулёвая. в большей - значения два. двойками (по второму размеру) заполняется всегда размер матрицы минус смещение по первому размеру минус одын. т.е. оптимизация будет более чем на 50% по скорости. ик? (круглый) |
|||
|
||||
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |