0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 23
1

Даны результаты переписи населения. Покажите список населения которые родились после 1990года.

25.01.2011, 15:22. Показов 2969. Ответов 4
Метки нет (Все метки)

Даны результаты переписи населения. Покажите список населения которые родились после 1990года. Также покажите число такого населения.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2011, 15:22
Ответы с готовыми решениями:

Даны результаты переписи населения. Вывести фамилии, имена и подсчитать количество жителей, родившихся после 1990 года
СРОЧНО нужна помощь по решению задачи Условие: Даны результаты переписи населения, которые...

Известны данные о численности населения и площадь.Определить плотность населения
Известны данные о численности населения (в млн жителей) и площади (в тысячах квадратных километров)...

Исправить задачу (написать прогу, которая запрашивает численность населения Земли и численность населения США)
Задача: написать прогу, которая запрашивает численность населения Земли и численность населения...

Вывести список людей, которые родились после указанной даты
Плиз мне нужно вывести список людей которые родились после указанной даты #include <iostream.h>...

4
2480 / 1907 / 951
Регистрация: 21.12.2010
Сообщений: 3,474
Записей в блоге: 10
25.01.2011, 16:04 2
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
#include <iostream>
#include<map>
using namespace std;
 
int main() {
    multimap<int, string> list;
    pair<int, string> man;
    int q=0;
    while(true){
        cout<<"\nName= (0 to continue)";
        getline(cin, man.second);
        if(man.second=="0") break;
        cout<<"Birthyear= ";
        cin>>man.first;
        cin.ignore();
        list.insert(man);
    }
    for(auto it=list.begin(); it!=list.end(); ++it){
        if(it->first>=1990){
            ++q;
            cout<<it->second<<" "<<it->first<<"\n";
        }
    }
    cout<<"\nq= "<<q;
}
0
В астрале
Эксперт С++
8048 / 4805 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
25.01.2011, 16:48 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <utility>
#include <vector>
#include <string>
#include <algorithm>
 
int main()
{
    std::vector<std::pair<int, std::string> > results;
    int one=0;
    std::string str;
    while(std::cin>>one && std::getline(std::cin,str))
    {
         results.push_back(std::make_pair<int, std::string>(one, str));
    }
    std::for_each(results.begin(), results.end(), [](const std::pair<int, std::string> pair)
    {
         if(pair.first >= 1990)
            std::cout<<pair.second<<' '<<pair.first<<'\n';
    });
    return 0;
}
1
Эксперт JavaЭксперт С++
8378 / 3600 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
25.01.2011, 22:59 4
igorrr37, ForEveR, ТС кагбэ намекает, что надо не пары набивать, а написать класс, представляющий человека. В общем вот, набросал на коленке
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include <iostream>
#include <string>
#include <vector>
 
enum compare
{
    lessThan, lessOREqualThan, equal, greaterOREqualThan, greaterThan
};
 
class Human
{
private:
    std::string name;
    int year;
 
public:
 
    Human(std::string, int);
    Human(Human*);
 
    std::string getName();
    int getYear();
 
    void setName(std::string);
    void setYear(int);
 
    void print();
    void printIf(std::string, compare);
    void printIf(int, compare);
};
 
Human::Human(std::string name, int year)
{
    this->name = name;
    this->year = year;
}
Human::Human(Human *human)
{
    this->name = human->getName();
    this->year = human->getYear();
}
 
std::string Human::getName()
{
    return this->name;
}
int Human::getYear()
{
    return this->year;
}
 
void Human::setName(std::string name)
{
    this->name = name;
}
void Human::setYear(int year)
{
    this->year = year;
}
 
void Human::print()
{
    std::cout << "Name: " << this->name << std::endl;
    std::cout << "Year: " << this->year << std::endl;
    std::cout << std::endl;
}
void Human::printIf(std::string name, compare iif)
{
    if (iif < lessThan)
    {
        if (this->name <= name)
            this->print();
    }
    else if (iif <= lessOREqualThan)
    {
        if (this->name <= name)
            this->print();
    }
    else if (iif == equal)
    {
        if (this->name == name)
            this->print();
    }
    else if (iif >= greaterOREqualThan)
    {
        if (this->name >= name)
            this->print();
    }
    else if (iif > greaterThan)
    {
        if (this->name >= name)
            this->print();
    }
}
void Human::printIf(int year, compare iif)
{
    if (iif < lessThan)
    {
        if (this->year <= year)
            this->print();
    }
    else if (iif <= lessOREqualThan)
    {
        if (this->year <= year)
            this->print();
    }
    else if (iif == equal)
    {
        if (this->year == year)
            this->print();
    }
    else if (iif >= greaterOREqualThan)
    {
        if (this->year >= year)
            this->print();
    }
    else if (iif > greaterThan)
    {
        if (this->year >= year)
            this->print();
    }
}
 
int main()
{
    std::vector<Human> humans;
    std::vector<Human>::iterator it;
 
    humans.push_back(new Human("Human1", 1990));
    humans.push_back(new Human("Human2", 1970));
    humans.push_back(new Human("Human3", 1980));
    humans.push_back(new Human("Human4", 2000));
    humans.push_back(new Human("Human5", 1989));
    humans.push_back(new Human("Human6", 1995));
 
    for (it = humans.begin(); it < humans.end(); it++)
        it->printIf(1990, greaterThan);
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 25.01.2011
Сообщений: 23
01.02.2011, 17:29  [ТС] 5
Всем огромное спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2011, 17:29
Помогаю со студенческими работами здесь

Линейный список с анкетой для опроса населения
Анкета для опроса населения содержит две группы вопросов. Первая группа содержит сведения о...

Заданы массивы: города и население. Вывести список городов в порядке возрастания населения
1. Заданы два соответствующих друг другу одномерных массива: один содержит список городов(номера...

Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 г
Помогите, пожайлуста, решить 2 задачи на паскале. Заранее ОЧЕНЬ благодарен! 1)Эта задача тему...

Работа с файлами. Даны результаты переписи населения
1) Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru