Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
10.07.2003, 11:46
|
|||
|---|---|---|---|
проходка цикла циклов |
|||
|
#18+
Задачка следующая : Есть матрица (Nx4): Код: plaintext 1. 2. 3. 4. 5. Ее N строчек задают N циклов с их параметрами(Например, в 1-м цикле некая переменная x должна изменяться от xНач до xКон Значений с шагом 1 и текущее ее значение = xТекущее). Первый столбец приведен для определенности параметра цикла. Нужно пройти все эти циклы, считая что каждый верхний (по строке матрицы) охватывает нижний и ,например , распечатать 4-й столбец, содержащий текущее значение параметра цикла при проходке. Т.е. на первом шаге : xТекущее=xНач,yТекущее=yНач,...последняяТекущее=последняяНачальное на втором шаге : xТекущее=xНач,yТекущее=yНач,...последняяТекущее=последняяВтороеЕеЗначение Когда все значения последней переменной(самого внутреннего цикла) переберутся, перейти ко второму значению предпоследней переменой(предпоследнего цикла) при всех выше установленных переменных и опять перебрать все значения самого последнего цикла. И так перебрать всю предпоследнюю переменную. Покончив с ней перейти к перебору таким же образом цикла на уровень выше и так далее вплоть до самого верхнего. Ну и при каждой установке всех значений 4-го столбца матрицы - распечатывать его. Короче надо с учетом вложенности пройти все эти циклы, а параметры их , как я уже сказал, заданы в матрице, Которая,понятно , не имеет наперед известное количество строк(циклов) Как-то я не въезжаю. И еще - хотелось бы сделать это без рекурсивных процедур, так как с помощью этой структуры нужно обрабатывать уже существующую программулину.Но уж как получится! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2003, 15:19
|
|||
|---|---|---|---|
|
|||
проходка цикла циклов |
|||
|
#18+
Ты сам себе и ответил (почти): Когда все значения последней переменной(самого внутреннего цикла) переберутся, перейти ко второму значению предпоследней переменой(предпоследнего цикла) при всех выше установленных переменных и опять перебрать все значения самого последнего цикла. И так перебрать всю предпоследнюю переменную. Действительно, тебе нужно завести массив переменных цикла X[1..N], и на каждом шаге делать следующее: j=N Пока j>0: Увеличить X[j]. Если X[j] не превышает максимальное, конец итерации. Иначе установить начальное значение для X[j], установить j=j-1. Продолжить цикл "Пока" Если цикл "Пока" завершился со значением j=0, приехали -- предыдущая итерация была последней, можно переходить к печати. Это легко понять если представить себе перебор десятичных чисел -- разряды соответствуют твоим переменным. Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&tablet=1&tid=1348805]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 437ms |

| 0 / 0 |
