я вывожу массив в виде таблицы,
теперь нужно сделать пошаговую сортировку,т.е в этом массиве подсчечиваем цветом мин элемент,жмем ентер, он ставит его на 1 место, затем подсвечиваем 2-ой по минимальности,жмем ентер, и он встает за первым
то есть идет та же сортировка по возрастанию только как бы в пошаговом режиме(вывод отстортированного массиво можно делать просто,не в виде таблицы)....помогите плизз это сделать
1. Отделяй мух от котлет -- повыноси вывод массива и ввод данных в отдельные фунции -- себе же понятней будет, И вывод рамки тоже в отдельную процедуру вынеси.
2. Это обрезанный вариант или оно так и есть?(найдите 0 отличий)
ah>я вывожу массив в виде таблицы, ah>теперь нужно сделать пошаговую сортировку,т.е в этом массиве подсчечиваем цветом мин элемент,жмем ентер, он ставит его на 1 место, затем подсвечиваем 2-ой по минимальности,жмем ентер, и он встает за первым ah>то есть идет та же сортировка по возрастанию только как бы в пошаговом режиме(вывод отстортированного массиво можно делать просто,не в виде таблицы)....помогите плизз это сделать
Тебе надо отсортировать 2-хмерный массив. Должны ли элементы идти по возрастанию по-горизонтали или по-вертикали? А какой тип сортировки? Вставками, заменой, пузырек, квик-сорт наконец?
Пример: Сортировка заменой по-горизонтали (интуитивно я догадываюсь, что это то что тебе нужно)
for (i = 0; i < n; ++i)
for (j = 0; j < n; ++j)
{
min_i = i;
min_j = j;
//досмотрим до конца i-ю строку for (jj = j + 1; jj < n; ++jj)
if (mas[i][jj] < mas[min_i][min_j])
min_j = jj;
//цикл по остальным строкамfor (ii = i + 1; ii < n; ++ii)
for (jj = 0; jj < n; ++jj)
if (mas[ii][jj] < mas[min_i][min_j])
{
min_i == ii; min_j == jj;
}
//подсветили min[min_i][min_j]
Highlight(min_i, min_j);
//дождались энтера
WaitForEnter();
//поменяли местами с mas[i, j]
temp = mas[i][j];
mas[i][j] = mas[min_i][min_j];
mas[min_i][min_j] = temp;
//перерисовали массив
DrawArray();
}
Здравствуйте, ah, Вы писали:
ah>все равно сортировка пошаговая не получается как то ah>мож помочь дописать?
Тебе нужна сортировка выбором. После того, как найдешь минимальный элемент, выделяешь его и вызываешь getch(), например, а уже после этого перемещаешь элемент.