Treść zadania: Zaalokuj tablicę 30 elementową liczb typu integer i wypełnij ją liczbami losowymi z przedziału 100-199. W tablicy:
- znajdź najmniejszą liczbę
- znajdź największą liczbę
- średnią wszystkich liczb
-wyznacz ile liczb mieści się w przedziale poniżej i powyżej średniej.
Pamiętaj o poprawnej alokacji tablicy i zwolnieniu pamięci po wykonaniu zadania.
I generalnie to udało mi się wypocić, ale jest problem z największą liczbą i wyznaczeniem ilości liczb powyżej i poniżej średniej.
Byłabym bardzo wdzięczna za wskazanie błędu w kodzie :///
Załącznik nie chciał się przesłać niestety więc:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main() {
srand(time(NULL));
int ilosc = 30;
int *tab;
tab=new int[ilosc];
int liczba;
int max=tab[0];
int min=tab[0];
float suma=0;
float srednia=0;
int pow=0;
int pon=0;
int i;
for(i=0; i<ilosc; i++)
{
liczba=100+rand()%99;
tab[i]=liczba;
cout<<i+1<<". "<<liczba<<endl;
if(min>tab[i]) min=tab[i];
if(max<tab[i]) max=tab[i];
suma+=tab[i];
srednia=suma/30;
if(tab[i]>srednia) pow++;
if(tab[i]<srednia) pon++;
}
cout<<endl<<"Najmniejsza liczba: "<<min<<endl;
cout<<"Najwieksza liczba: "<<max<<endl;
cout<<"Srednia liczb: "<<srednia<<endl;
cout<<"Ilosc liczb w przedziale powyzej sredniej: "<<pow<<endl;
cout<<"Ilosc liczb w przedziale ponizej sredniej: "<<pon<<endl;
delete [] tab;
return 0;
}
Wiem, że zadanie jest proste, no ale jakoś nie wychodzi.