Как сделать заполнение массива за один раз? - C#
Формулировка задачи:
Как сделать чтобы заполнения массива была за один раз,
например когда будет запрос ReadLine'а
через пробел чтобы можно было заполнить массив
сейчас у меня в этом коде в зависимости от размера массива выводится ReadLine
то есть если размер массива равно 2 ( 0 и 1)
то приходиться дважды ввести значения
А хочется чтобы за раз заполнить массив когда будет запрос ReadLine()
вот в этом месте "mas[idx] = int.Parse(Console.ReadLine());"
Листинг программы
- int x = int.Parse(Console.ReadLine());
- int[] mas = new int[x];
- Console.WriteLine("Заполни массив");
- int idx = 0;
- loop:
- mas[idx] = int.Parse(Console.ReadLine());
- //Console.Write(mas[idx] + "\n");
- idx++;
- if (idx < x)
- goto loop;
- int idx2 = 0;
- Console.WriteLine("\nВывод массива");
- loop2:
- //mas[idx] = int.Parse(Console.ReadLine());
- Console.Write(mas[idx2] + "\n");
- idx2++;
- if (idx2 < x)
- goto loop2;
- Console.ReadKey();
Решение задачи: «Как сделать заполнение массива за один раз?»
textual
Листинг программы
- static void Main(string[] args) {
- inputLoop:
- Console.WriteLine("Заполни массив: ");
- string strArray = Console.ReadLine();
- if (strArray.Length == 0) {
- Console.Clear();
- goto inputLoop;
- }
- int size = strArray.Length - strArray.Replace(" ", "").Length + 1;
- int[] numArray = new int[size];
- int i = 0;
- int pos = 0;
- fillArrayLoop:
- pos = strArray.IndexOf(" ");
- if (pos < 0) {
- pos = strArray.Length;
- }
- numArray[i] = int.Parse(strArray.Substring(0, pos));
- i++;
- if (i < size) {
- strArray = strArray.Substring(pos + 1);
- goto fillArrayLoop;
- }
- i = 0;
- outputLoop:
- Console.Write(numArray[i].ToString() + " ");
- i++;
- if (i < size)
- goto outputLoop;
- Console.ReadKey();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д