Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zapt1k
1 / 1 / 0
Регистрация: 08.05.2013
Сообщений: 25
#1

класс Списки. Сортировка по ФИО - C++

24.11.2013, 17:29. Просмотров 350. Ответов 0
Метки нет (Все метки)

Я не могу понять, почему моя функция упорядочивает в алфавитном порядке только первые 2 строки данных. Помогите пожалуйста поправить функцию.
Сама функция сортировки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void list::sortFio()
{node1 *p0,*p1,*p2;
int fl;
if (beg1==NULL || beg1->next==NULL) return;
do  {fl=0; p1=beg1; p2=beg1->next;
    if (sravnFio()>0)
        {p1->next=p2->next;
        p2->next=p1;
        beg1=p2;
        fl=1;
        }
    for (p0=beg1;p0->next->next!=NULL;p0=p0->next)
        {p1=p0->next;
        p2=p1->next;
        if(sravnFio()>0)
            {p1->next=p2->next;
            p2->next=p1;
            p0->next=p2;
            fl=1;
            }
        }
        }while (fl==1);
cout<<"Dannie uporyadocheni v alfavitnom poryadke.";
getch();
}
Вспомогательная функция сравнения ФИО:
C++
1
2
3
4
5
6
7
8
9
int list::sravnFio ()
{node1 *p;
p=beg1;
if (strcmp(p->d.dannie.fam,p->next->d.dannie.fam)>0) return 1;
if (strcmp(p->d.dannie.fam,p->next->d.dannie.fam)<0) return (-1);
if (strcmp(p->d.dannie.iniz,p->next->d.dannie.iniz)>0) return 1;
if (strcmp(p->d.dannie.iniz,p->next->d.dannie.iniz)<0) return (-1);
return 0;
}
Добавлено через 44 минуты
если нужны тексты структур и тд, все кину

Добавлено через 1 час 26 минут
up нужен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 17:29     класс Списки. Сортировка по ФИО
Посмотрите здесь:

Сортировка по структуры по полю ФИО - C++
О ГУРУ программирования! Помогите мне решить задачу. Нужно отсортировать структуру по полю FIO. Но неведомые силы не дают это мне сделать....

Списки: сортировка и вывод - C++
#include &lt;iostream&gt; #include &lt;list&gt; #include &lt;fstream&gt; #include &lt;Cstring&gt; #include &lt;algorithm&gt; #include &lt;iterator&gt; #include...

Класс работник, сортировка - C++
Здарова. Помогите пожалуйста как отсортировать: упорядочить всю последовательность работников по убыванию месячного заработка. Что тут...

Класс треугольник: сортировка по площади - C++
Ребят,написал программу с использованием ссылок ,для нахождения площади и периметра треугольника по длинам их сторон.Оказалось нужно...

Класс - сортировка - перегрузка операций - C++
Доброго времени суток! Прошу помочь или натолкнуть на путь, который решит мою маленькую задачку. Программу запилил через конструкторы -&gt;...

Класс работник. Сортировка. Советы по коду - C++
Здраствуйте! Вот задание: Построить три класса (базовый и 2 производный), описывающие некоторых работников с почасовой оплатой (один...

Класс ORDER. Сортировка по расчетным счетам плательщиков выполнена неверно - C++
Помогите решить! -------------------------------------------------------------------------------------------------------- Условие...

Класс "Матрицы: сортировка и другие преобразования" - C++
Я знаю, что такие вопросы обычно не приветствуются, но, всё же, извините за эту наглость. Не могу разобраться с условием : -...

Вывод ФИО в строке - C++
Задание: вывод Фамилии и инициалов, данных в начале. Вот до чего я додумался за последние пару часов, но это почему то не работает: ...

Вывести ФИО игрока с максимальным количеством матчей - C++
Дана база даных игрока , вывести ФИО игрока с максимальным количеством матчей. #include&lt;iostream.h&gt; #include &lt;string.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru