Определить комбинированный (структурный) тип для представления анкеты ребенка, состоящей из его имени, пола и роста. Вывести информацию по 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;
}