Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Elias Flores

#11
Programación C/C++ / Re: invertir un vector en C
12 Septiembre 2018, 23:33 PM
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.
#12
Programación C/C++ / Re: Ayuda con recursividad
12 Septiembre 2018, 23:32 PM
Tengo una funcion que suma los elementos de un vector recursion en su estado mas puro espero te sirva saludos!

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <ctime>
using namespace std;
void cargar (int arreglo[],int n);
void mostrar (int arreglo[],int num2,int n);
int sumavector (int num1,int arreglo[],int num2,int n);
int main (){
int n,suma;
cout<<"ingrese la longitud del vector: ";cin>>n;
int arreglo[n];
cargar (arreglo,n);
mostrar (arreglo,0,n);
suma =sumavector(0,arreglo,0,n);
cout<<"\nla suma es: "<<suma<<endl;
getch();
return 0;
}
int sumavector (int num1,int arreglo[],int num2,int n){
if (n==num2){//caso base elemental mi querdo watson :D
return num1;
}else{
num1=num1+arreglo[num2];
return sumavector(num1,arreglo,num2+1,n);}
}
void cargar (int arreglo[],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,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.
#13
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[b ] ;
     arreglo[ b]=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]<<" ";}
}


hola necesito ayuda en esto tengo que llevarlo a una matriz pero todo tiene que ser recurisvo desde cargar la matriz hasta mostrar la matriz solo se puede usar "If" HELP aun son muy nuevo en esto de la recursion




Mod: Es obligatorio el uso de etiquetas GeSHi para poner código.