Cześć,
mam taki program i parę pytań do niego:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
double gen(double *tab, size_t rozmiar)
{
int suma = 0;
for (int i=0; i<100; i++)
{
tab[i]=(0+rand() % 1001)/10. ;
cout << tab[i];
cout << endl;
}
}
double maks(double *big, double tab[])
{
int mx = 0;
for(int i = 0; i < 100; i++)
{
if(tab[i] > big)
{
big = tab[i];
mx = i;
}
}
cout << mx;
}
double mini(double *small, double tab[])
{
int mn = 0;
for(int i = 0; i < 100; i++)
{
if(tab[i] > small)
{
small = tab[i];
mn = i;
}
}
cout << mn;
}
double srednia(int ilosc, double tab[])
{
double wynik=0;
for(int i=0; i<ilosc; i++)
{
wynik+=tab[i];
}
return wynik/ilosc;
}
int main()
{
srand(time(NULL));
double big, small, ilosc, tab;
gen(tab, 100);
cout << "Maksymalna wartosc: " << maks(big) << endl;
cout << "Minimalna wartosc: " << mini(small) << endl;
cout << "Srednia arytmetyczna tablicy: " << srednia(ilosc, tab) << endl;
return 0;
}
W jaki sposób poprawnie w ogóle tworzyć funkcję zawierającą w sobie tablicę? Jak się do takiej funkcji potem odwołać w main'ie?
Wydaje mi się, że to co mam jest źle, albo przynajmniej niesforne.
Czy srand(time) musi być w main'ie raz wywołany, czy mogę go dać gdziekolwiek indziej?
W którym momencie należy używać wskaźników przy tworzeniu takich funkcji?
Ten program się nie kompiluje, error: invalid operands of types ‘double’ and ‘double*’ to binary ‘operator>’| wyświetla się w funkcji double mini przy pierwszej pętli if.
Proszę o rady co w ogóle jest złe w zapisie, bo nie mogę się już połapać.
Będę naprawdę wdzięczna za jakąkolwiek pomoc :)