Дописать сортировки выбором и простыми вставками - C#
Формулировка задачи:
Всем привет! Завтра утром сдавать.. время только освободилось и понимаю что не успеваю... Выручайте, пожалуйста )
Итак задача: написать две сортировки двумерного массива по ПЕРВОЙ СТРОЧКЕ(или по столбцам, как правильно не знаю (пример ниже))(по возрастанию):
-Простым После должно вывестись на экран консоли:
Начал писать сортировку(пузырьком) да и та не вышела..путаюсь..., заготовку сделал, посмотрите, пожалуйста:
Пожалуйста, очень прошу, допишите мой код. Буду очень благодарен
выбором
. -Простымивставками
. ! Например:int[,] array = {{4,3,1,2},
{4,6,7,6},
{8,4,1,5}}; 1 2 3 4
7 6 6 4
1 5 4 8 // Инициализация массива.
int[,] array = {{4,3,1,2},
{4,6,7,6},
{8,4,1,5}};
// Инициализация переменных.
int stroka = 3;
int stolb = 4;
int save = 0;
// Вывод массива.
Console.WriteLine("Исходный массив:\n");
for (int i = 0; i < stroka; i++)
{
for (int j = 0; j < stolb; j++)
{
Console.Write("{0}\t", array[i, j]);
}
Console.WriteLine();
}
// Сортировка массива по столбцам.
for (int i = 0; i < stroka; i++)
{
for (int j = 0; j < stolb-1; j++)
{
if (array[0,j]<array[0,j+1])
{
for (int k = 0; k < stolb; k++)
{
save = array[i, j];
array[i, j] = array[i, stolb - 1];
array[i, stolb - 1] = array[i, j];
}
}
}
}
// Вывод массива.
Console.WriteLine("\nОтсортированный массив:\n");
for (int i = 0; i < stroka; i++)
{
for (int j = 0; j < stolb; j++)
{
Console.Write("{0}\t", array[i, j]);
}
Console.WriteLine();
}
// Задержка.
Console.ReadKey();Решение задачи: «Дописать сортировки выбором и простыми вставками»
textual
Листинг программы
static void Main(string[] args)
{
// Инициализация массива.
int[,] array = {{4,3,1,2},
{4,6,7,6},
{8,4,1,5}};
// Инициализация переменных.
int max_size_strok = array.GetLength(0) - 1; // Отчет с нуля (для удобства).
// Пример: 3 4 1 max_size_strok == 2 - 1 == 1 [0,0] [0,1] [0,2]
// 5 2 9 max_size_stolbtsov == 3 - 1 == 2 [1,0] [1,1] [1,2]
int max_size_stolbtsov = array.GetLength(1) - 1; // Отчет с нуля (для удобства).
int save = 0; // Помогает менять местами элементы массива.
//Вывод массива.
Console.WriteLine("Исходный массив:\n");
for (int i = 0; i <= max_size_strok; i++)
{
for (int j = 0; j <= max_size_stolbtsov; j++)
{
Console.Write("{0}\t", array[i, j]);
}
Console.WriteLine();
}
//Сортировка массива ВЫБОРОМ.
for (int k = 0; k <= max_size_strok; k++)
{
for (int i = 0; i <= max_size_stolbtsov; i++)
{
int min = i;
for (int j = i + 1; j <= max_size_stolbtsov; j++)
{
if (array[k, j] < array[k, min])
{
min = j;
}
}
save = array[k, i];
array[k, i] = array[k, min];
array[k, min] = save;
}
}
//Вывод массива.
Console.WriteLine("\nОтсортированный массив:\n");
for (int i = 0; i <= max_size_strok; i++)
{
for (int j = 0; j <= max_size_stolbtsov; j++)
{
Console.Write("{0}\t", array[i, j]);
}
Console.WriteLine();
}
// Задержка.
Console.ReadKey();}