Массив: Поменять местами первый отрицательный и последний положительный элемент массива - C#
Формулировка задачи:
Поменять местами первый отрицательный и последний положительный элемент массива в c#
Решение задачи: «Массив: Поменять местами первый отрицательный и последний положительный элемент массива»
textual
Листинг программы
int[] arr = new int[15];
Random rnd = new Random();
for (int i = 0; i < 15; i++)
arr[i] = rnd.Next(-10, 10);
Console.Write("Исходный массив: ");
Console.WriteLine(string.Join(" ", arr));
int indFirstNeg = Array.IndexOf(arr, arr.Where(x => x < 0).First());
int indLastPos = arr.Length - 1 - Array.IndexOf(arr.Reverse().ToArray(), arr.Where(x => x > 0).Last());
if (indFirstNeg >= 0 && indLastPos >= 0)
{
int temp = arr[indFirstNeg];
arr[indFirstNeg] = arr[indLastPos];
arr[indLastPos] = temp;
Console.Write("Массив после замены: ");
Console.WriteLine(string.Join(" ", arr));
}
else
{
Console.WriteLine("Замена невозможна");
}
Console.ReadLine();