Загрузка...

Индекс находился вне границ массива

Тема в разделе C# создана пользователем hatenig 31 мар 2024. 125 просмотров

Загрузка...
  1. hatenig
    hatenig Автор темы 31 мар 2024 153 26 ноя 2022
    CSHARP
    static void Main(string[] args)
    {
    int[] massive = new int[10] { 5, -2, 3, -5, 11, 2, 1, -10, 13, 8 };
    int[] NewMassive = new int[massive.Length];
    int counter = 0;
    Console.Write("Введённый массив: ");
    for (int i = 0; i < massive.Length; i++)
    {
    Console.Write(massive[i] + " ");
    }
    for (int i = 0; i < massive.Length; i++)
    {
    if (massive[i] > 0 && counter!=5)
    {
    NewMassive[massive.Length] = massive[i];
    counter++;
    Console.WriteLine($"\nМассив с положительными числами:{NewMassive}");
    }
    }
    Console.ReadLine();
    }
    Ошибку выводит на "NewMassive[massive.Length] = massive;"
    System.IndexOutOfRangeException: "Индекс находился вне границ массива."
     
    31 мар 2024 Изменено
  2. hatenig
    hatenig Автор темы 31 мар 2024 153 26 ноя 2022
    как фикс, что не нравится ему?
     
  3. Alicanto
    Alicanto 31 мар 2024 1 7 окт 2019
    for (int i = 0; i < massive.Length; i++) здесь он считает длину массива а нужно на 1 меньше просто так напиши for (int i = 0; i < massive.Length - 1; i++) {
     
    31 мар 2024 Изменено
    1. Посмотреть предыдущие комментарии (1)
    2. panacea
      hatenig, у тебя оба цикла такие
  4. eternal
    eternal 31 мар 2024 купи айфончик https://lolz.live/threads/8436243/ 14 108 2 авг 2018
    CSHARP
    static void Main(string[] args)
    {
    int[] massive = new int[10] { 5, -2, 3, -5, 11, 2, 1, -10, 13, 8 };
    int[] NewMassive = new int[massive.Length];
    int counter = 0;
    Console.Write("Введённый массив: ");
    for (int i = 0; i < massive.Length; i++)
    {
    Console.Write(massive[i] + " ");
    }
    for (int i = 0; i < massive.Length; i++)
    {
    if (massive[i] > 0 && counter != 5)
    {
    NewMassive[counter] = massive[i];
    counter++;
    }
    }
    Console.WriteLine("\nМассив с положительными числами:");
    for (int i = 0; i < counter; i++)
    {
    Console.Write(NewMassive[i] + " ");
    }
    Console.ReadLine();
    }
     
    1. Посмотреть предыдущие комментарии (2)
    2. hatenig Автор темы
    3. hatenig Автор темы
Top