С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Major_Ram
0 / 0 / 0
Регистрация: 10.04.2016
Сообщений: 14
1

Комбинация элементов массива

20.06.2018, 15:10. Просмотров 727. Ответов 1
Метки нет (Все метки)

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

Например, есть массив:
C#
1
string[] mass = { "1", "2", "3" };
а нужно получить:
123
132
213
231
312
321
12
13
21
23
31
32
1
2
3
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2018, 15:10
Ответы с готовыми решениями:

Записать индексы тех элементов исходного массива, которые больше среднего значения всех элементов массива
Составить новый массив и вывести на экран, в который записать индексы тех...

Найти сумму элементов массива, которые делят максимальное значение элементов массива без остатка
Дан целочисленный массив из n элементов. Элементы могут принимать целые...

Количество положительных элементов массива, сумма элементов массива после последнего элемента, равного нулю
В одномерном массиве, который состоит из n действительных элементов,...

Массив считает кол-во отрицательных элементов массива и сумму модулей элементов массива
Помогите пожалуйста исправить программу. Массив считает кол-во отрицательных...

Комбинация условий
Привет! Подскажите пожалуйста как комбинировать условия, например: Если ...

1
Toros1992
259 / 234 / 145
Регистрация: 26.11.2015
Сообщений: 845
Завершенные тесты: 4
20.06.2018, 16:07 2
Лучший ответ Сообщение было отмечено Major_Ram как решение

Решение

Можно вот так, через рекурсию:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static void Main(string[] args)
        {
            string[] mass = new[] { "1", "2", "3" };
            string[] res = GetAllCombinations(mass);
        }
 
        static string[] GetAllCombinations(string[] arr)
        {
            List<string> result = new List<string>();
            GetAllCombinationsRecursive(result, arr, "");
            return result.ToArray();
        }
 
        private static void GetAllCombinationsRecursive(List<string> result, string[] arr, string memory)
        {
            if (!string.IsNullOrEmpty(memory)) result.Add(memory);
            if (arr.Length == 0) return;
            for (int i = 0; i < arr.Length; i++)
            {
                GetAllCombinationsRecursive(result, arr.Where((x, y) => y != i).ToArray(), memory + arr[i]);
            }
        }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2018, 16:07

комбинация клавиш
всем привет!) как мне сделать чтобы программа при нажатии комбинации клавиш...

Составить массивсостоящий из элементов массива а за исключением элементов массива б
Console.WriteLine(&quot;введите массив а&quot;); ...

Найти сумму четных элементов массива целых чисел. Размерность массива – 20. Заполнение массива осуществить случайными числами от 100 до 200
Найти сумму четных элементов массива целых чисел. Размерность массива – 20....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru