Поменять местами максимальный по модулю отрицательный элемент и минимальный положительный - C#
Формулировка задачи:
Поменять местами максимальный по модулю отрицательный элемент и минимальный положительный. Тестовый массив 4 5 6 7 12 -3 4 -5 -7 2 Результат: первый элемент равен -12, на позиции 4, второй элемент равен 2, на позиции 9. Результат перестановки 4 5 6 7 2 -3 4 5 -7 -12
Решение задачи: «Поменять местами максимальный по модулю отрицательный элемент и минимальный положительный»
textual
Листинг программы
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
int[] massiv = new int[] { 4, 5, 6, 7, -12, -3, 4, -5, -7, 2 };
int d = int.MaxValue;
int c = int.MaxValue;
foreach(int a in massiv)
{
if (a < 0 && a < d)
{
d = a;
}
else if (a > 0 && a < c)
{
c = a;
}
}
for (int i = 0; i < massiv.Length; i++)
{
if (massiv[i] == d)
{
massiv[i] = c;
}
else if (massiv[i] == c)
{
massiv[i] = d;
}
}
for (int i = 0; i < massiv.Length; i++)
{
Console.Write(massiv[i] + " ");
}
Console.ReadKey();
}
}
}