int* wielkoscB(int* pocz, int rozmA, int rozmb, float sred, float odch)
{
int k = 0;
for (int i = 0; i < rozmA; i++) { // wczytuje wszystkie wartosci z tablicy A
if (*(pocz + i) > sred - odch && *(pocz + i) < sred + odch) { // sprawdza czy liczba spelnia warunek jezeli spelnia to wypisuje ja oraz inkrementuje zmienna k
cout << *(pocz + i) << endl;
k++;
}
}
int* tab;
tab = new int[k]; // tworzy nowa tablice o rozmiarze k
for (int j = 0; j < rozmA; j++) { // wczytuje wszystkie wartosci z tablicy A
int liczba = 0;
if (*(pocz + j) > sred - odch && *(pocz + j) < sred + odch) { // sprawdza czy liczba spelnia warunek jezeli spelnia to wpisuje wartosc liczbowa do tablicy B
for (int l = 0; l < k; l++) {
liczba = *(pocz + j);
*(tab + l) = liczba;
}
}
}
}
zmienne *pocz , rozm_a określają początek i wielkość tablicy A
sred i odch to wartości liczbowe.
Problem polega na tym, że muszę sprawdzić wszystkie szufladki tablicy A w poszukiwaniu liczb spełniających warunek oraz utworzyć druga tablice B tylko z tymi wartościami.
Jednak nie potrafię tego ogarnąć konceptualnie i koniec końców tablica B wczytuje mi tylko jedna wartość.Mam wątpliwości czy na pewno da się to zrobić w jednej funkcji, zastanawiam się czy słusznie funkcja powinna cokolwiek zwracać. Na pewno w kodzie jest mnóstwo rzeczy które można było przyspieszyć i zastąpić ale taka wizje miałem zęby to wszystko zrobić w jednej funkcji. Ktoś pomoże i objaśni ?