
Определить комбинированный (структурный) тип для представления анкеты ребенка, состоящей из его
имени, пола и роста. Вывести информацию по 20 детям. Вывести средний рост мальчиков. Далее вывести имена всез сальчиков ниже среднего нужно написать код на С++

Ответы на вопрос

Відповідь:
#include <iostream>
#include<string>//для std::string,length()
#include<iomanip>//для std::setw()
struct kid{
std::string name;
bool gender;
float height;
};
int main(int argc, char** argv) {
struct kid kids[]={
"Tom",1,1.34,
"Sara",0,1.54,
"John",1,1.65,
"Kate",0,1.86,
"Emily",0,1.53,
"Lily",0,1.57,
"Oscar",1,1.76,
"James",1,1.73,
"William",1,1.71,
"George",1,1.67,
"Noah",1,1.61,
"Leo",1,1.75,
"David",1,1.71,
"Albert",1,1.68,
"Austin",1,1.84,
"Mia",0,1.65,
"Ruby",0,1.64,
"Scarlett",0,1.54,
"Isabelle",0,1.45,
"Ellie",0,1.65
};
double medium=0.0;
int n=sizeof(kids)/sizeof(kids[0]);
int t=0;
for(int i=0;i<n;i++){
std::cout<<kids[i].name<<std::setw(12-kids[i].name.length())<<kids[i].gender<<std::setw(7)<<kids[i].height<<std::endl;
if(kids[i].gender==true){
medium+=kids[i].height;t++;}
}
medium/=t;
std::cout<<"\nMedium height of boys= "<<medium<<std::endl<<std::endl;
for(int i=0;i<n;i++){
if(kids[i].gender==1){
if(kids[i].height<medium){
std::cout<<kids[i].name<<std::setw(12-kids[i].name.length())<<kids[i].gender<<std::setw(7)<<kids[i].height<<std::endl;
}
}
}
system("pause");
return 0;
}



Для решения данной задачи вам потребуется написать программу на языке C++. Вот пример кода, который может решить вашу задачу:
```cpp
#include
// Структура для представления данных об анкете ребенка struct Child { std::string name; char gender; // 'M' для мальчика, 'F' для девочки double height; };
int main() {
const int numChildren = 20;
std::vector
// Ввод данных об анкетах детей for (int i = 0; i < numChildren; ++i) { std::cout << "Введите имя, пол (M/F) и рост ребенка #" << (i + 1) << ": "; std::cin >> children[i].name >> children[i].gender >> children[i].height; }
// Вычисление среднего роста мальчиков double sumHeightBoys = 0.0; int numBoys = 0; for (const auto& child : children) { if (child.gender == 'M') { sumHeightBoys += child.height; ++numBoys; } }
double averageHeightBoys = (numBoys > 0) ? (sumHeightBoys / numBoys) : 0.0;
// Вывод среднего роста мальчиков std::cout << "Средний рост мальчиков: " << averageHeightBoys << " см" << std::endl;
// Вывод имен мальчиков ниже среднего роста std::cout << "Имена мальчиков ниже среднего роста:" << std::endl; for (const auto& child : children) { if (child.gender == 'M' && child.height < averageHeightBoys) { std::cout << child.name << std::endl; } }
return 0; } ```
Программа создает массив структур `Child` для хранения данных об анкетах детей, считывает данные с клавиатуры, вычисляет средний рост мальчиков и выводит имена мальчиков, чей рост ниже среднего.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili