Moim zadaniem jest za pomocą funkcji obliczyć odchylenie standardowe dla wprowadzanego z konsoli do tablicy zestawu liczb. Matematycznie gdyby to rozpisać myślę, że by przeszło ale informatycznie gdzieś jest błąd. Wynik się poprawnie nie wyświetla w dodatku na końcu wyskakuje błąd mówiący o tym że zmienna "sumapoteg" nie została zainicjowana, a przecież jest za pomocą float. Jeśli ktoś znajdzie problem prosze o pomoc.
#include <iostream>
#include <math.h>
using namespace std;
float std_dev(float* tab, unsigned int ilosc)
{
float sumowanie=0;
for (int u=0; u<ilosc; u++)
{
sumowanie += tab[u];
}
float dodanie=sumowanie/ilosc;
float potega;
float sumapoteg;
for (int r=0; r<ilosc; r++)
{
potega=tab[r]-dodanie;
potega*=potega;
sumapoteg+=potega;
}
float wariancja= sumapoteg/ilosc;
float odchylenie = sqrt(wariancja);
return odchylenie;
}
int main()
{
unsigned int ilosc;
cout<<"Podaj ile liczb chcesz wprowadzic: ";
cin>>ilosc;
cout<<endl;
float* tab = new float[ilosc];
for (int i=0; i<ilosc; i++)
{
cout<<"Podaj "<<i+1<<" liczbe: ";
cin>>tab[i]
)
cout<<"Odchylenie standardowe dla podanego zestawu liczb wynosi: "<<std_dev(tab,ilosc)<<endl;
delete [] tab;
system ("PAUSE");
return 0;
}