Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/40: Рейтинг темы: голосов - 40, средняя оценка - 4.63
5 / 5 / 1
Регистрация: 21.09.2017
Сообщений: 87

Сортировка в алфавитном порядке

13.03.2018, 12:50. Показов 7647. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно создать функцию, которая сортирует список книг указанного автора в алфавитном порядке наименований.
Помогите исправить код, чтобы функция работала.

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
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <ctime>
#include <iomanip>
#include <string.h>
using namespace std;
struct book 
{
    char sh[25];
    char A[50]; 
    char Nz[40]; 
    int g; 
    char NI[50]; 
    char b[15]; 
    int KS; 
};
//Сортировка по названию при вводе автора.
void sort_by_Naz ( book *ar, int count){
    bool flag=0;
    string n;
    cout<<"Введите автора:\n";
    for(int p=0;p<2;p++)
    getline(cin,n);
    for(int i=0;i<count;i++)
    if ((n==ar[i].A) == 0) {
        flag=1;
    for (int i=0;i<count;i++){      
        int pr=i;       
        for (int j=i+1;j<count;j++){            
            if (ar[pr].Nz[0]>ar[j].Nz[0] ) pr=j;
        }       
        swap (ar[i],ar[pr]);
    }
                cout<<"________________________________________________________________"<<endl;
                cout<< 
                setw(10)<<left<< "|               Автор               |"<< 
                setw(20)<<left<< "          Название        |"<<endl;               
                    for (int i=0;i<count;i++)  {
            cout <<  
                    setw(20)<<left<<ar[i].A<< 
                    setw(20)<<left<<ar[i].Nz<<endl;
        }
}
      if (flag==0) cout<<"\n\n\n\nКниги такого автора нет в библиотеки\n\n";
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2018, 12:50
Ответы с готовыми решениями:

Сортировка в алфавитном порядке...
Здравствуйте, не могли бы вы помочь мне с задачей? Просто мы на лекциях ещё не разобрали как работать с файлами и текстом на C++, а на...

Сортировка в алфавитном порядке
Написал скрипт сортировки по алфавиту. По идее работать должен, но к сожалению не работает. Вот код: struct stud{ char...

Сортировка слов в алфавитном порядке
Дан текст из несколько слов. Нужно вывести слова в алфавитном порядке по первой букве.

3
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.03.2018, 14:01
Отсортировать внутри самого массива с прочими авторами, что ли?
0
5 / 5 / 1
Регистрация: 21.09.2017
Сообщений: 87
13.03.2018, 16:00  [ТС]
16. По требованию пользователя организовать вывод на экран следующей информации:
- списка всех книг указанного издательства с указанием автора и года издания и количества страниц;
- число книг издания указанного пользователем года;
- список книг указанного автора в алфавитном порядке наименований,
- поиск книги по жанру.
Организовать интерфейс пользователя на основе меню, обязательными пунктами которого будут: ввод данных, вывод всей информации, выход из программы. Остальные пункты меню согласно заданию варианта.
Вот полное задание. У меня есть структурный шаблон и я должен для каждого пункта создать функцию и с помощью switch всё организовать в int main(). Но с функцией автора не выходит.
P.s. Полный код не стал скидывать, т.к. для того чтобы разобраться, где сама проблема, уйдёт время.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.03.2018, 17:12
Лучший ответ Сообщение было отмечено NejdanX как решение

Решение

C++
1
std::sort(ar, ar + count, [&n](const book &a, const book &b){ return (n == a.A && n != b.A) || (n == a.A && n == b.A && strcmp(a.Nz, b.Nz) < 0); });
Затем выводишь элементы от начала массива пока автор равен n.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2018, 17:12
Помогаю со студенческими работами здесь

Сортировка структур в алфавитном порядке
Есть массив структур, которые содержат русское слово и его английский перевод. Надо отсортировать по английским словам в алфавитном...

Сортировка строк в алфавитном порядке
Помогите пожалуйста написать программу для сортировки строк в алфавитном порядке Программа открывает фаил input.txt и отоброжает его...

Сортировка структур в алфавитном порядке
Отсортировать в алфавитном порядке по &quot;TIP&quot;. #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;string.h&gt; using namespace std; ...

Сортировка строки в алфавитном порядке
как сделать так, чтоб программа выводила строку с повторами ? то есть ввожу abcddff программа выведет abcdf нужно чтоб...

Сортировка строк в алфавитном порядке
Собственно сабж) Вроде бы сделал что-то похожее, но ошибка запрета доступа, если вводить строки с клавиатуры (понимаю, что не выделил...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru