Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/58: Рейтинг темы: голосов - 58, средняя оценка - 4.52
MiThEoN
466 / 323 / 42
Регистрация: 31.10.2009
Сообщений: 546
Записей в блоге: 2
1

Выписать все перестановки без повторений

20.02.2013, 19:04. Показов 10713. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть к примеру таблица

C#
1
2
3
int m = 5;
int n = Factorial(m);
int[,] Table = new int[n,m];
Нужно всего то записать в нее все перестановки, в двух циклах, желательно чтоб код был оптимизирован, плевать на время выполнения.

Как не пробовал, не получалось))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2013, 19:04
Ответы с готовыми решениями:

Выписать все символы текста без повторений
Есть текстовый файл. Нужно создать символьный файл, содержащий все символы, встретившиеся в тексте,...

Перестановки элементов массива с размерностью N без повторений
Просмотрел не мало тем, но везде или слишком мудрено или не совсем то, что нужно. В общем мне нужен...

Выводить на экран все названия почтовых ящиков, но без повторений
Дан массив строк, содержащих электронные адреса(например a@b.c), вывести на экран 1)просто вывести...

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

2
danielgermes
27.02.2013, 06:48 2
Таблица 120*5? А какие перестановки?

Добавлено через 6 минут
В одной генерации генерируй 5 элементов -abcdf (или 01234, как угодно), в любом порядке - потом можно отсортировать. Склеивай их в строку и передавай полученную строку функции которая заполняла массив строк 120*5 без повторения. Я писал нечто подобное только для уникальных значений! Хотя по производительности....
Эксперт Python
4632 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,133
Записей в блоге: 6
27.02.2013, 07:25 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static string[] totalarray = new string[4] { "a", "b", "c", "d" };
 
        static void Main(string[] args)
        {
            var totallist = new List<string>(totalarray);
            var allcombi = allcombinations(totallist, new List<string>());
            foreach (var lst in allcombi)
                output(lst);
 
            Console.ReadKey();
 
        }
        
        private static IEnumerable<List<string>> allcombinations(List<string> arg, List<string> awithout)
        {
            if (arg.Count == 1)
            {
                var result = new List<List<string>>();
                result.Add(new List<string>());
                result[0].Add(arg[0]);
                return result;
            }
            else
            {
                var result = new List<List<string>>();
                
                foreach (var first in arg)
                {
                    var others0 = new List<string>(arg.Except(new string[1] { first }));
                    awithout.Add(first);
                    var others = new List<string>(others0.Except(awithout));
                    
                    var combinations = allcombinations(others, awithout);
                    awithout.Remove(first);
 
                    foreach (var tail in combinations)
                    {
                        tail.Insert(0, first);
                        result.Add(tail);
                    }
                }
                return result;
            }
        }
        private static void output(IEnumerable<string> arg)
        {
            foreach (var str in arg)
                Console.Write(str);
            Console.WriteLine();
        }
    }
}
1
27.02.2013, 07:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2013, 07:25
Помогаю со студенческими работами здесь

Выписать все перестановки без повторений
Тему копирую из раздела C#, из-за того что на си народу больше. Есть строка 0,1,2,3,4 и к...

Алгоритм, выдающий без повторений все перестановки N чисел
Построить алгоритм, выдающий без повторений все перестановки N чисел. На языке Си. И желательно...

Перестановки без повторений
Требуется дописать исключение повторений в коде,спасибо. #include &lt;iostream&gt; using namespace...

Перестановки без повторений
привет помогите пожалуйста найти файлик в котором бы были все перестановки из 5 элементов. ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru