Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
проходка цикла циклов
|
|||
|---|---|---|---|
|
#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, 11:46 |
|
||
|
проходка цикла циклов
|
|||
|---|---|---|---|
|
#18+
Ты сам себе и ответил (почти): Когда все значения последней переменной(самого внутреннего цикла) переберутся, перейти ко второму значению предпоследней переменой(предпоследнего цикла) при всех выше установленных переменных и опять перебрать все значения самого последнего цикла. И так перебрать всю предпоследнюю переменную. Действительно, тебе нужно завести массив переменных цикла X[1..N], и на каждом шаге делать следующее: j=N Пока j>0: Увеличить X[j]. Если X[j] не превышает максимальное, конец итерации. Иначе установить начальное значение для X[j], установить j=j-1. Продолжить цикл "Пока" Если цикл "Пока" завершился со значением j=0, приехали -- предыдущая итерация была последней, можно переходить к печати. Это легко понять если представить себе перебор десятичных чисел -- разряды соответствуют твоим переменным. Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2003, 15:19 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=32204643&tid=1348805]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 307ms |
| total: | 572ms |

| 0 / 0 |
