Как сделать заполнение массива за один раз? - C#

Узнай цену своей работы

Формулировка задачи:

Как сделать чтобы заполнения массива была за один раз, например когда будет запрос ReadLine'а через пробел чтобы можно было заполнить массив сейчас у меня в этом коде в зависимости от размера массива выводится ReadLine то есть если размер массива равно 2 ( 0 и 1) то приходиться дважды ввести значения А хочется чтобы за раз заполнить массив когда будет запрос ReadLine() вот в этом месте "mas[idx] = int.Parse(Console.ReadLine());"
Листинг программы
  1. int x = int.Parse(Console.ReadLine());
  2. int[] mas = new int[x];
  3. Console.WriteLine("Заполни массив");
  4. int idx = 0;
  5. loop:
  6. mas[idx] = int.Parse(Console.ReadLine());
  7. //Console.Write(mas[idx] + "\n");
  8. idx++;
  9. if (idx < x)
  10. goto loop;
  11. int idx2 = 0;
  12. Console.WriteLine("\nВывод массива");
  13. loop2:
  14. //mas[idx] = int.Parse(Console.ReadLine());
  15. Console.Write(mas[idx2] + "\n");
  16. idx2++;
  17. if (idx2 < x)
  18. goto loop2;
  19. Console.ReadKey();

Решение задачи: «Как сделать заполнение массива за один раз?»

textual
Листинг программы
  1. static void Main(string[] args) {
  2.         inputLoop:
  3.             Console.WriteLine("Заполни массив: ");
  4.             string strArray = Console.ReadLine();
  5.             if (strArray.Length == 0) {
  6.                 Console.Clear();
  7.                 goto inputLoop;
  8.             }
  9.  
  10.             int size = strArray.Length - strArray.Replace(" ", "").Length + 1;
  11.             int[] numArray = new int[size];
  12.             int i = 0;
  13.             int pos = 0;
  14.  
  15.  
  16.         fillArrayLoop:
  17.             pos = strArray.IndexOf(" ");
  18.             if (pos < 0) {                
  19.                 pos = strArray.Length;
  20.             }
  21.                        
  22.             numArray[i] = int.Parse(strArray.Substring(0, pos));
  23.             i++;                        
  24.  
  25.             if (i < size) {
  26.                 strArray = strArray.Substring(pos + 1);
  27.                 goto fillArrayLoop;
  28.             }
  29.                
  30.  
  31.             i = 0;
  32.         outputLoop:
  33.             Console.Write(numArray[i].ToString() + " ");
  34.             i++;
  35.             if (i < size)
  36.                 goto outputLoop;
  37.  
  38.             Console.ReadKey();
  39.         }

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


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

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

8   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы