В одномерном массиву найти минимальный элемент и переставить его со вторым отрицательным элементом - C#
Формулировка задачи:
для заданного одномерного массива найти минимальный элемент и переставить его со вторым отрицательным элементом на С#. я так написала но он у меня не правильно показывает минимальный элемент и замену делает с первым элементом а мне нужно чтоб замена была с вторым отрицат элементом вот код ПОМОГИТЕ ПЛИИЗЗ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
int[] arr = new int[10];
Random rnd = new Random();
int min1 = int.MaxValue;
int indexMin1 = 0;
int min2 = int.MinValue;
int indexMin2 = 0;
for (int i = 0; i < 10; i++)
{
arr[i] = 50 - rnd.Next(1, 101);
}
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] < min1)
{
min1 = arr[i];
indexMin1 = i;
}
if (arr[i] < min2 && min2 > min1)
{
min2 = arr[i];
indexMin2 = i;
}
}
Console.WriteLine("Массив до: " + string.Join(" ", arr) + Environment.NewLine);
Console.WriteLine("Макс. эл-т: " + min1 + "; Индекс: " + indexMin1 + ";");
Console.WriteLine("Мин. эл-т: " + min2 + "; Индекс: " + indexMin2 + ";" + Environment.NewLine);
int temp = arr[indexMin1];
arr[indexMin1] = arr[indexMin2];
arr[indexMin2] = temp;
Console.WriteLine("Массив после: " + string.Join(" ", arr));
Console.ReadKey();
}
}
}Решение задачи: «В одномерном массиву найти минимальный элемент и переставить его со вторым отрицательным элементом»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
int[] arr = new int[10];
Random rnd = new Random();
int min1 = -51;
int indexMin1 = 0;
int min2 = 51;
int min3 = 51;
int indexMin2 = 0;
for (int i = 0; i < 10; i++)
{
arr[i] = 50 - rnd.Next(1, 101);
}
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] > min1)
{
min1 = arr[i];
indexMin1 = i;
}
if (arr[i] < min2)
{
min2 = arr[i];
}
}
for (int i = 0; i < arr.Length; i++)
{
if ((arr[i] < min3) && (min3 > min2))
{
indexMin2 = i;
min3 = arr[i];
}
}
Console.WriteLine("Массив до: " + string.Join(" ", arr) + Environment.NewLine);
Console.WriteLine("Макс. эл-т: " + min1 + "; Индекс: " + indexMin1 + ";");
Console.WriteLine("Мин. эл-т: " + min3 + "; Индекс: " + indexMin2 + ";" + Environment.NewLine);
int temp = arr[indexMin1];
arr[indexMin1] = arr[indexMin2];
arr[indexMin2] = temp;
Console.WriteLine("Массив после: " + string.Join(" ", arr));
Console.ReadKey();
}
}
}