Ошибка индекс находится вне границ массива - C#
Формулировка задачи:
Помогите пожалуйста, программа ругается, вроде делает то, что должна, но выдает ошибку после вывода.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Кр_программирование_1 { class Program { static void Main(string[] args) { Console.WriteLine("Данная программа предназначена для поиска меньшего массива в большем"); Console.Write("Введите размерность массива B : "); int m = Int32.Parse(Console.ReadLine()); Console.Write("Введите размерность массива A : "); int n = Int32.Parse(Console.ReadLine()); int[] A = new int[n]; int[] B = new int[m]; //Ввод массива вручную Console.WriteLine("Массив A"); for (int i = 0; i < n; i++) { Console.Write("Введите элемент ["); Console.Write(i); Console.Write("] "); A[i] = Int32.Parse(Console.ReadLine()); } Console.WriteLine("Массив B"); for (int i = 0; i < m; i++) { Console.Write("Введите элемент ["); Console.Write(i); Console.Write("] "); B[i] = Int32.Parse(Console.ReadLine()); } int ipos, k, v; for (ipos = 0; ipos <= n; ipos++) { k = 0; for (v = 0; v < m; v++) if (A[v] == B[ipos + v]) // здесь выдает ошибку break; else k++; for (v = 0; v < m; v++) if (A[v] != B[ipos + v]) break; else k++; if (k == m) { Console.WriteLine("Входит", ipos); break; } else if (k != m) Console.WriteLine("Не входит"); } Console.Read(); } } }
Решение задачи: «Ошибка индекс находится вне границ массива»
textual
Листинг программы
for (ipos = 0; ipos <= n; ipos++) { ... if (A[v] == B[ipos + v]) ... }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д