Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
2 / 2 / 1
Регистрация: 13.07.2012
Сообщений: 31
.NET 4.x

Из указанных чисел сгенерировать всевозможные комбинации

06.10.2012, 19:09. Показов 5134. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать такую программу.
Есть пять чисел например: 1, 2, 3, 4, 5.

Надо чтобы программа вывила вот так.
1 1 1
1 1 2
1 1 3
1 1 4
1 1 5
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
….....
…....
........
5 5 5
Желательно без дублей.
Вообще надо из указанных чисел сгенерировать комбинации и чтобы числа выводились по три в ряд.
И чисел может быть не 5 а любое количество.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2012, 19:09
Ответы с готовыми решениями:

Сформируйте всевозможные комбинации K-значных чисел
Имеется N различных цифр a1, a2,…,an. Сформируйте всевозможные комбинации K-значных чисел, состоящие из данных цифр.

Вывести всевозможные комбинации из n-чисел размером k
Вводим в программе n и k n - кол-во цифр (1, 2, 3,...,n) k - длинна выводимой комбинации (если k=3, то должны получать 123,...

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

9
14 / 14 / 3
Регистрация: 14.02.2010
Сообщений: 293
06.10.2012, 20:01
генерирует числа от 1-5 задание в масиве int[] p; если в етот масив задать другиє значения то будет их генерировать по 3.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 class Class1
    {
        int k1, k2, k3;
        int[,] m = new int[10, 3];
        int[] p = { 1, 2, 3, 4, 5 };
 
        public void a()
        {
            for (int i = 0; i < 10; i++)
            {
                Random h1 = new Random();
                k1=h1.Next(0,5);
                k2 = h1.Next(0, 5);
                k3 = h1.Next(0, 5);
                m[i, 0] = p[k1];
                m[i, 1] = p[k2];
                m[i, 2] = p[k3];
            }
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j <= 2; j++)
                {
                    Console.Write(" {0}", m[i, j]);
                }
                Console.WriteLine("");
            }
        }
    }
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
06.10.2012, 22:21
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var x= P(new []{1,2,3,4,5}, 3);
            x.Select(i =>
                         {
                             i.Select(j =>
                             {
                                 Console.Write(j + "\t");
                                 return 0;
                             }).ToList();
                             Console.WriteLine();
                             return 0;
                         }).ToList();
            Console.ReadKey();
        }
 
        static List<List<int>> P(IEnumerable<int> set, int n)
        {
            var result = new List<List<int>> {null};
            for (var i = 0; i < n; i++)
            {
                var tresult = new List<List<int>>();
                foreach (var tuple in result)
                {
                    foreach (var item in set)
                    {
                        var ttuple = new List<int>(tuple??new List<int>());
                        ttuple.Add(item);
                        tresult.Add(ttuple);
                    }
                }
                result = tresult;
            }
            return result;
        }
    }
}
1
2 / 2 / 1
Регистрация: 13.07.2012
Сообщений: 31
08.10.2012, 18:32  [ТС]
спасибо freest, а как ваш код изменить для windows form чтобы при нажатии на кнопку в textBox выводился результат?
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
08.10.2012, 19:13
каждый подсписок - комбинация, ее записываете через пробел с помощью метода AppendLine в StringBuilder, а потом записываете в текстбокс
0
 Аватар для 6aHaH
0 / 1 / 0
Регистрация: 25.03.2012
Сообщений: 63
09.10.2012, 10:22
Можно поподробнее, как работает эта часть программы?
C#
1
2
3
4
5
6
7
8
9
10
11
12
    x.Select(i =>
            {
                i.Select(j =>
                {
                    Console.Write(j + "\t");
                    return 0;
                }).ToList();
                Console.WriteLine();
                return 0;
            }).ToList();
            Console.ReadKey();
        }
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
09.10.2012, 10:24
прочитайте про LINQ.
0
 Аватар для 6aHaH
0 / 1 / 0
Регистрация: 25.03.2012
Сообщений: 63
09.10.2012, 10:29
Почему когда я поменял строку
C#
1
            var x = P(new[] { 1, 2, 3, 4, 5 }, 3);
на
C#
1
            var x = P(new[] { 1, 2, 3, 4, 5 }, 30);
Программа ничего не писала... ?
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
09.10.2012, 12:58
Цитата Сообщение от 6aHaH Посмотреть сообщение
Можно поподробнее, как работает эта часть программы?
это болт-банан
для шутки
C#
1
2
3
4
5
6
            for (int i = 0; i < x.Count; i++)
            {
                for (int j = 0; j < x[i].Count; j++)
                    Console.Write(x[i][j] + "\t");
                Console.WriteLine();
            }
делает то же самое
0
2 / 2 / 1
Регистрация: 13.07.2012
Сообщений: 31
09.10.2012, 17:18  [ТС]
При генерации комбинаций компьютер используется много ресурсов поэтому строка в 30 чисел в ширину , получается очень много комбинаций от чего программа зависает и нечего наделает. Могу посоветовать после запуска программы не трогать компьютер может и выводит числа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2012, 17:18
Помогаю со студенческими работами здесь

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

Всевозможные комбинации
Даны три цифры,из них составить всевозможные трехзначные числа. Н-р: 5,8,3 Получить: 583 538 853 835 358 385

Как посчитать всевозможные комбинации строки
Допустим есть слово &quot;Пример задачи&quot;. Стоит цель заменить русские буквы на аналогичные английские. Пример задачи Пример задачи ...

Всевозможные комбинации латинского алфавита до 4х символов
Здравствуйте! Нужно получить все возможные варианты 2х-значных слов латинского алфавита включая цифры, 3х-значных слов латинского...

Составить всевозможные комбинации трех букв
подскажите кто знает как можно сделать подобное: есть 3 буквы к примеру А,Б,В , необходимо создать из этих 3-х букв все возможные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru