• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

BMI - SPOJ - Błędna Odpowiedź

Hosting forpsi easy 1 pln
0 głosów
901 wizyt
pytanie zadane 18 lipca 2017 w C i C++ przez Kamil Paradowski Użytkownik (620 p.)

Witam, czy ktoś mógłby przejrzeć świeżym okiem na ten kod i powiedzieć gdzie popełniłem tutaj błąd? 

Zadanie: http://pl.spoj.com/problems/FR_02_06/

Kod: 

#include <iostream>

int main()
{
    short t;
    float masa;
    float wzrost;
    std::cin>>t;
    char imie[t][20];
    float BMI[t];
    for(int i=0;i<t;i++)
    {
        std::cin>>imie[i]>>masa>>wzrost;
        BMI[i]=(masa/(wzrost*wzrost)*10000);
    }
        std::cout<<"niedowaga"<<std::endl;
        for(int i=0;i<t;i++)
        {
            if (BMI[i]<18.5)
                std::cout<<imie[i]<<std::endl;
        }
        std::cout<<"\nwartosc prawidlowa"<<std::endl;
        for(int i=0;i<t;i++)
        {
            if (BMI[i]>18.5 && BMI[i]<25)
                std::cout<<imie[i]<<std::endl;
        }
        std::cout<<"\nnadwaga"<<std::endl;
        for(int i=0;i<t;i++)
        {
            if (BMI[i]>=25)
                std::cout<<imie[i]<<std::endl;
        }
    return 0;
}

 

komentarz 19 lipca 2017 przez Aisekai Nałogowiec (42,210 p.)
Co jeśli BMI będzie równe 18.5?
komentarz 19 lipca 2017 przez Kamil Paradowski Użytkownik (620 p.)
hahah, niemożliwe! We wcześniejszej wersji normalnie to opisałem, tutaj musiałem na szybko pominąć ten znak. Niestety pomimo tej poprawki dalej jest błędna odpowiedź.

1 odpowiedź

0 głosów
odpowiedź 18 lipca 2017 przez Evelek Nałogowiec (28,960 p.)

Tu:

std::cin>>t;
char imie[t][20];
float BMI[t];

Jeśli nie znasz rozmiaru tablicy w trakcie kompilacji, to jej wielkość musisz zaalokować dynamicznie, a nie w ten sposób jak to tutaj zrobiłeś. Ewentualnie ratuj się jakimś kontenerem z STL, np. std::vector<>.

komentarz 18 lipca 2017 przez Kamil Paradowski Użytkownik (620 p.)
A mogę po prostu jakoś inaczej to napisać, nie używając tutaj dynamicznych alokacji?
komentarz 19 lipca 2017 przez Jedras Maniak (54,860 p.)
za pomocą chociażby vectora
komentarz 19 lipca 2017 przez Kamil Paradowski Użytkownik (620 p.)

Zastosowałem się do rady użytkownika  Aisekai oraz większyłem zawartość tablicy char z 20 do 21. SPOJ wtedy przyjął mi rozwiązanie, nie zmieniłem jednak tego o czym wspomniałeś.

Podobne pytania

0 głosów
2 odpowiedzi 363 wizyt
pytanie zadane 29 października 2018 w C i C++ przez Shimeo7 Obywatel (1,910 p.)
0 głosów
1 odpowiedź 125 wizyt
0 głosów
1 odpowiedź 526 wizyt
pytanie zadane 26 sierpnia 2018 w SPOJ przez koziolek8820 Nowicjusz (120 p.)

92,125 zapytań

140,785 odpowiedzi

317,804 komentarzy

61,446 pasjonatów

Advent of Code 2023

Top 15 użytkowników

  1. 1468p. - Łukasz Eckert
  2. 1444p. - Dawid128
  3. 1430p. - CC PL
  4. 1419p. - rafalszastok
  5. 1418p. - Marcin Putra
  6. 1373p. - Mikbac
  7. 1362p. - rucin93
  8. 1351p. - sefirek
  9. 1325p. - Michal Drewniak
  10. 1296p. - Adrian Wieprzkowicz
  11. 1267p. - Eryk Andrzejewski
  12. 1260p. - TheLukaszNs
  13. 1239p. - JarekDev
  14. 1188p. - Rafał Trójniak
  15. 1179p. - 13NOONE37
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Uwaga - w dniach od 02.12 do 08.12 trwają Mikołajki (książki drukowane mają rabat -35%, ebooki do -45%). Zaś dodatkowy, specjalny kod zniżkowy: HELMIKOLAJ-10 dla naszych Widzów zapewni Wam oszczędność -10zł dla zamówień powyżej 70zł! Warto korzystać!

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...