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

Wyjaśnicie mi co jest złego w tym kodzie? (SPOJ - Średnia Arytmetyczna)

0 głosów
496 wizyt
pytanie zadane 5 września 2019 w C i C++ przez Hyziu Nowicjusz (160 p.)
#include <iostream>
#include <cmath>

using namespace std;

int najblizsza;
float srednia;
int suma;
int ile_testow;

int main()
{
    cin >> ile_testow;

    for (int i = 1; i <= ile_testow; i++)
    {

    int ile_liczb;

    cin >> ile_liczb;

    int liczby [ile_liczb];
    int wyniki [ile_liczb];

    for (int i = 0; i <= ile_liczb; i++)
    {
        cin >> liczby [ile_liczb];
        suma += srednia;
    }

    srednia = suma / ile_liczb;

    for (int i = 0; i <= ile_liczb; i++)
    {
        wyniki [ile_liczb] = abs(liczby [ile_liczb] - srednia);
    }

    najblizsza = wyniki[0];

    for (int i = 1; i <= ile_liczb; i++)
    {
        if( wyniki [i] < najblizsza )
        {
            najblizsza = wyniki[i];
        }
    }

        cout << najblizsza;
    }

    return 0;
}

Jak w temacie. Powiecie mi czemu Sędzia nie akceptuje mojego kodu? Zrobiłem coś źle konceptualnie? Jak to ugryźć? Może jakieś mniejsze niedociągnięcie, co? Kod dołączony.

komentarz 5 września 2019 przez mokrowski Mędrzec (158,960 p.)
Załączaj zawsze link do zadania.
komentarz 5 września 2019 przez Velta Maniak (52,910 p.)
Rozmiar tablicy musi być statyczny.
komentarz 7 września 2019 przez Hyziu Nowicjusz (160 p.)

@mokrowski, okej, od teraz będę tak robił. smiley 

komentarz 7 września 2019 przez Hyziu Nowicjusz (160 p.)

@Velta, dobrze, zastosuję się do tego. Dzięki.

2 odpowiedzi

0 głosów
odpowiedź 5 września 2019 przez Inn Gaduła (4,300 p.)
Cześć, próbowałeś chociaż wprowadzić przykładowane dane ?
komentarz 5 września 2019 przez Inn Gaduła (4,300 p.)
edycja 5 września 2019 przez Inn

Zacznij od tego a następnie staraj się likwidować napotkane błędy. Na start mogę wskazać:

  •  Zmienne globalne.
  •  Brakuje inicjalizacji sumy.
  •  W pierwszej pętli wykonujesz ( suma += srednia ) bez przypisania lub inicjalizacji wartości zmiennej "srednia".
komentarz 7 września 2019 przez Hyziu Nowicjusz (160 p.)
Okej. W takim razie tak zrobię. Dziękuję.
0 głosów
odpowiedź 5 września 2019 przez j23 Mędrzec (195,220 p.)
  • Linie 6-9:  Te definicje powinny być w funkcji main.
  • Linie 22 i 23: to nie są poprawne definicje tablic w C++.
  • nie zerujesz suma dla każdego testu.

 

komentarz 7 września 2019 przez Hyziu Nowicjusz (160 p.)
Dobrze wiedzieć, dzięki.

Podobne pytania

0 głosów
1 odpowiedź 1,404 wizyt
pytanie zadane 14 lipca 2019 w C i C++ przez Padomen Początkujący (260 p.)
0 głosów
2 odpowiedzi 611 wizyt
0 głosów
1 odpowiedź 750 wizyt

93,695 zapytań

142,612 odpowiedzi

323,223 komentarzy

63,224 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.

...