Нужно сделать 7 вариант ,написать программу ** с++

0 голосов
32 просмотров

Нужно сделать 7 вариант ,написать программу на с++


image
image

Информатика (53 баллов) | 32 просмотров
0

Это ты про Задание №3?

Дан 1 ответ
0 голосов

#include

struct Date
{
    int day;
    char *month;
    int year;
};

Date make_date();
void print_date(Date d);

void main()
{
    setlocale(LC_ALL, "RUSSIAN");
    int cdate;
    int gdate = 0;
    int k = 0;
    std::cout << "Введите количество дат >> ";
    std::cin >> cdate;
    Date *dates = new Date[cdate];
    for (int i = 0; i < cdate; i++)
        dates[i]=make_date();
    std::cout << "Введенные даты:" << std::endl;<br>    for (int i = 0; i < cdate; i++)
    {
        print_date(dates[i]);
        if (dates[i].year > 2000)
            gdate++;
    }
    Date *gdates = new Date[gdate];
    for (int i = 0; i < cdate; i++)
        if (dates[i].year > 2000)
            gdates[k++] = dates[i];

    std::cout << "Введенные даты после 2000 года: " << std::endl;<br>    for (int i = 0; i < gdate; i++)
        print_date(gdates[i]);
    std::cout << std::endl;<br>    system("pause");
}

Date make_date()
{
    int day;
    char month[50];
    int year;
    Date d;
    std::cout << "Введите день >> ";
    std::cin >> day;
    std::cout << "Введите месяц >> ";
    std::cin >> month;
    std::cout << "Введите год >> ";
    std::cin >> year;
    std::cout << std::endl;<br>    d.day = day;
    d.month = new char[strlen(month) + 1];
    strcpy(d.month, month);
    d.year = year;
    return d;
}

void print_date(Date d)
{
    std::cout << "День: " << d.day << std::endl;<br>    std::cout << "Месяц: " << d.month << std::endl;<br>    std::cout << "Год: " << d.year << std::endl;<br>    std::cout << std::endl;<br>}

(1.5k баллов)