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

Сосчитать количество сотрудников младше 30 лет

23.12.2021, 14:29. Показов 1253. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вводится строка, содержащая года рождения сотрудников через пробел.
Сосчитать количество сотрудников младше 30 лет.
Преобразование из строки в число выполнить функцией atoi.
Пример исходной строки "1968 1989 200 1975".
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2021, 14:29
Ответы с готовыми решениями:

Подсчитать количество студентов младше 16 лет, и вывести все данные о них
Составить программу для обработки информации о некоторых объектах – студентах какого-то факультета....

Подсчитать количество студентов младше 16 лет, и вывести все данные о них
Составить программу для обработки информации о некоторых объектах – студентах какого-то факультета....

record Найти названия игрушек для детей старше 5 лет и младше 8 лет
дан файл f ,содержащий сведения об игрушках:наименование игрушки(мяч,кукла,кубики,конструктор и...

Вывести сведения о защитниках младше 20 лет и сыгравших за свой клуб более 40 лет
вывести сведения о защитниках младще 20-лет и сыгравших за свой клуб более40 лет на паскале...

5
3246 / 1467 / 468
Регистрация: 01.06.2021
Сообщений: 4,949
23.12.2021, 14:52 2
atoi не нужна

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
 
int main()
{
    string text;
    getline(cin, text);
    stringstream stream(text);
    int count = 0;
    for (int n; stream >> n;)
        if (2021 - n < 30) ++ count;
    cout << count;
}
0
0 / 0 / 0
Регистрация: 17.12.2021
Сообщений: 32
23.12.2021, 15:39  [ТС] 3
В самом задании просят через atoi.
0
3246 / 1467 / 468
Регистрация: 01.06.2021
Сообщений: 4,949
23.12.2021, 15:55 4
Yurakol, присобачил вашу ненужную функцию

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <sstream>
#include <string>
#include <cstdlib>
using namespace std;
 
int main()
{
    string text;
    getline(cin, text);
    stringstream stream(text);
    int count = 0;
    for (string s; stream >> s;)
        if (2021 - atoi(s.c_str()) < 30) ++ count;
    cout << count;
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
24.12.2021, 06:49 5
Лучший ответ Сообщение было отмечено Yurakol как решение

Решение

без stringstream:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstdlib> // для atoi
using namespace std;
 
int main()
{
    int count = 0;
    char word[128];
 
    cout << "String:\n";    
    for (;cin >> word;)
    {        
        if (2021 - atoi(word) < 30) count++;
        if (cin.get() == '\n') break;
    }
    
    cout << "count=" << count << "\n";
    
return 0;    
}
0
Модератор
2637 / 1750 / 919
Регистрация: 16.10.2013
Сообщений: 5,065
Записей в блоге: 14
24.12.2021, 07:24 6
я бы еще добавил получение текущего года:

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
#include <iostream>
#include <chrono>
#include <cstdlib> // для atoi
 
int getCurrentYear()
{
    auto now = std::chrono::system_clock::now();
    auto tt = std::chrono::system_clock::to_time_t(now);
    auto local_tm = *localtime(&tt);
    return local_tm.tm_year + 1900;
}
 
int main()
{
    int y = getCurrentYear();
 
    int count = 0;
    char word[128];
 
    std::cout << "String:\n";    
    for (;std::cin >> word;)
    {        
        if (y - atoi(word) < 30) count++;
        if (std::cin.get() == '\n') break;
    }
 
    std::cout << "count=" << count << "\n";
 
    return 0;
}
0
24.12.2021, 07:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2021, 07:24
Помогаю со студенческими работами здесь

Триггер на запрет добавления читателей младше 17 лет
Триггер срабатывает при условии - не позволяет создать запись, если читателю нет 17 лет, но при...

Определить количество сотрудников мужского пола старше 30 лет
|Номер____ |1___2____3____4____5____6____7____8____9____10|...

Распечатать анкетные данные студентов, которые младше 16 лет
Распечатать анкетные данные студентов, которые младше 16 лет.

Вывести списки школьников младше 12 лет, затем самого высокого ребенка
Создать список школьников.:) 1.Описать и ввести массив, содержащий 10 записей следующей структуры:...

Вывести сведения о защитниках, младше 20- лет и сыгравших за свой клуб более 40-ка матчей
Задача: Вывести сведения о защитниках, младше 20- лет и сыгравших за свой клуб более 40-ка...

Вывести: список сотрудников, возраст которых не менее K лет и не превышает L лет
20.Дан список N сотрудников с указанием фамилии, точной даты рождения, стажа работы и заработной...

Вывести фамилии всех сотрудников, чей стаж работы не менее 3-х лет и возраст не более 25 лет
DELPHI HEILP Народ, спасайте, я тупой , как валенок в программировании , но надо сделать такую...


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

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

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