Ошибка System.OutOfMemoryException - C#
Формулировка задачи:
Листинг программы
- string [,,,] MX= new string [303,100,34,305]
Решение задачи: «Ошибка System.OutOfMemoryException»
textual
Листинг программы
- static void Main()
- {
- string str = @"ааабабвггд";
- int period = 2;
- var periods = Split(str,period); // получим массив periods[n] строк каждая из которых длиной в 2 символа?
- //(P.S. если что, нужно использовать период от 2 до [str.length / 2])
- var usedSymbols = str.Distinct(); // usedSymbols будет исходной строкой str без повторяющихся символов?
- //(P.S. если что, нужно использовать алфавит из 34 символов - все маленькие русские буквы + пробел)
- var result = new Dictionary<char, int[]>(); // не понимаю какого типа будет переменная result >_< на выбор либо char либо массив int[]? или оба сразу?
- foreach (var symbol in usedSymbols) //для каждого символа в нашей строке без повторов (если я правильно понял мы тем самым как бы обратились к каждому символу нашего алфавита)
- {
- var counts = new int[period]; //counts[2]
- for (int i = 0; i < period; i++) // i=0;i<2;
- counts[i] = periods.Count(f => f[i] == symbol); //ЧТО ЭТО О_О возвращаем кол-во элементов в массиве строк periods? а что за условие (f => f[i] == symbol) ?
- result.Add(symbol, counts);//ну тут походу происходит заполнение матрицы позиций
- }
- foreach (var charCount in result) //вывод на экран букв
- {
- Console.Write ( charCount.Key + " " );
- foreach (int count in charCount.Value) //вывод на экран кол-во встреченых раз
- Console.Write(count + " ");
- Console.WriteLine();
- }
- Console.ReadKey();
- }
- private static List<char[]> Split(string str, int length) // ХЗ ЧТО ЭТО О_О судя по всему переопределние сплита? А что он на выходе вернет?
- {
- var range = new List<char[]>();
- for (int i = 0; i < str.Length; i+=length)
- {
- var chars = new char[length];
- for (int j = 0; j < length; j++)
- {
- if (str.Length > i + j)
- chars[j] = str[i+j];
- }
- range.Add(chars);
- }
- return range;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д