Witam pomoże mi ktoś z zadaniem 2 ?
Mam nawet problem żeby się za to zabrać, nie mam pojęcia jak to zrobić :/
Okej, w takim razie dwa pytania:
- rozumiesz matematyczną notację tego wzoru?
- znasz podstawy C++?
Tak, część z matmy ogarniam. Podstawy z C++ też mam ;)
No to super. Napisz funkcję która przyjmuje 2 n-elementowe tablice i liczy na ich podstawie MSE :)
dynoviak napisał(a):
Tak, część z matmy ogarniam. Podstawy z C++ też mam ;)
No to do dzieła, bo tu nie ma żadnego myślenia, po prostu masz zapisać wzór matematyczny w postaci kodu C++.
int liczenie(double zmierzone[], double oczekiwane[],int rozmiar);
{
double blad=0;
for(int i=0;i<rozmiar;i++);
{
blad=blad+((zmierzone[i]-oczekiwane[i])*(zmierzone[i]-oczekiwane[i]));
}
blad=blad/rozmiar;
return blad;
}
Mam tak i nie chce się skompilować :/
Masz nadmiarowy średnik po forze. Poza tym wygląda ok jak na początkującego :)
Po poprawce to samo :/
Aha, no tak, jeśli definiujesz funkcję to po jej prototypie też nie dajesz średnika.
Tak swoją drogą: "nie chce się skompilować" jest szalenie mało deskryptywne. Masz szczęście, że dziś chciało mi się wyciągać szklaną kulę, na przyszłość wklej komunikat błędu od kompilatora.
Prawdopodobnie potrzebujesz jeszcze funkcji main, która jest punktem startu programu w C++. Zobacz sobie przykładowe HelloWorld w tym języku.
Sorka, dopiero zaczynam przygodę ogólnie z forum i programowaniem...
Definiowanie funkcji w funkcji jest zabronione. Wytnij ją i wklej przed funkcję główną main()
.
Kod wklejaj w poście.
http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Funkcje-pierwsze-starcie/291
http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Funkcje-a-slowo-kluczowe-return/339
Funkcje
Dlaczego nikt nie odpowiada w moim wątku?
int liczenie(double zmierzone[], double oczekiwane[],int rozmiar)
int main()
{
{
double blad=0;
for(int i=0;i<rozmiar;i++)
{
blad=blad+((zmierzone[i]-oczekiwane[i])*(zmierzone[i]-oczekiwane[i]));
}
blad=blad/rozmiar;
return blad;
}
cout << "Hello world!" << endl;
return 0;
}
Tak wygląda teraz i dalej nic :(
Najpierw funkcja liczenie
, potem main
. Czyli coś w stylu:
double liczenie(double zmierzone[], double oczekiwane[], int rozmiar)
{
// tutaj ciało tej funkcji
}
int main()
{
// a tutaj główny program
}
Zauważ, że liczenie
musi być typu double (bo chcesz, żeby zwracało double). Dobrze by było też tę nazwę zmienić na taką, która coś znaczy… meanSquaredError
wydaje się być najlepszą możliwą nazwą.