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(); } 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: "Индекс находился вне границ массива."
for (int i = 0; i < massive.Length; i++) здесь он считает длину массива а нужно на 1 меньше просто так напиши for (int i = 0; i < massive.Length - 1; i++) {
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(); } 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(); }