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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  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 4,964 veces)
Mr.Moonlight

Desconectado Desconectado

Mensajes: 26



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

Si , porque sino esto es un caos  :xD


En línea

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


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


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

COLUMNAS es solo representativo
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. const int FILAS=3, COLUMNAS=4;
  6. typedef int arreglo[FILAS][COLUMNAS];
  7.  
  8. int suma(arreglo a, int i, int j);
  9.  
  10. int main()
  11. {
  12. arreglo miarreglo={{1,1,1,1},{2,2,2,2},{3,3,3,3}};
  13. cout << "SUMA: " << suma(miarreglo,FILAS-1,COLUMNAS-1) << endl;
  14. system("pause");
  15. }
  16.  
  17. int suma(arreglo a, int i, int j)
  18. {
  19. if(i==0 && j==0)
  20. return a[i][j];
  21. else
  22. if(i>-1)
  23. if(j>=-1)
  24. return a[i][j]+suma(a,i,j-1);
  25. else
  26. return a[i][j]+suma(a,i-1,j+COLUMNAS-1);
  27. }
;-)


En línea

7w7
Elias Flores

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: RECURSION en su estado mas puro para invertir un vector!
« Respuesta #12 en: 16 Septiembre 2018, 02:54 am »

 :o :huh: Nica estoy cero........... no se si notaron los codigos que subo al foro en la funcion main nunca coloco una operacion matematica para nada solo lo utilizo para llamar a otras funciones y las funciones predeterminadas son siempre de tipo void solo la funcion que muestra el vector es de tipo "int"........ bueno aqui nace un problema ya que en matrices tengo que crear un metodo que carge la matriz y en dev c++ cuando envio una matriz simpre debo limitar el numero de columnas SIEMPRE y es hay donde me pierdo completamente OJO los ejercicios los hago asi para tener mas orden y para que sean mas entendibles!. Posdata aqui dejo mi logica de cargar una matriz en modo modular en otras palabras de manera muy simple y vaga si lo puedo llamar asi XD

Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <conio.h>
  4. #include <string>
  5. #include <ctime>
  6. using namespace std;
  7. int main(){
  8. int numE;
  9. int f,c;
  10. cout<<"Ingrese el tamaño de la fila: ";cin>>f;
  11. cout<<"Ingrese el tamaño de la columna: ";cin>>c;
  12. int matriz [f][c];
  13. srand(time(0));
  14. for (int i=0;i<f;i++){
  15. for (int j=0;j<c;j++){
  16.     numE=1+rand()% 9;
  17. matriz[i][j]=numE;
  18. }
  19. }
  20. for (int i=0;i<f;i++){
  21. for (int j=0;j<c;j++){
  22.     cout<<matriz[i][j]<<" ";
  23. }cout<<endl;
  24. }
  25. getch();
  26. return 0;
  27. }

Ahora solo hay que llevarlo a metodo recursivo un metodo dentro del main que llame a un metodo externo de tipo void que carge la matriz y un metodo de tipo "int" que muestre la matriz este de tipo entero porque tiene que devolver un valor real no como el void que no devuelve nada soy nuevo en Dev c++ esto ya lo tengo en c++ builder usando sus librerias de StringGrid pero yo quiero hacerlo libre  :¬¬.......  :¬¬ :-\  ¿Alguien que quiera participar O_0?
« Última modificación: 16 Septiembre 2018, 03:06 am por Elias Flores » 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 #13 en: 16 Septiembre 2018, 04:32 am »

Código
  1. #include <iostream>
  2. #include <ctime>
  3.  
  4. using namespace std;
  5.  
  6. const int FILAS=3, COLUMNAS=4;
  7. typedef int arreglo[FILAS][COLUMNAS];
  8.  
  9. void cargar(arreglo &a, int i, int j);
  10. void mostrar(arreglo a, int i, int j);
  11. int suma(arreglo a, int i, int j);
  12.  
  13. int main()
  14. {
  15. arreglo miarreglo;
  16. srand(time(0));
  17. cargar(miarreglo,0,0);
  18. mostrar(miarreglo,0,0);
  19. cout << "SUMA: " << suma(miarreglo,FILAS-1,COLUMNAS-1) << endl;
  20. system("pause");
  21. }
  22.  
  23. void cargar(arreglo &a, int i, int j)
  24. {
  25.    a[i][j]=1+rand()% 10;
  26.    if(i<FILAS){
  27.     if(j<COLUMNAS){
  28.     cargar(a,i,j+1);
  29. }
  30. else{
  31. cargar(a,i+1,0);
  32. }
  33. }
  34. }
  35.  
  36. void mostrar(arreglo a, int i, int j)
  37. {
  38.    if(i<FILAS){
  39.     if(j<COLUMNAS){
  40.     cout << a[i][j] << " ";
  41.     mostrar(a,i,j+1);
  42. }
  43. else{
  44. cout << endl;
  45. mostrar(a,i+1,0);
  46. }
  47. }
  48. }
  49.  
  50. int suma(arreglo a, int i, int j)
  51. {
  52. if(i==0 && j==0)
  53. return a[i][j];
  54. else
  55. if(i>-1)
  56. if(j>=-1)
  57. return a[i][j]+suma(a,i,j-1);
  58. else
  59. return a[i][j]+suma(a,i-1,j+COLUMNAS-1);
  60. }
;-)
En línea

7w7
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,266 Último mensaje 22 Junio 2013, 17:34 pm
por leosansan
invertir un vector en C
Programación C/C++
windic 7 36,384 Último mensaje 16 Septiembre 2018, 04:46 am
por Beginner Web
Invertir un vector
Programación C/C++
bryanrz96 1 2,447 Último mensaje 3 Diciembre 2015, 04:56 am
por Zodiak98
Nostalgia en estado puro: Windows 95 en tu navegador web
Noticias
wolfbcn 1 1,226 Último mensaje 31 Enero 2016, 17:03 pm
por crazykenny
invertir un vector
Programación C/C++
creiko 4 5,030 Último mensaje 12 Abril 2016, 05:02 am
por Gunhack
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines