elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  RECURSION en su estado mas puro para invertir un vector!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: RECURSION en su estado mas puro para invertir un vector!  (Leído 5,798 veces)
Elias Flores

Desconectado Desconectado

Mensajes: 13



Ver Perfil
RECURSION en su estado mas puro para invertir un vector!
« en: 12 Septiembre 2018, 23:27 pm »

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <conio.h>
  4. #include <string>
  5. #include <ctime>
  6. using namespace std;
  7. void cargar (int arreglo[],int num2,int n);
  8. void mostrar (int arreglo[],int num2,int n);
  9. void invertir (int arreglo[],int a,int b);
  10. void mostrarinversa (int arreglo[],int num2,int n);
  11. int main (){
  12. int n;
  13. cout<<"ingrese la longitud del vector: ";cin>>n;
  14. int arreglo[n];
  15. cargar (arreglo,0,n);
  16. cout<<endl<<endl;
  17. mostrar (arreglo,0,n);
  18. cout<<endl<<endl;
  19. invertir (arreglo,0,n);
  20. cout<<endl<<endl;
  21. mostrarinversa (arreglo,n-n+1,n);
  22. getch();
  23. return 0;
  24. }
  25. void invertir(int arreglo[],int a ,int b){
  26.   int n=b-a+1;
  27.   int aux;
  28.   if (n>1)
  29.      {
  30.      invertir(arreglo,a+1,b-1);
  31.      aux=arreglo[a];
  32.      arreglo[a]=arreglo[b ] ;
  33.      arreglo[ b]=aux ;
  34.       }
  35. }
  36. void mostrarinversa (int arreglo[],int num2,int n){
  37. if (n>0){
  38. mostrarinversa(arreglo,num2+1,n-1);
  39. cout<<arreglo[num2]<<" ";}  
  40. }
  41. void cargar (int arreglo[],int num2,int n){//en el siguiente metodo le pasado el vector y el indice que comienza en cero = num2
  42. if (n>0){   //num2 debe ir aumentando de 1 en 1
  43. srand(time(0));   //el srand sirve para sincronizar el rand con el reloj del pc
  44. cargar(arreglo,num2+1,n-1);   //llamamos a la misma funcion cargar pero menos el ultimo dato n-1
  45. arreglo[num2]=1+rand()% 10;}
  46. }
  47. void mostrar (int arreglo[],int num2,int n){
  48. if (n>0){
  49. mostrar(arreglo,num2+1,n-1);
  50. cout<<arreglo[num2]<<" ";}
  51. }

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.


« Última modificación: 16 Septiembre 2018, 02:57 am por #!drvy » En línea

Mr.Moonlight

Desconectado Desconectado

Mensajes: 26



Ver Perfil WWW
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #1 en: 13 Septiembre 2018, 00:10 am »

En la funcion invertir habia algunas asignaciones raras :silbar:

Código:

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;
       }
}


arreglo es un array , no puedes asignar un array entero a una posición del mismo  :xD
de esta misma manera no puedes asignar un dato de una posición a todo el array.. no se si me explico


« Última modificación: 13 Septiembre 2018, 00:18 am por Mr.Moonlight » En línea

Ayudame en posicionamiento SEO en mi practica de la universidad : https://www.atorrijaoguachisnai.com/
Elias Flores

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #2 en: 13 Septiembre 2018, 00:33 am »

estoy en un elemento dentro del vector y lo estoy intercambiando a=inicio b= fin luego del intercambio b=inico a=fin
En línea

Mr.Moonlight

Desconectado Desconectado

Mensajes: 26



Ver Perfil WWW
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #3 en: 13 Septiembre 2018, 00:40 am »

eso es lo que hace el codigo que te puse ahi , ese si funciona ,el que tu pusiste no compilaba
« Última modificación: 13 Septiembre 2018, 00:43 am por Mr.Moonlight » En línea

Ayudame en posicionamiento SEO en mi practica de la universidad : https://www.atorrijaoguachisnai.com/
Elias Flores

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #4 en: 13 Septiembre 2018, 00:44 am »

O_O gracias camarada seguro debi pegarlo mal recien me di cuenta  gracias por el aporte :D
En línea

Mr.Moonlight

Desconectado Desconectado

Mensajes: 26



Ver Perfil WWW
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #5 en: 13 Septiembre 2018, 17:48 pm »

El problemas es que debeis utilizar las etiquetas para insertar codigo , puesto que sino, puede dar lugar a malentendidos como este..

fijandome más detenidamente en tu primer mensaje puedo ver que
Código:
arreglo[a]= arreglo[b] 

al no usar las etiquetas ha interpretado [ b ] como si lo estuvieras remarcando en negrita .. por tanto te pido que modifiques el primer mensaje y utilices dichas etiquetas por favor. :(

A la hora de trasladar esto a una matriz..¿supongo que conoceras la forma de invertir una matriz, no?
Una matriz inversa es completamente distinto a invertir un vector no se si me explico
« Última modificación: 13 Septiembre 2018, 18:15 pm por Mr.Moonlight » En línea

Ayudame en posicionamiento SEO en mi practica de la universidad : https://www.atorrijaoguachisnai.com/
Elias Flores

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #6 en: 14 Septiembre 2018, 03:33 am »

pues en matriz recursiva estoy cero...... por eso pido ayuda al foro si alguien podria hacer algun ejemplo o modificar mi codigo para tener una matriz caracol recursiva, solo quiero saber el metodo para llenar una matriz recursiva de hay me guio en la logica para llenarla al estilo caracol! HELP FORO
En línea

Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #7 en: 14 Septiembre 2018, 05:19 am »

Código
  1. int suma(arreglo a, int i, int j)
  2. {
  3. if(i==0 && j==0)
  4. return a[i][j];
  5. else
  6. if(i>-1)
  7. if(j>=-1)
  8. return a[i][j]+suma(a,i,j-1);
  9. else
  10. return a[i][j]+suma(a,i-1,j+COLUMNAS-1);
  11. }



Código
  1. void mostrar(arreglo a, int n)
  2. {
  3. if(n>=0)
  4. cout << a[n] << " ";
  5. mostrar(a,n-1);
  6. }


Código
  1. void como_la_realidad(short vida)
  2. {
  3. if(vida<=1){
  4. cout << "Entrando en el sueño";
  5. }
  6. else{
  7. como_la_realidad(vida-1);
  8. cout << " del sueño";
  9. }
  10. }


Mod: No hacer triple post. Usa el botón "Modificar".
« Última modificación: 16 Septiembre 2018, 01:31 am por #!drvy » En línea

7w7
Elias Flores

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #8 en: 15 Septiembre 2018, 22:19 pm »

Código
  1.    int suma(arreglo a, int i, int j)
  2.    {
  3.     if(i==0 && j==0)
  4.     return a[i][j];
  5.     else
  6.     if(i>-1)
  7.     if(j>=-1)
  8.     return a[i][j]+suma(a,i,j-1);
  9.     else
  10.     return a[i][j]+suma(a,i-1,j+COLUMNAS-1);
  11.    }
la variable "COLUMNAS" cuando lo declaras y cual es su valor ? O_O


Mod: Obligatorio el uso de etiquetas GeSHi para códigos.
« Última modificación: 16 Septiembre 2018, 01:32 am por #!drvy » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #9 en: 15 Septiembre 2018, 23:36 pm »

Pon todo el código dentro de las etiquetas que se generan cuándo le das al desplegable 'Código GeSHi'.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
invertir el orden de un vector
Programación C/C++
indict 2 3,545 Último mensaje 22 Junio 2013, 17:34 pm
por leosansan
invertir un vector en C
Programación C/C++
windic 7 37,160 Último mensaje 16 Septiembre 2018, 04:46 am
por Beginner Web
Invertir un vector
Programación C/C++
bryanrz96 1 2,730 Último mensaje 3 Diciembre 2015, 04:56 am
por Zodiak98
Nostalgia en estado puro: Windows 95 en tu navegador web
Noticias
wolfbcn 1 1,443 Último mensaje 31 Enero 2016, 17:03 pm
por crazykenny
invertir un vector
Programación C/C++
creiko 4 5,405 Último mensaje 12 Abril 2016, 05:02 am
por Gunhack
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines