Problem z zadaniem wskaźniki

0

Witam mam ogromy problem ze zrozumieniem zadania i bardzo proszę o pomoc, naprowadzenie na dobry trop.

Napisz funkcję która otrzymując w parametrach dwa wskaźniki do liczb całkowitych(początek i koniec tablicy) tworzy dynamicznie tablicę liczb całkowitych i umieszcza w niej liczby nieparzyste z tablicy wejściowej. Wynikiem funkcji jest adres nowo utworzonej tablicy a rozmiar tej tablicy należy zwrócić przez dodatkowy parametr funkcji. Jeśli brak jest liczb spełniających warunek to tablica wynikowa nie jest tworzona i zwracany jest NULL.

To co do tej pory mam


int * newTab(int *p,int *k, int rozmiar){
int * nieparzysta = new int[k-p];
    int rozmiar = 0;
    while(p <= k){
        for(int i = 0; i<k-p; i++){
            if(*p%2 != 0){
                nieparzysta[i] = *p;
                nieparzysta++;
                rozmiar++;
            }
            p++;
        }
 
    }
    if(rozmiar == 0){
        delete [] nieparzysta;
        return NULL;
    }
 
    else return rozmiar;
}


0

Przekaż referencję do zmiennej rozmiar (inaczej zmienisz tylko wartość lokalnej kopii tej zmiennej):
int * newTab(int *p,int *k, int &rozmiar).

W funkcji:

  • zlicz nieparzyste liczby
  • jeżeli brak nieparzystych to zwróć NULL
  • utwórz tablicę o odpowiedniej wielkości
  • przepisz nieparzyste liczby do nowej tablicy
  • zwróć wskaźnik na tablicę

1 użytkowników online, w tym zalogowanych: 0, gości: 1