Ошибка индекс находится вне границ массива - 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])
...
}