Robie zadanie na polskim spoju: https://pl.spoj.com/problems/FR_02_06/. Z testów wynika, że wszystkie osoby wrzuca mi do nadwagi i musi być chyba jakiś problem z liczeniem tego bmi, ale go nie widzę
#include <iostream>
#include<vector>
using namespace std;
int main()
{
string imie;
unsigned int t, masa, wzrost;
double bmi;
vector<string> niedowaga;
vector<string> waga_prawidlowa;
vector<string> nadwaga;
cin >> t;
while (t--)
{
cin >> imie >> masa >> wzrost;
bmi = masa / ((wzrost/100) * (wzrost/100));
if (bmi < 18.5) niedowaga.push_back(imie);
else if (bmi >= 18.5 and bmi < 25) waga_prawidlowa.push_back(imie);
else if (bmi >= 25) nadwaga.push_back(imie);
}
cout << "niedowaga\n";
for (int i = 0; i < niedowaga.size(); i++) cout << niedowaga[i] << endl;
cout << "waga prawidlowa\n";
for (int i = 0; i < waga_prawidlowa.size(); i++) cout << waga_prawidlowa[i] << endl;
cout << "nadwaga\n";
for (int i = 0; i < nadwaga.size(); i++) cout << nadwaga[i] << endl;
}