Загрузка...

The index was outside the bounds of the array

Thread in C# created by hatenig Mar 31, 2024. 172 views

  1. hatenig
    hatenig Topic starter Mar 31, 2024 159 Nov 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: "Индекс находился вне границ массива."
     
  2. hatenig
    hatenig Topic starter Mar 31, 2024 159 Nov 26, 2022
    как фикс, что не нравится ему?
     
  3. Alicanto
    Alicanto Mar 31, 2024 1 Oct 7, 2019
    for (int i = 0; i < massive.Length; i++) здесь он считает длину массива а нужно на 1 меньше просто так напиши for (int i = 0; i < massive.Length - 1; i++) {
     
    1. View previous comments (1)
    2. panacea
      hatenig, у тебя оба цикла такие
    3. hatenig Topic starter
  4. eternal
    eternal Mar 31, 2024 звёзды от меня https://lolz.live/threads/8939583/ 14,785 Aug 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. View previous comments (2)
    2. hatenig Topic starter
    3. hatenig Topic starter
    4. eternal
      hatenig, ответил в личке
Loading...
Top