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

Сортировка строк по алфавиту - C++

Восстановить пароль Регистрация
 
lastProg
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 22
02.12.2012, 19:47     Сортировка строк по алфавиту #1
вот есть допустим такой код.. и мне нужно отсортировать каждый введенный title по алфавиту. Это можно сделать после того как закончишь ввод не обязательно прям во время ввода. язык с++ естественно и желательно ненадо использовать очень сложные алгоритмы я только пол года учу с++. В общем буду рад любой помощи.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct book {
    char title[100];
    char author[100];
    
};
int main()
{
    int cnt_book = 0; 
struct book lib[100];
do{
    cout<<"vvedite nazvanie knigi:"<<endl;
    cin>>lib[cnt_book].title;
    cout<<"vvedite avtora:"<<endl;
    cin>>lib[cnt_book].author;
    
    
}while(cnt_book < 100);
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 19:47     Сортировка строк по алфавиту
Посмотрите здесь:

C++ Сортировка по алфавиту
C++ Сортировка по алфавиту
C++ Сортировка по алфавиту
Сортировка по алфавиту C++
C++ Сортировка строк по алфавиту
C++ Лексикографическое сравнение. Сортировка строк по алфавиту
Сортировка массива строк по алфавиту c++ C++
Сортировка строк по алфавиту C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
02.12.2012, 20:02     Сортировка строк по алфавиту #2
Можно так
C++
1
2
3
4
5
6
7
8
9
10
11
for ( i = 0; i < size - 1; ++i) 
        for ( j = 0; j < size - 1; ++j) 
            if(strcmp(b[j].title, b[j+1].title) > 0 )  
            {  
                strcpy(temp.title, b[j].title); 
                strcpy(temp.name, b[j].name); 
                strcpy(b[j].title, b[j+1].title); 
                strcpy(b[j].name, b[j+1].name); 
                strcpy(b[j+1].title, temp.title); 
                strcpy(b[j+1].name, temp.name); 
            }
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
07.12.2012, 12:57     Сортировка строк по алфавиту #3
David Sylva, у любой структуры, как и у всех типов С++, есть стандартный оператор присваивания, который побайтно копирует один объект в другой. Так что ваши строки 5-10 можно заменить такими:
C++
1
2
3
temp = b[j];
b[j] = b[j + 1];
b[j + 1] = temp;
Yandex
Объявления
07.12.2012, 12:57     Сортировка строк по алфавиту
Ответ Создать тему
Опции темы

Текущее время: 07:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru