Дан массив, в котором количество отрицательных элементов равно количеству положительным - C#
Формулировка задачи:
Дан массив, в котором количество отрицательных элементов равно количеству положительным. Поменяйте местами первый отрицательный и первый положительный, второй отрицательный и второй положительный и так далее.помогите пожалуйста.
Решение задачи: «Дан массив, в котором количество отрицательных элементов равно количеству положительным»
textual
Листинг программы
using System;
namespace Program
{
class program
{
static void Main()
{
int[] arr = new int[] { -8, 5, -7, 23, 59, 84, -78, -45, 89, -78, -5, 9 };
int[] PositiveNumberIndex = new int[arr.Length / 2];
int[] NegativeNumberIndex = new int[arr.Length / 2];
int p = 0, n = 0;
for (int j = 0; j < arr.Length; j++)
{
Console.Write("{0} ", arr[j]);
}
Console.WriteLine();
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] >= 0)
{
PositiveNumberIndex[p] = i;
p++;
}
else
{
NegativeNumberIndex[n] = i;
n++;
}
}
for (int i = 0; i < arr.Length / 2; i++)
{
int temp = arr[PositiveNumberIndex[i]];
arr[PositiveNumberIndex[i]] = arr[NegativeNumberIndex[i]];
arr[NegativeNumberIndex[i]] = temp;
}
for (int j = 0; j < arr.Length; j++)
{
Console.Write("{0} ", arr[j]);
}
Console.Read();
}
}
}