Заполнение 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();
        }
Visual 2010, так что без навороченностей бы :/

Решение задачи: «Заполнение jagged (ступенчатого) массива из файла?»

textual
Листинг программы
int[,] map = new int[fileLines.Length,fileLines[0].Split(' ').Length];

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы