Заполнение 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];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д