[C++] Funkcja usuwająca dowolny element tablicy

palcedavosa12
Użytkownik
Użytkownik
Posty: 14
Rejestracja: 29 sty 2017, o 15:42
Płeć: Mężczyzna
Lokalizacja: Częstochowa
Podziękował: 1 raz

[C++] Funkcja usuwająca dowolny element tablicy

Post autor: palcedavosa12 »

Zadanie jak w tytule : funkcja ma zwracać wartość elementu który ma być usunięty. Ma przyjmować takie argumenty jak w kodzie ( wskaznik na tablice, rozmiar tablicy, indeks elementu do skasowania). Zmiana ma być widoczna przez zmianę rozmiaru tablicy, i przez oczywiscie zmiane zawartości jej komórek ( w sensie brak tego elementu który jest usuwany).

Kod: Zaznacz cały


int kasuj(int *tab, unsigned int &n, unsigned int kas)
{
    return tab[kas];
    int *tab2 = new int [n];

    for (int i=0; i<n; i++)
    {

        if(i!=kas)tab2[i]=tab[i];
    }

    delete [] tab;

    tab = new int [n-1];
    tab2[kas]=0;
    for (int i=0; i<n-1; i++)
    {
      tab[i]=tab2[i];
    }
    n--;

}
Kod się kompiluje, lecz zmiany nie zostają wykonane (wyświetlam tablice przed i po zastosowaniu funkcji).
Ostatnio zmieniony 19 mar 2017, o 13:05 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[C++] Funkcja usuwająca dowolny element tablicy

Post autor: Afish »

Skoro pierwsza instrukcja funkcji powoduje jej zakończenie, to nie ma co się dziwić…
ODPOWIEDZ