¿Cómo llenar vector de forma recursiva en C?

publicado por: Anonymous

Tengo que hacer una función recursiva que inicialice un vector con un valor recibido por parámetro de la función.
Entiendo que para hacerlo de forma iterativa sería así:

void leer_arreglo(int a[], int n){    
    for (int i=0;i<n;i++){               
       printf ("Ingrese elemento:n");
    scanf ("%d", &a[i]);
    }
}

Ahora, para hacerlo de forma recursiva no me sale bien. He puesto algo más o menos así:

#define TAM 10

void inicializar_arreglo (int a[], int n){
   if (a[TAM]=a[n])
      return 0;
   else
      inicializar_arreglo(a[i-1]);
}

solución

Aqui tienes la solucuion

#include <bits/stdc++.h>

using namespace std;

int arrayt[10];
int numero;

void iniciar_arreglo(int tam)
{
if(tam == 10)
    return;
else{
    cin >> numero;
    arrayt[tam] = numero;
    iniciar_arreglo(tam+1);
}
}

int main()
{
iniciar_arreglo(1);

for(int i = 1; i <= 9; i++)
    cout << arrayt[i] << ' ';

return 0;
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *