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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2009, 21:52   #1
pavelstraut
Пользователь
 
Регистрация: 17.07.2009
Сообщений: 91
По умолчанию сортировка узлов связного списка

вот код
все рабит а когда доходит до вызова этой функции ничего не происходит(не вылетает.не выводит ничего)
Код:
void sortirovka(uzel*& node)
{
   char ch1[256],ch2[256],ch3[256];
   int i;
   uzel* tekuzel;
   uzel* posl;
   tekuzel=node;
   int ln1,ln2,count=0,count1=0;
    while(tekuzel!=NULL)
    {
     count++;                   
     ch1[0]='\0';
     strcpy(ch1,tekuzel->word);
     ln1=strlen(ch1);
     posl=tekuzel->ukaz;
     if(posl!=NULL)
     {
     ch2[0]='\0';
     strcpy(ch2,posl->word);
     ln2=strlen(ch2);                     
     while(*ch1!='\0'&&*ch2!='\0')
     {
      if(*ch1<*ch2) break;
      else if(*ch2<*ch1)
      {
        ch3[0]='\0';
        strcpy(ch3,ch1);
        ch1[0]='\0';
        strcpy(ch1,ch2);
        ch2[0]='\0';
        strcpy(ch2,ch3);
       break;
       }
      else if(*ch2==*ch1)
      {       
       count1++;
       if(count1==ln1&&ln1<ln2) break;
       else if(count1==ln2&&ln1>ln2)
       {  
         ch3[0]='\0';
        strcpy(ch3,ch1);
        ch1[0]='\0';
        strcpy(ch1,ch2);
        ch2[0]='\0';
        strcpy(ch2,ch3);
       break;
       }
       else if(count1==ln1&&count1==ln2) break;     
       }
       *(ch1+1);
       *(ch2+1);                                          
       }
       tekuzel->word[0]='\0';
       strcpy(tekuzel->word,ch1);
       posl->word[0]='\0';
       strcpy(posl->word,ch2);
       tekuzel=posl;
       }
       }
       for(i=1;i<=count;i++)
       {
        while(tekuzel!=NULL)
    {                   
     ch1[0]='\0';
     strcpy(ch1,tekuzel->word);
     ln1=strlen(ch1);
     posl=tekuzel->ukaz;
     if(posl!=NULL)
     {
     ch2[0]='\0';
     strcpy(ch2,posl->word);
     ln2=strlen(ch2);
                          
     while(*ch1!='\0'&&*ch2!='\0')
     {
      if(*ch1<*ch2) break;
      else if(*ch2<*ch1)
      {
        ch3[0]='\0';
        strcpy(ch3,ch1);
        ch1[0]='\0';
        strcpy(ch1,ch2);
        ch2[0]='\0';
        strcpy(ch2,ch3);
       break;
       }
      else if(*ch2==*ch1)
      {       
       count1++;
       if(count1==ln1&&ln1<ln2) break;
       else if(count1==ln2&&ln1>ln2)
       {  
         ch3[0]='\0';
        strcpy(ch3,ch1);
        ch1[0]='\0';
        strcpy(ch1,ch2);
        ch2[0]='\0';
        strcpy(ch2,ch3);
       break;
       }
       else if(count1==ln1&&count1==ln2) break;     
       }
       *(ch1+1);
       *(ch2+1);                                          
       }
       tekuzel->word[0]='\0';
       strcpy(tekuzel->word,ch1);
       posl->word[0]='\0';
       strcpy(posl->word,ch2);
       tekuzel=posl;
       } 
       }
       }                                                                                    
       }
нужно элементы узлов(там где хранится строка) отсортировать по алфавиту

Последний раз редактировалось pavelstraut; 28.07.2009 в 22:00.
pavelstraut вне форума Ответить с цитированием
Старый 28.07.2009, 22:20   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Ну и нафига такая большая функция?
Не проще ли сделать через дополнительный список и функцию strcmp?
MaTBeu вне форума Ответить с цитированием
Старый 28.07.2009, 22:22   #3
pavelstraut
Пользователь
 
Регистрация: 17.07.2009
Сообщений: 91
По умолчанию

покажи как
а эта фунцкия почему не запускается
pavelstraut вне форума Ответить с цитированием
Старый 28.07.2009, 22:48   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Приведи для начала свою структуру узла и списка, и подробнее задание.
MaTBeu вне форума Ответить с цитированием
Старый 28.07.2009, 22:56   #5
pavelstraut
Пользователь
 
Регистрация: 17.07.2009
Сообщений: 91
По умолчанию

кароче сам сделаю как-нибудь
pavelstraut вне форума Ответить с цитированием
Старый 28.07.2009, 23:27   #6
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Ну как знаешь.
MaTBeu вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание связного списка на Си zx11 Общие вопросы C/C++ 9 17.03.2014 00:54
Сортировка списка [MI_nor] Общие вопросы C/C++ 10 05.05.2009 23:52
сортировка списка Cdevelop Общие вопросы C/C++ 4 23.03.2009 21:25