powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите составить алгоритм
3 сообщений из 3, страница 1 из 1
Помогите составить алгоритм
    #38119449
Андрей Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу помощи в написании алгоритма.

Существует N набор таблиц, который становится известен по ходу выполнения кода.
У каждой таблицы определенный набор строк.
Необходимо перебрать все варианты сочетания строк в таблицах.
На словах алгоритм выглядит следующим образом:

1. Получили кол-во таблиц = 3
2. Зафиксировали в первой таблице первую строку (есть поле IsSelected)
3. Зафиксировали во второй таблице первую строку (есть поле IsSelected)
4. Зафиксировали в третьей таблице первую строку (есть поле IsSelected)
5. После того как во всех таблицах строки зафиксировали выполняем произвольный метод
6. Далее фиксируем поочереди все строки в третьей таблице и каждый раз выполняем метод
7. Затем как только пробежались по всем строкам 3-ей таблицы, фиксируем следующую строку во второй
и так далее.

Помогите пожалуйста, напрашивается рекурсия, но как ее написать не могу сообразить.
...
Рейтинг: 0 / 0
Помогите составить алгоритм
    #38119464
фиганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Ч.,

Код: c#
1.
2.
3.
4.
for(int i=0;i<Таблица1.КоличествоСтрок;i++)
   for(int j=0;j<Таблица2.КоличествоСтрок;j++)
      for(int k=0;k<Таблица3.КоличествоСтрок;k++)
         Метод(параметры);
...
Рейтинг: 0 / 0
Помогите составить алгоритм
    #38119519
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Ч.Прошу помощи в написании алгоритма.

Существует N набор таблиц, который становится известен по ходу выполнения кода.
У каждой таблицы определенный набор строк.
Необходимо перебрать все варианты сочетания строк в таблицах.
На словах алгоритм выглядит следующим образом:

1. Получили кол-во таблиц = 3
2. Зафиксировали в первой таблице первую строку (есть поле IsSelected)
3. Зафиксировали во второй таблице первую строку (есть поле IsSelected)
4. Зафиксировали в третьей таблице первую строку (есть поле IsSelected)
5. После того как во всех таблицах строки зафиксировали выполняем произвольный метод
6. Далее фиксируем поочереди все строки в третьей таблице и каждый раз выполняем метод
7. Затем как только пробежались по всем строкам 3-ей таблицы, фиксируем следующую строку во второй
и так далее.

Помогите пожалуйста, напрашивается рекурсия, но как ее написать не могу сообразить.

алгоритм простой, никакой рекурсии не нужно пробегай по всем таблицам и вытаскивай последовательно значения

только тебе нужно определиться:
1. как ты на вход метода отдашь Т таблиц, предлагаю IEnumerable<MyTable>, где MyTable: IEnumerable<MyRow>
2. в какую структуру будешь собирать выбранные строки из таблиц, назовём её SelectedRows

тогда код превратиться в что-то типа этого:
Код: c#
1.
2.
data.Aggregate((l1, l2) => l1.Join(l2, (o) => true, (o) => true,(o,rows)=>CreateSelectedRows(o,rows)))
.ForEach((row)=>MyFunc(row));


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


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