Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
-60 / 0 / 1
Регистрация: 01.04.2013
Сообщений: 112
1
.NET 4.x

Увеличить размер перебираемой строки

22.05.2015, 13:14. Просмотров 839. Ответов 1
Метки нет (Все метки)

Всем привет, есть прога, которая делает перебор символов с определенной длиной в строку, есть проблема
Он генерирует все комбинации цифр длиной в 7 символов, а в 8 и более уже нет, выдает ошибку Выдано исключение типа "System.OutOfMemoryException"
Как это избежать? Хочу сделать перебор еще и с символами, но пока смысла нет
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
class Program
    {
        static string alpha = "0123456789";
        static void Main(string[] args)
        {
            var output = @"D:\1.txt";
            File.Delete(output);
 
            List<string> elements = Generate(alpha);
            File.WriteAllLines(output, elements);
        }
 
        static List<string> Generate(string chars, int len = 8)
        {
            int size = (int)Math.Pow(chars.Length, len);
            List<string> elements = new List<string>(size);
            int[] counters = new int[len];
 
            do
            {
                elements.Add(new string(counters.Select(x => chars[x]).ToArray()));
                counters[0]++;
                for (int i = 0; i < len; i++)
                {
                    if (counters[i] == chars.Length)
                    {
                        if (i + 1 == len) return elements;
                        counters[i + 1]++;
                        counters[i] = 0;
                    }
 
                }
            } while (true);
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2015, 13:14
Ответы с готовыми решениями:

Увеличить размер стека
Как? В с++ проекте в свойствах легко менял значение, потом компилил - все работало. Щас пишу тоже...

Увеличить размер стека
Здравствуйте всем! Вопрос такой: написал прогу, где используется рекурсия, при большом количестве...

Увеличить размер массива не удаляя элементы?
Приветствую, вот хотел бы просить что собственно делает array.Resize? как я понял эта функция...

Как искуственно увеличить размер программы?
Ув. гуру. Подскажите, пожалуйста, как сделать размер приложения больше по размеру? Вроде как...

1
4387 / 3084 / 1326
Регистрация: 09.05.2015
Сообщений: 7,578
23.05.2015, 03:59 2
Убрать
C#
1
List<string> elements = new List<string>(size);
Изменить тип возвращаемого значения метода Generate на IEnumerable<string>, возвращать значения с помощью yield return и записывать в файл построчно.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2015, 03:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Необходимо увеличить максимальный размер памяти программы до 5 Гигов
Необходимо увеличить максимальный размер памяти программы до 5 Гигов и как я понимаю, выполнить...

ListBox. Как увеличить размер item?
Как сделать: 1. Увеличить высоту строки (item) или расстояние между &quot;item&quot;. А то слишком плотно....

Увеличить размер иконки кнопки в toolStrip
Добрый день! Подскажите пожалуйста как сделать большие иконки на кнопках в toolStrip. Установил...

Где увеличить размер текст бокса
подскажите как увеличить размер в ширину &lt;div class=&quot;editor-label&quot;&gt; ...

Как увеличить размер изображения в pictureBox?
Здравствуйте! Проблема заключается в том, что при попытке увеличить изображение, находящееся в...

Как программно увеличить максимальный размер окна в Windows?
Если в винде разрешение экрана 1024х768, то больше этого размера окно расширить нельзя. Можно ли...


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

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

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