Mam program, który przy podaniu 0 kończy wpisywanie liczb do tablicy albo po jej zapełnieniu. Podaje max i min wartosci. Przy podaniu wiecej liczb to program działa, natomiast gdy podam z 3 liczby i podam 0, wykazuje dziwne wartosci w min i max i srednia wychodzi calkowita, mimo ze jest zainicjowana jako float
#include <iostream>
#include <iomanip>
using namespace std;
const int MAX_N = 10;
int main()
{
int tab[MAX_N];
int min, max;
float srednia = 0.0;
for (int i = 0; i < 10; i++) {
cin >> tab[i];
if (tab[i] == 0) {
break;
}
}
min = tab[0];
for (int i = 0; i < 10; i++) {
if (min > tab[i])
min = tab[i];
}
max = tab[0];
for (int i = 0; i < 10; i++) {
if (max < tab[i])
max = tab[i];
}
int licznik = 0;
int suma = 0;
for (int i = 0; i < 10; i++) {
suma = suma + tab[i];
licznik++;
srednia = suma / licznik;
}
cout << min << endl;
cout << max << endl;
cout << srednia << endl;
}