Nie wiem czy rozumiesz wskaźniki. Jak masz tablice
int tablicaLiczb[ 10 ];
to ona reprezentuje blok dziesięciu komórek w pamięci czyli załóżmy takie coś:
[ | | | | | | | | | ]
.
Jak przekazujesz nazwę tablicy do funkcji
wyswietl( tablicaLiczb, liczbaElementow );
to przekazujesz wskaźnik na pierwszy element.
Masz też zmienną
int liczbaElementow = 0;
i ją zerujesz na samym początku(bo nie masz nic w tablicy. Jak wiesz indeksowanie tablicy zaczyna się od zera w C++, więc żeby odwołać się do elementu drugiego czyli
[ |x| | | | | | | | ]
wpiszesz
tablicaLiczb[ 1 ]
No i teraz przejdziemy do funkcji.
Przy pierwszym wywołaniu masz takie rzeczy
tablicaLiczb [ | | | | | | | | | ]
liczbaElementow("ile" w funkcji) 0
Więc jak zrobisz
tablicaLiczb[ ile ];
to odwołujesz się do elementu pierwszego:
[ | | | | | | | | | ]
^
do tego
Wpisujesz tam 123 i zwiększasz ile o 1 i zwracasz te ile.
Masz takie coś:
liczbaElementow = dopisz( 123, tablicaLiczb, liczbaElementow );
czyli to co zwracasz z funkcji przypisujesz do zmiennej
liczbaElementow
Przy drugim wywołaniu masz:
tablicaLiczb [123| | | | | | | | | ]
liczbaElementow("ile" w funkcji) 1
Więc jak zrobisz
tablicaLiczb[ ile ];
to odwołujesz się już do elementu drugiego:
[123| | | | | | | | | ]
^
do tego
Wpisujesz tam 321 i zwiększasz ileo 1 i zwracasz te ile.
czyli po dwóch wywołaniach masz
tablicaLiczb [123|321 | | | | | | | | ]
liczbaElementow 2
i tak w kółko możesz[/code][/code]