|   |   | 
| 
 | Алгоритм перебора вариантов | ☑ | ||
|---|---|---|---|---|
| 0
    
        seller7 17.05.17✎ 15:28 | 
        Есть несколько таблиц значений. В каждой из них разное количество значений. Необходимо составить список всех возможных вариантов без повторений.
 Например, дан массив из 3-х таблиц (а может быть сколько угодно): Таблица1 Таблица2 Таблица3 - А - 1 - x - 2 - y - 3 Решение: - А 1 x - А 1 y - А 2 x - А 2 y - А 3 x - А 3 y Головоломка... | |||
| 1
    
        Ёпрст гуру 17.05.17✎ 15:29 | 
        cross join в запросе + различные.
 Усё | |||
| 2
    
        seller7 17.05.17✎ 15:29 | 
        Поплыло оформление таблиц.. Суть такая:
 Таблица1: А Таблица2: 1, 2, 3 Таблица3: x, y | |||
| 3
    
        Ёпрст гуру 17.05.17✎ 15:36 | 
        (2)
 Выбрать различные t1.x,t2.x,t3.x ИЗ &t1 как t1,&t2 как t2,&t3 как t3 | |||
| 4
    
        NaumS 17.05.17✎ 15:39 | 
        (2) наймите профессионала.     | |||
| 5
    
        PiotrLoginov 17.05.17✎ 15:45 | 
        И таблицы - не таблицы, и перебор - не перебор... Эх, печаль.     | |||
| 6
    
        Garykom гуру 17.05.17✎ 15:55 | 
        (3) Все хорошо кроме того что невозможно распараллеливание и постепенная выдача результата по мере составления новых сочетаний.
 Для малых таблиц (до 200-300 строк в каждой) запросы идеальны, но если будет >1000 (100010001000=?) то ждать устанут. | |||
| 8
    
        Garykom гуру 17.05.17✎ 15:56 | 
        (6) 1000х1000х1000=?     | |||
| 9
    
        Ёпрст гуру 17.05.17✎ 16:02 | 
        (6) ну, написать 3 цикла , каждый школьник может     | |||
| 10
    
        Ёпрст гуру 17.05.17✎ 16:02 | 
        перед этим, свернув 3 таблички, чтоб значения в них были уникальными     | |||
| 11
    
        СвинТуз 17.05.17✎ 16:03 | 
        (0)
 а в чем подвох то? цикл во вложенный цикл? | |||
| 12
    
        СвинТуз 17.05.17✎ 16:04 | 
        Тз свернуть     | |||
| 13
    
        Naf2017 17.05.17✎ 16:04 | 
        (6) а зачем пользователям столько вариантов?     | |||
| 14
    
        Ёпрст гуру 17.05.17✎ 16:05 | 
        Для каждого стр1 из т1 цикл
 Для каждого стр2 из т2 цикл Для каждого стр3 из т3 цикл стр = тИтог.Добавить(); стр.д = стр1.х; стр.у = стр2.х; стр.ш = стр3.х; КонецЦикла; КонецЦикла; КонецЦикла; | |||
| 15
    
        Ёпрст гуру 17.05.17✎ 16:06 | 
        (11) выпускные скоро в школе, готовятся к экзаменам по информатике     | |||
| 16
    
        СвинТуз 17.05.17✎ 16:08 | 
        (14)
 число таблиц не заданно. (15) Бесконечный цикл надо а массивы в массив положить | |||
| 17
    
        СвинТуз 17.05.17✎ 16:08 | 
        предварительно удалив дубли     | |||
| 18
    
        СвинТуз 17.05.17✎ 16:08 | 
        тривиально     | |||
| 19
    
        Вафель 17.05.17✎ 16:08 | 
        Это же просто декартово произведение     | |||
| 20
    
        СвинТуз 17.05.17✎ 16:12 | 
        Не бесконечный цикл , а цикл по элементам массива-контейнера.
 Рекурсия = зло | |||
| 21
    
        СвинТуз 17.05.17✎ 16:13 | 
        На паскале это совсем просто     | |||
| 22
    
        Garykom гуру 17.05.17✎ 16:26 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |