Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2021, 16:01   #1
Mikh789
Новичок
Джуниор
 
Регистрация: 18.04.2021
Сообщений: 1
Вопрос Сортировка масива строк по алфавиту

Доброго времени суток, уважаемые знатоки. Задача выглядит так:
Имеется телефонный справочник, который содержит номер телефона, фамилию владельца и адрес.
Нужно определить все номера телефонов, владельцы которых имеют заданную фамилию и упорядочить их по по адресам.
(так же нужно предусмореть ввод служеных номеров, но с ним проблем нет и в моей проблеме они роли не играют)
Сделал все, кроме сортировки по адресам, искренне надеюсь на вашу помощь!

Код:
#include <stdio.h>
#include <cstdlib>
#include <cstdio>
#include <string>
#include <iostream>
#define _CRT_SECURE_NO_WARNINGS
 
struct Spravochnik {
    int ID;
    int number[5]; // 5 значный номер
    char fam[100]; // фамилия
    char adress[100]; // адресс
};
struct Sluzheb {
    int ID;
    int number[5]; // номер телефона
    char org[100]; // организация
    int otdel[5]; // номер отдела
};
int main()
{
    setlocale(LC_ALL, "");
    int n, // количество личных контактов
        n1, // количество служебных контактов 
        w, // ID 
        t, // Тип контакта
        c, // номер телефона
        q, // номер отдела
        i; // индекс
    int s; // счетчик
    char work, family, people; // people - искомая фамилия
    char adr; // адрес
 
    printf_s("Введите количество личных контактов в справочнике: ");
    scanf_s("%d", &n);
    printf_s("Введите количество служебных контактов: ");
    scanf_s("%d", &n1);
 
    struct Spravochnik* kontakt = (struct Spravochnik*)malloc(n * sizeof(Spravochnik));
    struct Sluzheb* rabota = (struct Sluzheb*)malloc(n1 * sizeof(Sluzheb));
 
    //ввод контактов
    do
    {
        printf_s("Выберите тип контакта: 1 - личный, 0 - служебный\n");
        scanf_s("%d", &t);
        if (t == 1)
        {
            for (w = 0; w < n; w++)
            {
                printf_s("Введите ID контакта: ");
                scanf_s("%d", &kontakt[w].ID);
                getchar();
                printf_s("Введите Фамилию: ");
                fgets(&kontakt[w].fam[family], 20, stdin);
                printf_s("Введите адрес: ");
                fgets(&kontakt[w].adress[adr], 30, stdin);
                printf_s("Введите номер телефона: ");
                scanf_s("%d", &kontakt[w].number[c]);
                s++;
            }
        }
        if (t == 0)
        {
            printf_s("Введите ID контакта: ");
            scanf_s("%d", &rabota[w].ID);;
            printf_s("Введите номер телефона: ");
            scanf_s("%d", &rabota[w].number[c]);
            getchar();
            printf_s("Введите наименование организации: ");
            fgets(&rabota[w].org[work], 15, stdin);
            printf_s("Введите номер отдела: ");
            scanf_s("%d", &rabota[w].otdel[q]);
            getchar();
            s++;
        }
    } while (s < n);
    
    //сортировка //не могу отсортировать по адресу
    printf_s("Введите фамилию: ");
    fgets(&people, 20, stdin);
    do
    {
        if (people == kontakt[w].fam[family])
        {
            printf_s("Фамилия: ");
            puts(&kontakt[w].fam[family]);
            printf_s("Номер телефона: ");
            printf_s("%d", kontakt[w].number[c]);
            printf_s("Адрес: ");
            puts(&kontakt[w].adress[adr]);
        }
        else w++;
    } while (w < n);
 
}
Mikh789 вне форума Ответить с цитированием
Старый 19.04.2021, 00:50   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

И что, к чему тема?
Если совет как реализовать, посредством базы данных. И по запросу получать необходимые поля из БД.
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка строк по алфавиту Cryddok Общие вопросы C/C++ 3 27.05.2014 20:58
Сортировка массива по длине строк и по алфавиту CrOsP Общие вопросы Delphi 6 07.09.2013 12:07
Сортировка строк по алфавиту yugik Общие вопросы C/C++ 4 21.05.2010 14:01
Сортировка строк по алфавиту Tsvetochek Microsoft Office Excel 2 10.05.2010 21:43
сортировка списка строк по алфавиту -GT- Общие вопросы C/C++ 0 26.11.2009 20:27