Wydaje mi się, że wszystko działa poprawnie z wyjątkiem obliczania średniej. Nie wiem dlaczego nie liczy jej poprawnie. Ponadto często wyskakuje błąd, że program przestał działać. W czym tkwi problem?
#include <iostream>
#include <cstdlib>
#include <time.h>
/* losowanie n liczb, wypisywanie najmniejszej i najwiekszej wartosci
sposrod wylosowanych, obliczanie sredniej */
using namespace std;
int a, n;
int * tab = new int[n];
int main()
{
cout << "Ile razy program ma wylosowac liczbe z przedzialu <1,100>?" << endl;
cin >> n;
srand(time(NULL));
for(int i=0; i<n; i++)
{
tab[i] = rand()%100+1;
cout << tab[i] << ", ";
}
int max, min;
int i=1;
max = tab[0];
min = tab[0];
do
{
if(tab[i]<min)
min = tab[i];
if(tab[i]>max)
max = tab[i];
i++;
}
while(i<n);
cout << endl << "Wartosc najmniejsza"<< endl << min << endl;
cout << "Wartosc najwieksza" << endl << max << endl;
int suma = 0;
float srednia;
for(int i=0; i<n; i++)
suma += tab[i];
srednia = suma/n;
cout << "Srednia = " << srednia << endl;
system("pause");
return 0;
}