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.