Re: таблица
От: BitField Украина http://lazy-bitfield.blogspot.com
Дата: 27.11.05 10:35
Оценка: 1 (1)
Здравствуйте, ah, Вы писали:

1. Отделяй мух от котлет -- повыноси вывод массива и ввод данных в отдельные фунции -- себе же понятней будет, И вывод рамки тоже в отдельную процедуру вынеси.

2. Это обрезанный вариант или оно так и есть?(найдите 0 отличий)
if(mas[i][j]%2==0)
{
  cprintf("%3d",mas[i][j]);
}
else
{
  cprintf("%3d",mas[i][j]);
}


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();
  }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.