Afișarea elementelor unui vector recursiv în C++
Dându-se un șir a[]
cu n
elemente, să se afișeze pe ecran elementele sale,
folosind o funcție recursivă.
Exemplu. Pentru a = (1, 2, 10, 9, 8)
, pe ecran se afișează 1 2 10 9 8
.
Abordarea problemei
Vom crea un subprogram care are ca parametri următorii:
- Vectorul nostru (
a
); - Lungimea sa (
n
); - Poziția curentă pe care ne aflăm (
i
);
Vom simula o structură repetitivă de tip for
, astfel:
- Dacă
i ≤ n
, atunci:- afișăm elementul curent (
a[i]
); - apelăm funcția pentru
i + 1
;
- afișăm elementul curent (
- În caz contrar (
i > n
):- ne oprim.
Funcția pe care o folosim va fi de tip void
, pentru că nu trebuie să
returnăm nimic. De asemenea, vom indexa șirul de la 1
, însă rezolvarea este
foarte asemănătoare și pentru indexarea de la 0
.
Implementare în C++
Iată rezolvarea în C++. Ne folosim de return
pentru a ne opri din executat
liniile următoare — exact ca și break
din structurile repetitive.
#include <iostream>
using namespace std;
void afisare(int a[], int n, int i) { //Șirul, lungimea și indicele curent
if(i > n) { //Dacă am terminat șirul, atunci ne oprim din executat
return; //Similar cu break
}
cout << a[i] << " "; //Afișăm numărul curent și apelăm funcția pentru elementele următoare
afisare(a, n, i + 1);
}
int main()
{
//Declarăm și citim șirul nostru (indexat de la 1)
int n, a[101];
cin >> n;
for(int i = 1; i <= n; i++) {
cin >> a[i];
}
//Afișăm șirul, folosind funcția creată
afisare(a, n, 1);
return 0;
}
Alte resurse sau bibliografie
DS
Autorul acestei lecții
Dominic Satnoianu
Această lecție a fost redactată de către Dominic Satnoianu.
© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.
Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.
Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.
Comentarii 0