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

Сортировка списка людей по дате рождения

01.04.2023, 18:26. Показов 622. Ответов 5

Студворк — интернет-сервис помощи студентам
Всех приветствую! Имеется программа - структура содержащая n-ое количество человек имеющих фамилию/имя, номер телефона, дату рождения. Задача состоит в том, что необходимо написать две функции сортировки первая - вставкой, вторая - пирамидальная, которые будут сортировать список людей в структуре по дате. Дата обязательно должна быть именно в виде массива. Разные способы пробовал, но ничего не получается
Вот собственно часть нужной для этого программы:
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
#define _CRT_SECURE_NO_WARNINGS //отключаем ошибки компилятора
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_NONSTDC_NO_DEPRECATE
#include <stdio.h>
#include <conio.h>
#include <windows.h> //библиотеки
#include <stdlib.h>
#include <locale.h>
#include <iostream>
#pragma warning(suppress : 4996)
 
struct Note  //структура
{
    char fio[30];  // фамилия и имя
    char telnumb[30]; //номер телефона
    int bdate[30];  //дата рождения
};
void write_struct(int n, struct Note* NOTE) { //функция заполнения структуры
    for (int i = 0; i < n; i++) 
    {
        printf_s(" %d Введите фамилию и имя: ", i + 1);
        std::cin.ignore(); std::cin.getline(NOTE[i].fio, 30);
        printf_s(" Введите номер телефона: "); scanf_s(" %s", &(NOTE[i].telnumb), 30);
        for (int j = 0; j < 3; j++)
        {
            printf_s(" Введите день рождения: "); scanf_s(" %d", &(NOTE[i].bdate[j++]));
            printf_s(" Введите месяц рождения: "); scanf_s(" %d", &(NOTE[i].bdate[j++]));
            printf_s(" Введите год рождения: "); scanf_s(" %d", &(NOTE[i].bdate[j]));
        }
        printf_s("\n");
    }
}
int main(int argc, char* argv[]) {
    setlocale(LC_ALL, "Russian"); //руссификация текста
    int n; //количество структур
    printf_s(" Введите количество структур NOTE: "); scanf_s(" %d", &n); //ввод количества структур
    printf_s("\n"); 
    Note* NOTE = new Note[n]; //динамическая память под массив структур
    write_struct(n, NOTE); //заполнение структуры
    zapros(n, NOTE); //вывод информации по запросу
    (void)_getch();
    return 0; // конец
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2023, 18:26
Ответы с готовыми решениями:

Сортировка списка студентов по дате рождения (файл)
Очень нужна помощь умельцев. Помогите пожалуйста отсортировать по дате рождения. На этом примере идет сортировка по году, а мне нужно по...

Сортировка студентов по дате рождения
Всем привет. Нужно сортировать студентов по дате рождения. Вот мой код. Че то не получается #include &lt;iostream&gt; ...

Сортировка по дате рождения данных в классе
В классе хочу отсортировать людей по дням, месяцам и годам рождения сразу, но получается только что-то одно. Т.е. вот данные: Oleg...

5
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
01.04.2023, 18:32
Алгоритмы сортировок
1
1 / 1 / 1
Регистрация: 12.03.2019
Сообщений: 56
01.04.2023, 19:46  [ТС]
Спасибо
После прочтения данной страницы я и задал вопрос на форуме, моя проблема в том, что не получается впихнуть структуру в функцию, то есть вроде работает, но не сортирует.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
01.04.2023, 20:23
Ты сначала ввод даты нормально сделай. Зачем тебе 30 элементов, ещё и не подряд?
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
01.04.2023, 20:45
Лучший ответ Сообщение было отмечено Artem_Proger как решение

Решение

Artem_Proger, вот как раз недавно писал решение (практически та же задача) - сортировка массива объектов пользовательского типа по заданному полю: тут и тут.
1
1 / 1 / 1
Регистрация: 12.03.2019
Сообщений: 56
01.04.2023, 21:22  [ТС]
Спасибо, буду разбираться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2023, 21:22
Помогаю со студенческими работами здесь

Сортировка по дате рождения (структура note)
Добрый вечер! На моих примерах программа сработала, но есть подозрение, что я неправильно сделал сортировку. Если бы в дате рождения год...

Сортировка по алфавиту,и дате рождения
Добрый день ребята,прошу помощи,не могу понять,как написать код сортировки,что бы сортировал в стринггриде по алфавиту и по дате...

Упорядочить людей по дате рождения
Всем доброго времени суток. Ребят, нужно очень срочно сделать задание которое звучит так: Исходный файл являет собой набор...

Вывод в консоль ФИО и возраст людей по дате рождения
Нужно ввести в диалоговом режиме ФИО 5 людей и даты их рождения, после вывести в консоль в виде таблицы ФИО и возраст(!) этих людей. Я в...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru