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

Найти средний рост учеников, рост самого высокого и самого низкого ученика

10.03.2016, 17:50. Показов 8333. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужна программа с использованием структуры, вот ее условие:
Ввести данные об учениках: ФИО и рост, найти средний рост учеников, рост самого высокого и самого низкого ученика. Определить сколько человек могут заниматься в баскетбольной секции, если рост баскетболиста должен быть больше 170см?

Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2016, 17:50
Ответы с готовыми решениями:

Известен рост каждого человека из группы. На сколько рост самого высокого из них превышает рост самого низкого?
Известен рост каждого человека из группы. На сколько рост самого высокого из них превышает рост...

На сколько рост самого высокого из группы людей превышает рост самого низкого?
Известен рост каждого человека из группы. На сколько рост самого высокого из них превышает рост...

Найти рост самого высокого участника гоночной команды
Прошу помощи. Болел - ничего не понял. Скоро экзамен, а я ничего не понимаю в С++. Дали примерные...

Рост учеников класса задан в виде массива. Определить средний рост мальчиков и девочек
Рост учеников класса представлен в виде массива. Определить средний рост мальчиков и девочек....

12
Aymurat
10.03.2016, 18:15
  #2

Не по теме:

Ну, допустим, нужна вам программа. Нам что, ее написать? Давайте так, вы даете нам свой код - мы исправим ошибки.

0
0 / 0 / 0
Регистрация: 10.03.2016
Сообщений: 53
10.03.2016, 19:02  [ТС] 3
Цитата Сообщение от Aymurat Посмотреть сообщение

Не по теме:

Ну, допустим, нужна вам программа. Нам что, ее написать? Давайте так, вы даете нам свой код - мы исправим ошибки.

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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
struct SVEDoUCH{
    char fio[50];
    float rost;
};
 
int main(){
    setlocale(LC_ALL, "russian");
    SVEDoUCH ucheniki[5];
    int i;
    float srrost=0, max=0, min=250, rostall=0, basket=0;
 
    for (i = 0; i < 5; i++){
        cout << "Введите ФИО "<<i+1<<"-го ученика: ";
        cin >> ucheniki[i].fio;
        cout << "Введите его рост в см: ";
        cin >> ucheniki[i].rost;
        rostall += ucheniki[i].rost;}
 
    srrost = rostall / 5;
    cout << "Средний рост учеников: " << srrost << endl;
 
    for (i = 0; i < 5; i++){
        if (ucheniki[i].rost > max){
            max = ucheniki[i].rost;}
    }
    cout << "Максимальный рост ученика = " << max << endl;
 
    for (i = 0; i < 5; i++){
        if (ucheniki[i].rost < min){
            min = ucheniki[i].rost;}
    }
    cout << "Минимальный рост ученика = " << min << endl;
 
    for (i = 0; i < 5; i++){
        if (ucheniki[i].rost > 170) basket++;
    }
    cout << "В баскетбольной секции могут заниматься" << basket << " человек";
 
    system("pause");
    return 0;
}
0
18 / 18 / 9
Регистрация: 09.07.2015
Сообщений: 91
Записей в блоге: 2
10.03.2016, 20:11 4
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
#include <iostream>
#include <string>
using namespace std;
 
struct student
{
    string name;
    int height;
};
 
int main()
{
    int stud_qty = 5; 
 
    int min_id = 0, max_id = 0;
        int sum_height = 0;
    int true_students = 0;
    
    student team[stud_qty];
    
    for(int i = 0; i < stud_qty; i++)
    {
        cout << "Enter name: ";
        cin >> team[i].name;
        cout << "Enter height: ";
        cin >> team[i].height;
        cout << endl;
    }
    
    for(int i = 0; i < stud_qty; i++)
    {
        // Студент с максимальным ростом
        if(team[i].height >= team[max_id].height)
        {
            max_id = i;
        }
            
        // Студент мс минимальным ростом  
        if(team[i].height <= team[min_id].height)
        {
            min_id = i;
        }
        
        // Подходят в баскетбольную команду
        if(team[i].height > 170)
            true_students++;    
               // Суммарный рост (для подсчета среднего)
                sum_height +=team[i].height;
    }
    
    int average = sum_height / stud_qty; // Средний рост
    
    cout << "The maximum height (" << team[max_id].height << " cm), " << team[max_id].name << endl;
    cout << "The minimum height (" << team[min_id].height << " cm), " << team[min_id].name << endl;
    cout << "The average height = " << average << " cm\n";
    cout << "The basketball team fit " << true_students << " students\n";
    
    return 0;
}
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
10.03.2016, 20:13 5
Лучший ответ Сообщение было отмечено Lerox как решение

Решение

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
#include <iostream>
#include <conio.h>
#include <cstring>
#include <cstdlib>
 
using namespace std;
 
struct SVEDoUCH{
    string fio;
    float rost;
};
 
int main(){
    setlocale(LC_ALL, "russian");
    SVEDoUCH ucheniki[5];
    int i;
    int nummax,nummin;
    float srrost=0, max=0, min=250, rostall=0, basket=0;
 
    for (i = 0; i < 5; i++){
        cout << "Введите ФИО "<<i+1<<"-го ученика: "; // фио же пишется через пробел! значит, здесь нужно стринг
        cin.ignore(); // чтобы при нажатии на enter не съело букву
        getline(cin,ucheniki[i].fio);
        cout << "Введите его рост в см: ";
        cin >> ucheniki[i].rost;
        rostall += ucheniki[i].rost;}
 
    srrost = rostall / 5;
    cout << "Средний рост учеников: " << srrost << endl;
 
    for (i = 0; i < 5; i++){
        if (ucheniki[i].rost > max){
            max = ucheniki[i].rost; nummax=i;}
    }
    cout << "Максимальный рост ученика "<<ucheniki[nummax].fio<<", его рост " << max <<" см"<< endl;
 
    for (i = 0; i < 5; i++){
        if (ucheniki[i].rost < min){
            min = ucheniki[i].rost; nummin=i;}
    }
    cout << "Минимальный рост ученика "<<ucheniki[nummin].fio<<", его рост " << min <<" см"<< endl;
 
    for (i = 0; i < 5; i++){
        if (ucheniki[i].rost > 170) basket++;
    }
    cout << "В баскетбольной секции могут заниматься  " << basket << " человек"<<endl;
 
    system("pause");
    return 0;
}
1
18 / 18 / 9
Регистрация: 09.07.2015
Сообщений: 91
Записей в блоге: 2
10.03.2016, 20:17 6
Цитата Сообщение от Aymurat Посмотреть сообщение
// фио же пишется через пробел! значит, здесь нужно стринг
Ну, не то что бы прям нужен. Удобнее будет. Да и пробелы тут не при чем.
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
10.03.2016, 20:28 7
Цитата Сообщение от skales007 Посмотреть сообщение
Ну, не то что бы прям нужен. Удобнее будет. Да и пробелы тут не при чем.
У него стоял cin, то есть записывать то будет до пробела!
Кстати, не был подключен <cstdlib>, почему его никто не подключает? А еще в конце ставят system("pause");
0
18 / 18 / 9
Регистрация: 09.07.2015
Сообщений: 91
Записей в блоге: 2
10.03.2016, 20:32 8
Aymurat, а зачем его подключать? какая в нем необходимость?
0
0 / 0 / 0
Регистрация: 10.03.2016
Сообщений: 53
10.03.2016, 20:58  [ТС] 9
Работает идеально! Огромное спасибо, выручили)
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
11.03.2016, 12:08 10
Цитата Сообщение от skales007 Посмотреть сообщение
Aymurat, а зачем его подключать? какая в нем необходимость?
Просто в вижуале не надо подключать его, во всех остальных компиляторах - обязательно. Почитайте в интернете.
0
18 / 18 / 9
Регистрация: 09.07.2015
Сообщений: 91
Записей в блоге: 2
11.03.2016, 22:38 11
Aymurat, cstdlib в вашем случае нужна только для system
Больше здесь надобности в ней нет. И, чтобы не подключать её ради одной функции, проще использовать уже подключенный заголовочный файл iostream, где использовать cin.get(), если вы запускаете программу не в консоли/используете VC. Большинство IDE вообще не нуждаются в данных действиях.
0
6 / 5 / 1
Регистрация: 06.09.2015
Сообщений: 176
12.03.2016, 13:04 12
А как сделать так, чтобы он прочитал на одной строчке. То есть я ввожу Имя(пробел)Фамилия(Пробел)Отчество(Пробел)Рост
И он Рост прибавлял. Тут Strtok -ом надо?
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
12.03.2016, 17:33 13
4 переменных типа char, и cin>>n>>f>>o>>rost;
0
12.03.2016, 17:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2016, 17:33
Помогаю со студенческими работами здесь

Известен рост каждого из 25 учеников класса. Нет ни одной пары учеников, имеющих одинаковый рост. Определить:
Известен рост каждого из 25 учеников класса. Нет ни одной пары учеников, имеющих одинаковый рост....

Найти самого высокого и самого тяжелого студента в группах
Здравствуйте, Помогите, пожалуйста, с задачкой. Нужно решить через 3мерный массив. На первом...

Средний рост учеников
Дано целое цисло. Если оно положительное, то вычислить средний рост девочек (см. задание 7), в...

Средний рост учеников
Задачка с ростом учеников. Нужно написать программу, в которой пользователь вводит несколько...


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

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

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