Написать программу сортировки методом простого выбора(пузырьком) - C#
Формулировка задачи:
нужна помощь
1)написать программу сортировки методом простого выбора(методом пузырька) элементов двумерного массива,имеющих нечетные индексы.
задачу решить в методах.
2)написать программу сортировки методом простого выбора(пузырьком) нечетных элементов массива.решить в методах.
заранее спасибо....
Решение задачи: «Написать программу сортировки методом простого выбора(пузырьком)»
textual
Листинг программы
static void Main(string[] args)
{
Console.Write("Enter array length: ");
int n = Convert.ToInt32(Console.ReadLine());
int[] arr1 = new int[n];
Random rand = new Random();
for (int i = 0; i < arr1.Length; i++)
arr1[i] = rand.Next(-10, 10);
Console.Write("\nEnter array size: \nn = ");
n = Convert.ToInt32(Console.ReadLine());
int[,] arr2 = new int[n, n];
int size = (int)Math.Pow((double)arr2.Length, 1.0 / arr2.Rank);
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
arr2[i, j] = rand.Next(-10, 10);
Console.WriteLine("------------------------------\n");
for (int i = 0; i < arr1.Length; i++)
Console.Write("{0} ", arr1[i]);
Console.WriteLine("\n");
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
Console.Write("{0} ", arr2[i, j]);
Console.WriteLine();
}
Console.WriteLine("------------------------------\n");
Sort(ref arr1);
Sort(ref arr2);
Console.WriteLine("------------------------------\n");
Console.WriteLine("-----------Result-------------\n");
for (int i = 0; i < arr1.Length; i++)
Console.Write("{0} ", arr1[i]);
Console.WriteLine("\n");
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
Console.Write("{0} ", arr2[i, j]);
Console.WriteLine();
}
Console.WriteLine("------------------------------\n");
}
static void Sort(ref int[] arr)
{
for (int i = 0; i < arr.Length; i += 2)
{
for (int j = 0; j < arr.Length; j += 2)
{
if (arr[i] < arr[j])
{
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
static void Sort(ref int[,] arr)
{
int size = (int)Math.Pow((double)arr.Length, 1.0 / arr.Rank);
for (int i = 0; i < size; i += 2)
{
for (int j = 0; j < size; j += 2)
{
for (int k = 0; k < size; k += 2)
{
if (arr[i, j] < arr[i, k])
{
int tmp = arr[i, j];
arr[i, j] = arr[i, k];
arr[i, k] = tmp;
}
}
}
}
}