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

SPOJ PP0604A - Średnia arytmetyczna

0 głosów
1,273 wizyt
pytanie zadane 7 sierpnia 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)

Cześć, mam problem z zadaniem ze spoja (https://pl.spoj.com/problems/PP0604A/). Napisałem kod który według moich obliczeń powinien działać dobrze, ale niestety kompilator daje błędny wynik. Wie ktoś dla czego? Mój kod:

#include <iostream>
#include <cmath>

using namespace std;
int t,ile;
void oblicz(int ile)
{
    float suma=0;
    int liczba[ile];
    for(int i=0; i<ile;i++)
    {
        cin>>liczba[i];
        suma+=liczba[i];
    }
    float srednia=suma/ile;
    int najblizsza=liczba[0];
    for(int i=1; i<ile; i++)
    {
        if(fabs(liczba[i]-srednia)<najblizsza)najblizsza=liczba[i];
    }
    cout<<najblizsza<<endl;
}
int main()
{
    cin>>t;
    for(int i=0; i<t; i++)
    {
        cin>>ile;
        oblicz(ile);
    }
    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 7 sierpnia 2018 przez niezalogowany
wybrane 7 sierpnia 2018 przez Piotr Błaszczak
 
Najlepsza

Rozwiązanie problemu:

if (fabs(liczba[i] - srednia) < fabs(najblizsza - srednia))
{
    najblizsza = liczba[i];
}

Podobne pytania

+1 głos
1 odpowiedź 721 wizyt
pytanie zadane 29 czerwca 2018 w C i C++ przez ernest52 Początkujący (450 p.)
0 głosów
1 odpowiedź 566 wizyt
pytanie zadane 2 listopada 2016 w C i C++ przez amator1 Początkujący (470 p.)
0 głosów
1 odpowiedź 1,257 wizyt
pytanie zadane 10 sierpnia 2020 w SPOJ przez AgentTecza Obywatel (1,810 p.)

93,735 zapytań

142,671 odpowiedzi

323,294 komentarzy

63,297 pasjonatów

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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...