Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

24.11.2013, 17:29. Просмотров 376. Ответов 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 нужен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 17:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос класс Списки. Сортировка по ФИО (C++):

Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового ад - C++
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и...

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

Создать класс "ведомость абитуриентов" (ФИО, адрес, оценки по трем предметам) - C++
Создать класс, в котором определены поля и методы класса: конструктор с параметрами, конструктор без параметров, ввод и вывод данных....

Списки: сортировка и вывод - 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++
1) В каждой строке текстового файла Date.in записаны имена с заглавной буквы и даты рождения студентов группы. Напишите фрагмент программы...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2013, 17:29
Привет! Вот еще темы с ответами:

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

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

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

Сортировка массива указателей на абстрактный базовый класс - C++
Я создал абстрактный базовый класс (с названием Base) и два производных класса (с названиями Two и Three). После инициализации объектов...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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