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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2017, 18:05   #1
PaulDark
Новичок
Джуниор
 
Регистрация: 17.05.2017
Сообщений: 8
По умолчанию Известны данные о 16 сотрудников фирмы: фамилия, возраст и отношение к военной службе

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

Есть решение:

Код:
#include <iostream>
#include <string>
#include <vector>
 
using namespace std;
 
class Person {
    public:
        string name, surname;
        unsigned int age;
        bool reservist;
        
    Person(string _n, string _s, unsigned int _a, bool _r):
        name(_n), surname(_s), age(_a), reservist(_r) {}
};
 
int main() {
	setlocale (0, "rus");
    vector<Person> persons;
    persons.push_back(Person("Иван", "Алексеев", 20, true));
    persons.push_back(Person("Василий", "Сидоров", 18, true));
    persons.push_back(Person("Алексей", "Петров", 22, true));
    persons.push_back(Person("Александр", "Рябой", 19, true));
    persons.push_back(Person("Андрей", "Бочкарьов", 21, false));
    persons.push_back(Person("Владимир", "Иванов", 19, false));
    persons.push_back(Person("Юрий", "Филицев", 23, false));
    persons.push_back(Person("Павел", "Рамиров", 25, false));
    persons.push_back(Person("Евгений", "Уманцев", 16, false));
    
     for(int i=0;i<8;++i){
	 cout<<persons.at(i)<<endl;
    cout<<endl;
    }
     
    cout << endl;
    unsigned int min_age = 100;
    int min_index = -1;
    for (unsigned int i = 0; i < persons.size(); i++)
        if ((persons[i].age <= min_age) && (persons[i].reservist)) {
            min_age = persons[i].age;
            min_index = i;
        }
 
    cout << "фамилия самого младшего по возрасту среди военнообязанных - " << persons[min_index].surname << endl;
 
    unsigned int max_age = 0;
    int max_index = -1;
    for (unsigned int i = 0; i < persons.size(); i++)
        if ((persons[i].age >= max_age) && (persons[i].reservist)) {
            max_age = persons[i].age;
            max_index = i;
        }
    
    cout << "фамилия самого старшего по возрасту среди военнообязанных - " << persons[max_index].surname << endl;
    
    max_age = 0;
    max_index = -1;
    for (unsigned int i = 0; i < persons.size(); i++)
        if ((persons[i].age >= max_age) && (!persons[i].reservist)) {
            max_age = persons[i].age;
            max_index = i;
        }
    
    cout << "фамилия самого старшего по возрасту среди невоеннообязанных - " << persons[max_index].surname << endl;
    
    system("pause");
    return 0;
}
Как мне вывести на экран содержимое вектора?
PaulDark вне форума Ответить с цитированием
Старый 29.05.2017, 18:27   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Можно в виде таблицы:

Безымянный2.png
ura_111 вне форума Ответить с цитированием
Старый 29.05.2017, 18:36   #3
PaulDark
Новичок
Джуниор
 
Регистрация: 17.05.2017
Сообщений: 8
По умолчанию

Большое спасибо! Очень благодарен
PaulDark вне форума Ответить с цитированием
Старый 14.11.2017, 01:22   #4
DragonLord
Новичок
Джуниор
 
Регистрация: 14.11.2017
Сообщений: 1
По умолчанию

Здравствуйте ,могли вы бы скинуть ,пожалуйста ,полный код этой программы ?)
DragonLord вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Журнал перемещения сотрудников по службе Александр9797 Microsoft Office Access 12 13.04.2016 12:01
Создать проект, содержащий форму для ввода данных о выполненной работе сотрудников фирмы с сохранением в текстовом файле don4tello C++ Builder 0 26.04.2015 08:55
Известны данные о количестве осадков, выпавших за каждый месяц года. Genius94 Помощь студентам 1 14.06.2012 11:37
Дан файл Т, который содержит номера телефонов сотрудников учреждения указывается:фамилия, инициалы и номер телефона. BLADIMIR Помощь студентам 1 27.10.2011 12:07
как оформить данные для строительной фирмы Ваня1989 Помощь студентам 6 17.08.2011 18:36