Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2010, 11:56   #1
KIrich iz Che
Пользователь
 
Аватар для KIrich iz Che
 
Регистрация: 29.03.2010
Сообщений: 19
По умолчанию Сортировка по максимальной сумме полей

Ребят не могу сделать сортировку по максимальной сумме полей структуры.. помогите!!!
вот то что я пытался сделать, но не нработает(
Код:
struct NODE {struct NODE *prior;
			 struct NODE *next;
			 struct NODE **sortmas;
		char fam[20];
	    int res1;
		int res2;
		int res3;
		int res4;
		int res5;
		int res6;};
struct NODE *p1,*p2;
struct NODE *first;
struct NODE *end;
struct NODE *t;
int i,flag;
int a=0;
Код:
void sort()
{
	struct NODE *p1=new NODE,*tmp,**sortmas;
 int i,j,res=1,num=10;
 
 free(sortmas);
 sortmas=(struct NODE**)malloc(sizeof(struct NODE)*10);

 p1=(struct NODE*)malloc(sizeof(struct NODE));
 p1=first;

 tmp=(struct NODE*)malloc(sizeof(struct NODE));
 
 for(i=0;i<num;i++)
 {
  sortmas[i]=p1;
  p1=p1->next;
 }

 while(res!=0)
 {
 num=num-1;
 res=0;

 for(i=0 ;i<num ;i++)
	 for(j=0;j<num;j++)
    sortmas[j]->res1=(sortmas[i]->res1+sortmas[i]->res2+sortmas[i]->res3+sortmas[i]->res4+sortmas[i]->res5+sortmas[i]->res6);
    sortmas[j+1]->res1=(sortmas[i+1]->res1 +sortmas[i+1]->res2+sortmas[i+1]->res3+sortmas[i+1]->res4+sortmas[i+1]->res5+sortmas[i+1]->res6);
  {if (sortmas[j]->res1>sortmas[j+1]->res1)
  {tmp=sortmas[j];
   sortmas[j]=sortmas[j+1];
   sortmas[j+1]=tmp;
   res=1;}
  
  else if ((sortmas[j]->res1==sortmas[j+1]->res1)&&(sortmas[j]->res1>sortmas[j+1]->res1))
   {
   tmp=sortmas[i];
   sortmas[i]=sortmas[i+1];
   sortmas[i+1]=tmp;
   res=1;}
  }

  }

 return;
}
KIrich iz Che вне форума Ответить с цитированием
Старый 23.05.2010, 14:04   #2
KIrich iz Che
Пользователь
 
Аватар для KIrich iz Che
 
Регистрация: 29.03.2010
Сообщений: 19
По умолчанию

может есть более простой способ
KIrich iz Che вне форума Ответить с цитированием
Старый 24.05.2010, 16:06   #3
KIrich iz Che
Пользователь
 
Аватар для KIrich iz Che
 
Регистрация: 29.03.2010
Сообщений: 19
По умолчанию

=(((((((((((((
KIrich iz Che вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При удалении записей значения полей с type:=Autoincrement (т.е+) в оставшихся полей не изменяются kenta БД в Delphi 2 29.10.2009 08:28
сортировка полей DBGrid по условию GhostBZ БД в Delphi 3 28.08.2009 12:06
Объеденение полей запроса в для отображения нескольких полей в одном списке mrCreator Microsoft Office Access 3 08.08.2009 00:53
Возможна ли сортировка вычисляемых полей в DBGrid, если используется ADOTable ArtInt БД в Delphi 16 13.04.2009 03:13
Сортировка после просчета вычисляемых полей azat БД в Delphi 4 19.01.2008 21:09