Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 49
1

Сортировка по алфавиту

28.11.2013, 12:06. Показов 463. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, нужна помощь.
Суть задания: сформировать список книг и отсортировать его по ФИО автора. Сам список я создал, но помогите написать сортировку этого списка по алфавиту по ФИО автора.Заранее спасибо.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <locale.h>
 
struct element 
{
    char Famil[30];
    char Name[30];
    char Patr[30];
    char NameB[30];
    char Izdat[30];
    int god;
    int nums;
};
struct Spisok
{
    struct element *kniga;
    struct Spisok *pNext;
    struct Spisok *pPred;
};
struct Spisok *First(struct element *kniga,struct Spisok *ptrnext)
{
    ptrnext=new struct Spisok;
    if (ptrnext==NULL)
        return NULL;
    ptrnext->pNext=NULL;
    ptrnext->pPred=NULL;
    ptrnext->kniga= kniga;
    return ptrnext;
    delete [] ptrnext;
}
void next(struct element *kniga,struct Spisok *lol)
{
    struct Spisok *ptrnext;
    for(lol;lol->pNext != NULL;)
    {
        lol = lol->pNext;
    }
    ptrnext=new struct Spisok;
    if (ptrnext==NULL) return;
    ptrnext->pNext=NULL;
    lol->pNext = ptrnext;
    ptrnext->pPred=lol;
    ptrnext->kniga=kniga;
}
void print (struct Spisok *print)
{
    int i=1;
    do
    {
        printf("\n%d) Ф.И.О автора: %s %s %s",i, print->kniga->Famil, print->kniga->Name,print->kniga->Patr);
        printf("\nНазвание: %s\t Издательство: %s \nКол-во страниц: %d\t год: %d",print->kniga->NameB,print->kniga->Izdat,print->kniga->nums,print->kniga->god);
        print=print->pNext;
        ++i;
    }
    while(print->pNext);
    printf("\n%d) Ф.И.О автора: %s %s %s",i, print->kniga->Famil, print->kniga->Name,print->kniga->Patr);
    printf("\nНазвание: %s\t Издательство: %s \nКол-во страниц: %d\t год: %d\n",print->kniga->NameB,print->kniga->Izdat,print->kniga->nums,print->kniga->god);
    
}
struct Spisok *first = NULL;
void main()
{
    setlocale ( LC_ALL, "rus" );
    int n,i,k;
    char *Famman[8]={"Сидоров","Плюшкин","Комаров","Смирнов","Бурченко","Абдулов","Гончаров","Горбачев"};
    char *Imyaman[8]={"Даниил","Аркадий","Николай","Григорий","Анатолий","Евгений","Андрей","Денис"};
    char *Patrman[8]={"Владимирович","Петрович","Иванович ","Аркадиевич","Николаевич","Егорович","Андреевич","Максимович"};
    char *izdatel[5]={"Москва","Восход","Экватор","Курабейн","Гейзер"};
    char *NameBook[5]={"Горбатая Гора","Дирижабль","АБВГДейка","Механика","Дикий Запад"};
    struct element *knigastr;
    printf ("Введите кол-во книг: ");
    scanf("%d",&n);
    knigastr=new struct element;
    srand ((int)time(NULL));
    k=rand() % 8;
    strcpy(knigastr->Famil,Famman[k]);
    k=rand() % 8;
    strcpy(knigastr->Name,Imyaman[k]);
    k=rand() % 8;
    strcpy(knigastr->Patr,Patrman[k]);
    k=rand() % 5;
    strcpy(knigastr->Izdat,izdatel[k]);
    k=rand() % 5;
    strcpy(knigastr->NameB,NameBook[k]);
    knigastr->god = rand() %213 + 1700;
    knigastr->nums = rand () %600 + 1;
    first=First(knigastr,first);
    if(first == NULL) exit(1);
    for(i=1; i < n; i++)
    {
        knigastr=new struct element;
        k=rand() % 8;
        strcpy(knigastr->Famil,Famman[k]);
        k=rand() % 8;
        strcpy(knigastr->Name,Imyaman[k]);
        k=rand() % 8;
        strcpy(knigastr->Patr,Patrman[k]);
        k=rand() % 5;
        strcpy(knigastr->Izdat,izdatel[k]);
        k=rand() % 5;
        strcpy(knigastr->NameB,NameBook[k]);
        knigastr->god = rand() %213 + 1700;
        knigastr->nums = rand () %600 + 1;
        next(knigastr, first);
    }
    print(first);
    delete [] knigastr;
    getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2013, 12:06
Ответы с готовыми решениями:

Сортировка по алфавиту
Необходимо произвести сортировку по алфавиту по полю name. #include &quot;stdafx.h&quot; #include...

Сортировка по алфавиту
Сортировка структуры по алфавиту и дате. Структура проекта состоит из: фамилия студента, дата,...

Сортировка по алфавиту
С клавиатуры ввести автора и название книги и посторить список по алфавиту.

Сортировка по алфавиту
Ознакамливаюсь со структурами. Все прекрасно, осталось только отсортировать символьные массивы по...

0
28.11.2013, 12:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2013, 12:06
Помогаю со студенческими работами здесь

сортировка по алфавиту
Задача: Описать структуру с именем PRICE, содержащую следующие поля: название товара; ...

Сортировка по алфавиту
#include &lt;iostream&gt; #include&lt;cstring&gt; using namespace std; int main() { int...

Сортировка по алфавиту
Здравствуйте! Помогите отсортировать содержимое каталога по алфавиту. В этом каталоге может...

Сортировка по алфавиту
На вход подается некоторое количество описаний книг (автор, название, количество страниц)....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru