powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / проходка цикла циклов
2 сообщений из 2, страница 1 из 1
проходка цикла циклов
    #32204182
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задачка следующая :
Есть матрица (Nx4):
Код: plaintext
1.
2.
3.
4.
5.
 1 -й столбец ;  2 -й столбец ;  3 -й столбец;  4 -й столбец
x                ;  хНач           ; xКон          ; xТекущее 
y                ;  yНач           ; yКон          ; уТекущее 
z                ;  zНач           ; zКон          ; zТекущее 
...              ;  ...Нач          ; ...Кон        ; ...Текущее 

Ее N строчек задают N циклов с их параметрами(Например, в 1-м цикле некая переменная x должна изменяться от xНач до xКон Значений с шагом 1 и текущее ее значение = xТекущее). Первый столбец приведен для определенности параметра цикла.
Нужно пройти все эти циклы, считая что каждый верхний (по строке матрицы) охватывает нижний и ,например , распечатать 4-й столбец, содержащий текущее значение параметра цикла при проходке.

Т.е. на первом шаге :
xТекущее=xНач,yТекущее=yНач,...последняяТекущее=последняяНачальное
на втором шаге :
xТекущее=xНач,yТекущее=yНач,...последняяТекущее=последняяВтороеЕеЗначение

Когда все значения последней переменной(самого внутреннего цикла) переберутся, перейти ко второму значению предпоследней переменой(предпоследнего цикла) при всех выше установленных переменных и опять перебрать все значения самого последнего цикла. И так перебрать всю предпоследнюю переменную.
Покончив с ней перейти к перебору таким же образом цикла на уровень выше и так далее вплоть до самого верхнего.
Ну и при каждой установке всех значений 4-го столбца матрицы - распечатывать его.

Короче надо с учетом вложенности пройти все эти циклы, а параметры их , как я уже сказал, заданы в матрице, Которая,понятно , не имеет наперед известное количество строк(циклов)

Как-то я не въезжаю. И еще - хотелось бы сделать это без рекурсивных процедур, так как с помощью этой структуры нужно обрабатывать уже существующую программулину.Но уж как получится!
...
Рейтинг: 0 / 0
проходка цикла циклов
    #32204643
tws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tws
Гость
Ты сам себе и ответил (почти):

Когда все значения последней переменной(самого внутреннего цикла) переберутся, перейти ко второму значению предпоследней переменой(предпоследнего цикла) при всех выше установленных переменных и опять перебрать все значения самого последнего цикла. И так перебрать всю предпоследнюю переменную.

Действительно, тебе нужно завести массив переменных цикла X[1..N], и на каждом шаге делать следующее:

j=N
Пока j>0:
Увеличить X[j]. Если X[j] не превышает максимальное, конец итерации.
Иначе установить начальное значение для X[j], установить j=j-1.
Продолжить цикл "Пока"
Если цикл "Пока" завершился со значением j=0, приехали -- предыдущая итерация была последней, можно переходить к печати.


Это легко понять если представить себе перебор десятичных чисел -- разряды соответствуют твоим переменным.

Успехов.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / проходка цикла циклов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]