Hej, mam problem ze zwracaniem tablicy z funkcji. Funkcja losuje liczby bez powtórzeń i zapisuje je w tablicy, następnie taką tablicę chcę zwrócić z funkcji. Nie do końca ogarniam jak to zrobić.
Kod wygląda następująco:
#include <iostream>
#include <ctime>
int losowanie(int ile_losow, int zakres)
{
int* tab = new int [ile_losow+1];
bool sprawdzenie;
int ile=0;
int n;
for(int i=1; i<=ile_losow; i++)
{
do
{
int liczba=(rand()%zakres)+1;
sprawdzenie=true;
for(int j=1; j<=ile_losow; j++)
{
if(liczba==tab[j])
{
sprawdzenie=false;
}
}
if(sprawdzenie==true)
{
ile++;
tab[ile]=liczba;
}
}while(sprawdzenie!=true);
}
// sprawdzenie, czy funkcja poprawnie losuje liczby
/*
for(int k=1; k<=ile_losow; k++)
{
std::cout<<tab[k]<<std::endl;
}
*/
return tab[2];
}
int main()
{
srand(time(NULL));
return 0;
}
Moim zamiarem było wykorzystanie funkcji do wygenerowania tablic liczb losowych, a następnie chciałem wykorzystać tą tablice w dalszej części programu, do wypisania jej forem na ekran i wyznaczenia wartości maksymalnej. W momencie gdy chcę zwrócić tablice w funkcji wyskakuje błąd. Domyślam się, że jest to spowodowane wykorzystaniem wskaźników, niestety teorię staram się nadrabiać jak najszybciej, ale musiałem nagle wskoczyć w C++ i jeszcze nie do końca wszystko ogarniam.
Z góry, dziękuję za pochylenie się nad tematem.