Cześć. Napisałem program, który liczy odchylenie standardowe. Użyłem tablicy dynamicznej. Wszystko działa ale gdy dodam delete[] tablica; i tablica = nullptr; żeby zwolnić pamieć to otrzymuję błąd jak w temacie. Czy brakuje mi jakiejś biblioteki? Wzorowałem się na przykładzie z internetu i tam właśnie tak zwalniano miejsce tylko w tatym fragmencie kodu nie było pokazanych bibliotek i tak podejrzewa, że to może być to.
#include <iostream>
#include <time.h>
#include <cstdlib>
#include <math.h>
#include <conio.h>
using namespace std;
int main()
{
cout << "Podaj ile liczb ";
int rozmiar; cin >> rozmiar;
int *tablica = new int [rozmiar]{};
srand(time(NULL));
for (int i = 0; i < rozmiar; i += 1)
{
tablica[i] = (rand()%20)-10;
cout << i <<": " << tablica[i] << endl;
}
float suma=0;
float aryt = 0;
int p = rozmiar -1;
for(p;p>=0;p--)
{
suma += tablica[p];
}
aryt = suma / rozmiar;
float S = 0;
int n = rozmiar;
for(n=0;n < rozmiar;n++)
{
S += (tablica[n] - aryt)*(tablica[n] - aryt);
cout << S << endl;
}
delete[] tablica;
tablica = nullptr;
S = S / (rozmiar -1);
S = sqrt(S);
cout << S << endl;
return 0;
}