Дан массив. Удалить из него второй положительный элемент - C#
Формулировка задачи:
Здравствуйте, помогите пожалуйста найти ошибку. Задание: Дан массив. Удалить из него второй положительный элемент.
using System;
namespace Prog1
{
class Program
{
static int[] a = new int[100];
static int n;
static void inp()
{
int i;
Console.WriteLine("Количество элементов массива?");
n = Convert.ToInt32(Console.ReadLine());
Random r = new Random();
for (i = 0; i < n; i++)
a[i] = r.Next(-100, 101);
}
static void outp()
{
int i;
for (i = 0; i < n; i++) Console.Write(" {0} ", a[i]);
Console.WriteLine(); Console.WriteLine();
}
static int Del(ref int n, ref int k, ref int[] a)
{
for (int i = k; i < n-1; i++)
{
a[i] = a[i+1];
}
a[n] = 0;
n = n - 1;
return n;
}
static int soLution(ref int n, ref int[] a)
{
bool L = false;
int i = 1;
while ((i<=n) && (a[i]<=0) )
{
i = i + 1;
}
i = i + 1;
while ((i <= n) && (!L))
{
if (a[i] > 0)
{
L =true;
}
else
{
i = i + 1;
}
}
if (L)
{
Del(ref n, ref i, ref a);
}
else
{
Console.WriteLine(" Элемент не найден");
}
return n;
}
static void Main()
{
inp();
outp();
soLution(ref n, ref a);
outp();
Console.ReadKey();
}
}
}Решение задачи: «Дан массив. Удалить из него второй положительный элемент»
textual
Листинг программы
using System;
namespace Prog1
{
class Program
{
static int[] array = new int[100];
static int n;
static bool deleted;
static void Input()
{
int i;
Console.WriteLine("Количество элементов массива?");
n = Convert.ToInt32(Console.ReadLine());
Random r = new Random();
for (i = 0; i < n; i++)
array[i] = r.Next(-100, 101);
}
static void Output()
{
int i;
for (i = 0; i < n; i++) Console.Write("{0,4}", array[i]);
Console.WriteLine(); Console.WriteLine();
}
static void Del(int k)
{
for (int i = k; i < n - 1; i++)
{
array[i] = array[i + 1];
}
array[n] = 0;
n = n - 1;
deleted = true;
}
static void Solution()
{
int j = 0;
for (int i = 0; i < array.Length; i++)
{
if (array[i] % 2 == 0)
j++;
if (j == 2)
{
Del(i);
break;
}
}
if (!deleted)
Console.WriteLine(" Элемент не найден");
}
static void Main()
{
deleted = false;
Input();
Output();
Solution();
Output();
Console.ReadKey();
}
}
}