Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236

массив string сложение элементов массива в разной последовательности, все возможные варианты

09.11.2013, 01:21. Показов 1614. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как проще всего реализовать, задача следующая, есть массив, допустим:

C#
1
string[] mas = new string[] { "A", "B", "C" };
string не просто так, надо написать код, который будет создавать новый массив в котором будут все возможные варианты предыдущего массива, в котором все элементы собираются в один, только в разной последовательности, т.е.

C#
1
2
// этот волшебный код, и его результат должен выглядеть примерно так: 
string[] masFinal = new string[] { "ABC", "ACB", "BAC", "BCA", "CBA", "CAB" } ;
Я надеюсь смысл ясен, первый массив: "A", "B", "C"
Второй массив: "ABC", "ACB", "BAC", "BCA", "CBA", "CAB"

Как такое проще всего реализовать? я начал думать и что то заглох, на ум приходят связанные списки, рандомные числа и прочая ересь, но почему то мне кажется все это можно проще реализовать, например через LINQ, я в последнее время учу PHP, голова кипит и как то не особо варит в направлении C#, подскажите куда думать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2013, 01:21
Ответы с готовыми решениями:

Рекурсия: вывести все возможные варианты расположения элементов массива без повторов
Доброго времени суток.Объясните пожалуйста в чем ошибка.Есть массив,нужно что бы программа вывела все возможные варианты расположения его...

Cформировать все возможные варианты убывающей последовательности
даны натуральные числа n и m . Необходимо сформировать все возможные варианты последовательности целых чисел удволитворяющие следующему...

Как подсчитать все возможные варианты суммы массива
Допустим у нас есть целое число N и массив состоящий из целых чисел, и надо узнать даёт ли сумма либых чисел из массива это число.

7
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
09.11.2013, 01:51
Вам нужно получить все размещения. Воспользуйтесь классом MyExtension из этой темы.
1
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
09.11.2013, 02:20
Или функцией из этого сообщения
1
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
09.11.2013, 14:11  [ТС]
Вообщем я оттолкнулся от другого, нашел на форме тему, а точнее ответ, как "перемешать" элементы массива:

C#
1
2
3
4
5
6
7
8
9
string[] mas = new string[10];
 
// .. заполняем массив
 
Random rnd = new Random();
 
mas = mas.OrderBy(x => rnd.Next()).ToArray();
 
// для работы OrderBy надо подключить System.Linq
и потом этот случайно "перемешанный" массив складываю, проверяю нет ли у меня уже такого, если нет то добавляю в новый массив, смешивание и проверка производится 1000 раз, конечно не лучший вариант, но главное работает и более менее коротко (в плане кода).
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
09.11.2013, 14:13
VLK, неожиданно...
0
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
09.11.2013, 16:34  [ТС]
Цитата Сообщение от freeba Посмотреть сообщение
VLK, неожиданно...
Ну а че, мне эта программа нужна для дела, 10000000 вариантов там не будет, не более 10, я думал или есть какая то функция которая это делает или через LINQ, как например это:

Кликните здесь для просмотра всего текста
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
using System;
using System.Linq;
 
class tempClass {
public char One;
public char Two;
 
public tempClass(char o, char t) { One = o; Two = t; }
}
 
class MyClass   {   static void Main()  {
 
char[] msvOne = { 'A', 'B', 'C' };
char[] msvTwo = { 'Z', 'X', 'Y' };
 
var NumPlus = from tempOne in msvOne
                 from tempTwo in msvTwo
 
                 select new tempClass(tempOne, tempTwo);
 
foreach (var w in NumPlus) { Console.Write("{0}{1}   ", w.One, w.Two); }    
 
/* результат программы - все возможные сочетания букв из первого источника данных со вторым - AZ AX AY   BZ BX BY   CZ CX CY */
 
Console.ReadKey();  }   }


но к сожалению такого не оказалось, времени нет что бы продумывать и доучивать, так что приходится выкручиваться, вообще конечно через связанный список это лучше делать.. наверное.
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
09.11.2013, 17:56
VLK,

Не по теме:

прошу прощения что придираюсь, но это вставка кода зохавала форматирование или это некий деятель умудрился написать его ВОТ ТАК?

0
10.11.2013, 13:06  [ТС]

Не по теме:

Цитата Сообщение от lpvoid Посмотреть сообщение
VLK,

Не по теме:

прошу прощения что придираюсь, но это вставка кода зохавала форматирование или это некий деятель умудрился написать его ВОТ ТАК?

это пример из книги Шилдт Г. - C# 4.0 полное руководство

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2013, 13:06
Помогаю со студенческими работами здесь

Вывести все возможные варианты перестановки чисел из n элементов по m
Задан массив чисел из n элементов. Вывести все возможные варианты перестановки из n элементов по m.

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

Все возможные варианты
Написать программу,которая будет выводить на экран все возможные варианты слов(любых,если даже такого слова нет)из данных букв...

Все возможные варианты строки
Как из одной строки получить все возможные варианты? например так: Цитата: первая строка API PIA IAP AIP IPA PAI

Заменить все вопросительные знаки цифрами (от 1 до 9), перевести строку в число, вывести все возможные варианты
Дана строка состоящая из цифр и вопросительных знаков. Длина строки от 1 до 9 символов. Цель: заменить все вопросительные знаки цифрами (от...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru