Не могу слить 2 упорядоченных массива в 1
Не могу составить программу для слияния 2х упорядоченных массивов. При запуске вылетает исключение, сам не могу понять что нужно изменить или дописать
Console.Write("Введите размер первого массива: ");
int n = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите размер второго массива: ");
int m = Convert.ToInt32(Console.ReadLine());
int[] a = new int[n];
int[] b = new int[m];
Random r = new Random();
for (int i = 0; i < n; i++)
{
a[i] = r.Next(10, 100);
}
for (int i = 0; i < m; i++)
{
b[i] = r.Next(10, 100);
}
Array.Sort(a);
Array.Sort(b);
Console.WriteLine();
Console.Write("Массив №1: ");
for (int i = 0; i < n; i++)
{
Console.Write(a[i] + " ");
}
Console.WriteLine();
Console.Write("Массив №2: ");
for (int i = 0; i < m; i++)
{
Console.Write(b[i] + " ");
}
int k = 0;
int[] c = new int[n + m];
for (int i = 0; i < n + m; i++)
{
int f = 0;
for (int j = 0; j < m && f == 0; j++)
{
if (a[i] < b[j])
{
c[k] = a[i];
f = 1;
k++;
}
else
{
c[k] = b[j];
k++;
}
}
}
Console.WriteLine();
Console.Write("Массив №3: ");
for (k = 0; k < n + m; k++)
{
Console.Write(c[k] + " ");
}