Dziś krótki wpis prezentujący w jaki sposób przekazać tablicę do funkcji, a następnie wypisać jej zawartość na ekran.
Najczęstszym sposobem przekazywania tablicy do wnętrza funkcji jest skorzystanie z następującej właściwości: nazwa tablicy to wskaźnik na element o indeksie zero. Oczywiście język C++ daje inne możliwości przekazywania tablicy do funkcji, jednak my skupimy się na tym za pomocą wskaźnika.
Celem tego wpisuj jest głównie uświadomienie i pokazanie innego sposobu na wypisanie zawartości tablicy na ekran. Rozwiązanie rekurencyjne jest o tyle ciekawe, że wykorzystuje tak zwaną rekurencję ogonową (ang. tail call).
Rozwiązanie omawianego problemu przedstawia poniższy listing:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
using namespace std; | |
void wypisz_tab_iter(int *tab, int n) | |
{ | |
for(int i=0;i<n;i++)cout<<tab[i]<<" "; | |
} | |
void wypisz_tab_rek(int *tab, int n,int i=0) //wywolywac zawsze z 2 parametrami | |
{ | |
if(n>0) | |
{ | |
cout<<tab[i]<<" "; | |
wypisz_tab_rek(tab,n-1,++i); | |
} | |
} | |
int main() { | |
int tablica[]={5,6,7,1,5}; | |
int n=5; | |
wypisz_tab_iter(tablica,n); | |
cout<<endl; | |
wypisz_tab_rek(tablica,n); | |
return 0; | |
} |
Brak komentarzy:
Prześlij komentarz