Código (cpp) [Seleccionar]
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <string>
#include <ctime>
using namespace std;
void cargar (int arreglo[],int num2,int n);
void mostrar (int arreglo[],int num2,int n);
void invertir (int arreglo[],int a,int b);
void mostrarinversa (int arreglo[],int num2,int n);
int main (){
int n;
cout<<"ingrese la longitud del vector: ";cin>>n;
int arreglo[n];
cargar (arreglo,0,n);
cout<<endl<<endl;
mostrar (arreglo,0,n);
cout<<endl<<endl;
invertir (arreglo,0,n);
cout<<endl<<endl;
mostrarinversa (arreglo,n-n+1,n);
getch();
return 0;
}
void invertir(int arreglo[],int a ,int b){
int n=b-a+1;
int aux;
if (n>1){
invertir(arreglo,a+1,b-1);
aux=arreglo[a];
arreglo[a]=arreglo;
arreglo=aux;}
}
void mostrarinversa (int arreglo[],int num2,int n){
if (n>0){
mostrarinversa(arreglo,num2+1,n-1);
cout<<arreglo[num2]<<" ";}
}
void cargar (int arreglo[],int num2,int n){//en el siguiente metodo le pasado el vector y el indice que comienza en cero = num2
if (n>0){ //num2 debe ir aumentando de 1 en 1
srand(time(0)); //el srand sirve para sincronizar el rand con el reloj del pc
cargar(arreglo,num2+1,n-1); //llamamos a la misma funcion cargar pero menos el ultimo dato n-1
arreglo[num2]=1+rand()% 10;}
}
void mostrar (int arreglo[],int num2,int n){
if (n>0){
mostrar(arreglo,num2+1,n-1);
cout<<arreglo[num2]<<" ";}
}
Mod: Obligatorio el uso de etiquetas GeSHi para códigos.