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

nasa21p08m1i nasa21p08m1i    2   18.12.2021 01:27    16

Ответы
ksenia1234567890123 ksenia1234567890123  18.12.2021 01:30

Відповідь:

#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;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика