Salve, un altra ricorsione questa volta almeno per me un po piu complessa dove provo a compilare ma non mi stampa l'array all'inverso.
la traccia dice cosi:
– Dato un vettore di interi, costruire (con una funzione ricorsiva) un secondo vettore che contiene gli
stessi elementi del primo ma in ordine inverso.
Esempio: se A = [1,2,3,4,5], il vettore costruito dovrà essere B = [5,4,3,2,1].*/
codice:
# include <iostream>
using namespace std;
bool costruzione (int [],int [], int ,int);
void stampa (int []);
const int n=5;
int main ()
{
int a[n]={1,2,3,4,5};
int b[n]={0};
if (costruzione (a,b,4,0))
cout<<endl;
stampa (b);
return 0;
}
bool costruzione (int a[],int b[], int i, int j)
{
if (i==n-1)
return true;
if (a[i]!=b[j])
return false;
return costruzione (a,b,i-1,j+1);
}
void stampa (int b[])
{
for (int j=0;j<n;j++)
cout<<b[j];
cout<<endl;
}