ewert, не могли бы вы указать где ошибка в моем коде?
Код:
int task_02_4_02_sortcheck(DNF *d, int l, int ll, int n)
{
int i;
for(i=0;i<n;i++)
if(d[l].a[i]>d[ll].a[i]) return 1;
return 0;
}
//======================================================================d--это структура, двумерный массив
//======================================================================m--количество строк, n--количество столбцов
int task_02_4_02_sort(DNF *d, int m, int n)
{
int i, j, t, ij;
for(i=0;i<m;i++)
for(j=i+1;j<m;j++)
if(task_02_4_02_sortcheck(d, i, j, n)==1)
{
for(ij=0;ij<n;ij++)
{
t=d[i].a[ij];
d[i].a[ij]=d[j].a[ij];
d[j].a[ij]=t;
}
}
return 0;
}
функция должна сортировать строки массива в лексикографическом порядке
-- 29.04.2014, 15:48 --эм...кажется я уже сам понял. Попробую исправить алгоритм и протестирую еще раз
-- 29.04.2014, 15:54 --Сделал так:
Код:
int task_02_4_02_sortcheck(DNF *d, int l, int ll, int n)
{
int i;
for(i=0;i<n;i++)
{
if(d[l].a[i]<d[ll].a[i]) break;
if(d[l].a[i]>d[ll].a[i]) return 1;
}
return 0;
}
и все заработало правильно