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

Co w tym kodzie nie działa? (Średnia i wariancja wektora)

VPS Starter Arubacloud
0 głosów
129 wizyt
pytanie zadane 2 kwietnia 2020 w C i C++ przez Ururka Nowicjusz (230 p.)

Mam taki program, powinien liczyć średnią i wariancję, lecz wyskakuje błąd:
 

main.cpp: In function ‘double getVariance(std::vector<double>)’:
main.cpp:16:42: error: expected primary-expression before ‘x’
     double mean = getMean (vector<double>x)
#include <iostream>
#include <vector>
#include <math.h>
#include <numeric>

using namespace std;

vector<double> x = {7, 5, 16, 8};

double getMean (const vector<double> x){
    double sum = accumulate(x.begin(), x.end(), 0.0);
    double mean = sum / x.size();
    return mean;
}
double getVariance (const vector <double>x){
    double mean = getMean (vector<double>x)
    double variance = ( x * x ).sum() / x.size() - mean * mean;
    return variance;
}


int main () {
    double mean = getMean (x);
    double variance = getVariance (x);
    cout << " Mean = " << mean << "  variance : " << variance << endl ;
    
    return 0;
}

Czy ktoś mógłby mi wskazać, co tutaj jest nie tak?

1 odpowiedź

0 głosów
odpowiedź 2 kwietnia 2020 przez tkz Nałogowiec (42,020 p.)
Ogólnie źle opersujesz na wektorach.

Abstrahując od przesyłania rzeczy do funkcji, chcesz zrobić coś takiego ( x * x ).sum().

double mean = getMean (vector<double>x) -> ouble mean = getMean (x)
komentarz 2 kwietnia 2020 przez tkz Nałogowiec (42,020 p.)
Z ciekawości, z jakiego estymatora korzystasz?

Podobne pytania

0 głosów
0 odpowiedzi 633 wizyt
0 głosów
1 odpowiedź 459 wizyt
pytanie zadane 12 listopada 2017 w C i C++ przez msdulo12 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 1,107 wizyt
pytanie zadane 7 sierpnia 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)

92,843 zapytań

141,782 odpowiedzi

320,858 komentarzy

62,174 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...