Загрузка...

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

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

  1. hatenig
    hatenig Автор темы 31 мар 2024 159 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 159 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. panacea
      hatenig, у тебя оба цикла такие
    2. hatenig Автор темы
  4. eternal
    eternal 31 мар 2024 звёзды от меня https://lolz.live/threads/8939583/ 14 785 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. hatenig Автор темы
    2. hatenig Автор темы
    3. eternal
      hatenig, ответил в личке
Загрузка...
Top