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

Описать структуру с именем ZNAK - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки И Файлы http://www.cyberforum.ru/cpp-beginners/thread579300.html
Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения.
C++ Матрицы: Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества Добрый день дорогие программисты, прошу помочь написать программу. Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке. Найти... http://www.cyberforum.ru/cpp-beginners/thread579294.html
листинг програмки коммутатора C++
не совсем разобрался с флагами..
C++ Принадлежит ли точка с координатами (х,у) объединению закрашенных областей данного графика
Доброго времени суток всем! Ребят кто, что сможет если есть время помогите решить что-нибудь. До сессии неделя осталась, я колом по с++. Прикрепил файлик, там 4 задачки. Задача 1. Составьте...
C++ Ошибки при компиляции http://www.cyberforum.ru/cpp-beginners/thread579273.html
Есть программа: #include <stdio.h> #include <io.h> #include <iostream.h> #define MEN 2 #define LF 10 #define SPACE 32 #define ORIGINAL_MAZE 0 #define MAZE_WITH_PATH 1
C++ Найти символ в тексте уже битый час сижу и ломаю голову над задачей... весь интернет перерыл в поисках ответа... в общем нужно узнать сколько раз встречается буква "а" в тексте... использовал и count() и find() ничего... подробнее

Показать сообщение отдельно
gru74ik
Модератор
Эксперт CЭксперт С++
4178 / 1806 / 197
Регистрация: 20.02.2013
Сообщений: 4,944
Записей в блоге: 21
10.12.2015, 12:12
ITALIANO, вот:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*
Описать структуру с именем ZNAK, содержащую следующие поля:
1) фамилия, имя;
2) знак Зодиака;
3) дата рождения (массив из трех чисел).
 
Написать программу, выполняющую следующие действия:
a) ввод с клавиатуры данных в массив, состоящий из восьми элементов
   типа ZNAK; записи должны быть упорядочены по датам рождения;
b) вывод на экран информации о людях, родившихся под знаком,
   название которого введено с клавиатуры;
c) если таких нет, выдать на дисплей соответствующее сообщение.
*/
 
#include <iostream>
#include "cstring"
 
const int N = 4;
 
//Описание структуры по заданию
struct Znak
{
    static const int SZ = 256;
    char FirstName[SZ];
    char LastName[SZ];
    char Zodiak[SZ];
    int DR[3];
}  A[N]; //Массив структур в восемь элементов
 
//Заполнение структуры
void fill_by_user(Znak * A, const int ARR_SIZE)
{
    char S[Znak::SZ];
 
    for (int i=0; i < ARR_SIZE; i++)
    {
        std::cout << "FirstName: ";
        std::cin >> S;
        strcpy(A[i].FirstName, S);
 
        std::cout << "LastName: ";
        std::cin >> S;
        strcpy(A[i].LastName, S);
 
        std::cout << "Zodiak: ";
        std::cin >> S;
        strcpy(A[i].Zodiak, S);
 
        std::cout << "Date: " << '\n';
        for (int j=0; j<3; j++)
            std::cin >> A[i].DR[j];
 
        std::cout<<'\n';
    }
}
 
//Вывод массива структур на экран
void show(const Znak * A, const int ARR_SIZE)
{
    for (int i=0; i < ARR_SIZE; i++)
    {
        std::cout << A[i].FirstName << " ";
        std::cout << A[i].LastName << " ";
        std::cout << A[i].Zodiak << " ";
 
        for (int j=0; j<3; j++)
          std::cout << A[i].DR[j] << ".";
        std::cout << "\n";
    }
    std::cout << "\n";
}
 
template <size_t NN>
void sort_by_date(Znak (&z)[NN], const int ARR_SIZE)
{
    Znak tmp;
    bool is_larger_by_date;
    for (int k=0; k < ARR_SIZE-1; k++)
    {
        for (int i=0, j; i < ARR_SIZE-1; i++)
        {
            is_larger_by_date = false;
            j = i+1;
            if (z[i].DR[2] > z[j].DR[2])
                is_larger_by_date = true;
            else if (z[i].DR[2] == z[j].DR[2])
            {
                if (z[i].DR[1] > z[j].DR[1])
                    is_larger_by_date = true;
                else if (z[i].DR[1] == z[j].DR[1])
                {
                    if (z[i].DR[0] > z[j].DR[0])
                        is_larger_by_date = true;
                }
            }
 
            if (is_larger_by_date)
            {
                tmp = z[i];
                z[i] = z[j];
                z[j] = tmp;
            }
        }
    }
}
 
int main()
{
    Znak obj1[N];
    fill_by_user(obj1, N);
    show(obj1, N);
    sort_by_date(obj1, N);
    show(obj1, N);
 
    return 0;
}
2
Миниатюры
Описать структуру с именем ZNAK  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru