Заполнение jagged (ступенчатого) массива из файла? - C#
Формулировка задачи:
Консоль. Нужно написать заполнение ступенчатого массива из файла (т.е. прочитать и записать в ступенчатый)
HELP Файл в директории - test3.txt:2 4 6 8
9 10
12
3 3 1 5 0
Кусок программы с переменными и нек-рыми др. действиями со ступенчатым, к-рые работают:
Листинг программы
- int[]
- int[][] jaggedArr = null;
- int m, n, inputChoiceLength;
- int dN, qN; // для запоминания кол-ва подмассивов в jaggedArr
- //public int q;
- public int m2;
- //int inputChoice = 0;
- bool exit = true;
- void inputJag() // Ввод ступенчатого
- {
- Console.WriteLine("Введите кол-во элементов ступенчатого массива: "); // кол-во массивов в массиве
- int q = Convert.ToInt32(Console.ReadLine()); // q - кол-во массивов в jaggedArr
- jaggedArr = new int[q][]; // объявление ступенчатого массива
- for (int i = 0; i<q; i++)
- {
- Console.WriteLine("Введите кол-во эл-тов в строке: "); //(в каждом новом массиве)
- int n = Convert.ToInt32(Console.ReadLine()); // измерение (кол-во эл-тов) очередного подмассива
- int k=1;
- jaggedArr[i] = new int[n]; // объявление очередного подмассива
- for (int j=0; j<n; j++)
- {
- Console.WriteLine("Vvedite"+k+" element stroki");
- jaggedArr[i][j]=int.Parse(Console.ReadLine());
- k++;
- }
- qN = q;
- Console.WriteLine();
- }
- for (int i = 0; i < q; i++)
- {
- Console.WriteLine();
- for (int j = 0; j < jaggedArr[i].Length; j++)
- {
- Console.Write(jaggedArr[i][j] + " ");
- }
- }
- Console.WriteLine();
- }
- void outJag() // Вывод ступенчатого массива
- {
- for (int i = 0; i < jaggedArr.Length; i++)
- {
- for (int j = 0; j < jaggedArr[i].GetLength(0); j++)
- {
- Console.Write(jaggedArr[i][j] + " ");
- }
- Console.Write('\n');
- }
- Console.ReadKey();
- }
- void jagMaxMin() // Max, Min ступенчатого
- {
- int i, j, k;
- int jagMax = jaggedArr[0][0];
- int jagMin = jaggedArr[0][0];
- k = 0;
- int jj = 0;
- for (i = 0; i < qN; i++)
- {
- for (j = 0; j < jaggedArr[i].Length; j++)
- {
- if (jaggedArr[i][j] > jagMax)
- {
- jagMax = jaggedArr[i][j];
- k = i;
- jj = j;
- }
- }
- }
- Console.WriteLine("Max: jaggedArr[{0},{1}]={2}", k + 1, jj + 1, jagMax);
- for (i = 0; i < qN; i++)
- {
- for (j = 0; j < jaggedArr[i].Length; j++)
- {
- if (jaggedArr[i][j] < jagMin)
- {
- jagMin = jaggedArr[i][j];
- k = i;
- jj = j;
- }
- }
- }
- Console.WriteLine("Min: jaggedArr[{0},{1}]={2}", k+1, jj+1,jagMin);
- }
- void menu()
- {
- while (exit)
- {
- Console.SetCursorPosition(1, 1);
- Console.BackgroundColor = ConsoleColor.DarkMagenta;
- Console.ForegroundColor = ConsoleColor.Green;
- Console.Write("Выберите опцию: \n --СТУПЕНЧАТЫЕ МАССИВЫ--- \n 18 - ввод с клав-ы \n 19 - заполнение из файла НЕТ?? \n 20 - вывод \n 21 – изменение эл-тов массива НЕТ?? \n 22 – max, min НЕТ??\n");
- Console.ResetColor();
- Console.Write("Опция>> ");
- /*int inputChoice;
- int.TryParse(Console.ReadLine(), out inputChoice);*/ // было
- int inputChoice;
- int.TryParse(Console.ReadLine(), out inputChoice);
- //Console.WriteLine("inputChoice = " + inputChoice);
- switch (inputChoice)
- {
- case 18: inputJag();
- break;
- case 19: readJag();
- break;
- case 20: outJag();
- break;
- case 21: changeJag(jaggedArr);
- break;
- case 22: jagMaxMin();
- break;
- case 0: exit = false;
- break;
- }
- if (exit == true)
- {
- Console.WriteLine("Нажмите любую клавишу для продолжения...");
- Console.ReadKey();
- }
- Console.Clear();
- }
- }
- static void Main(string[] args)
- {
- //menu();
- Program p = new Program();
- p.menu();
- }
Решение задачи: «Заполнение jagged (ступенчатого) массива из файла?»
textual
Листинг программы
- int[,] map = new int[fileLines.Length,fileLines[0].Split(' ').Length];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д