Autor
|
Tema: RECURSION en su estado mas puro para invertir un vector! (Leído 5,797 veces)
|
|
Beginner Web
Desconectado
Mensajes: 634
youtu.be/0YhflLRE-DA
|
COLUMNAS es solo representativo #include <iostream> using namespace std; const int FILAS=3, COLUMNAS=4; typedef int arreglo[FILAS][COLUMNAS]; int suma(arreglo a, int i, int j); int main() { arreglo miarreglo={{1,1,1,1},{2,2,2,2},{3,3,3,3}}; cout << "SUMA: " << suma(miarreglo,FILAS-1,COLUMNAS-1) << endl; system("pause"); } int suma(arreglo a, int i, int j) { if(i==0 && j==0) return a[i][j]; else if(i>-1) if(j>=-1) return a[i][j]+suma(a,i,j-1); else return a[i][j]+suma(a,i-1,j+COLUMNAS-1); }
|
|
|
En línea
|
7w7
|
|
|
Elias Flores
Desconectado
Mensajes: 13
|
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 #include <iostream> #include <cstdlib> #include <conio.h> #include <string> #include <ctime> using namespace std; int main(){ int numE; int f,c; cout<<"Ingrese el tamaño de la fila: ";cin>>f; cout<<"Ingrese el tamaño de la columna: ";cin>>c; int matriz [f][c]; srand(time(0)); for (int i=0;i<f;i++){ for (int j=0;j<c;j++){ numE=1+rand()% 9; matriz[i][j]=numE; } } for (int i=0;i<f;i++){ for (int j=0;j<c;j++){ cout<<matriz[i][j]<<" "; }cout<<endl; } getch(); return 0; }
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
Mensajes: 634
youtu.be/0YhflLRE-DA
|
#include <iostream> #include <ctime> using namespace std; const int FILAS=3, COLUMNAS=4; typedef int arreglo[FILAS][COLUMNAS]; void cargar(arreglo &a, int i, int j); void mostrar(arreglo a, int i, int j); int suma(arreglo a, int i, int j); int main() { arreglo miarreglo; srand(time(0)); cargar(miarreglo,0,0); mostrar(miarreglo,0,0); cout << "SUMA: " << suma(miarreglo,FILAS-1,COLUMNAS-1) << endl; system("pause"); } void cargar(arreglo &a, int i, int j) { a[i][j]=1+rand()% 10; if(i<FILAS){ if(j<COLUMNAS){ cargar(a,i,j+1); } else{ cargar(a,i+1,0); } } } void mostrar(arreglo a, int i, int j) { if(i<FILAS){ if(j<COLUMNAS){ cout << a[i][j] << " "; mostrar(a,i,j+1); } else{ cout << endl; mostrar(a,i+1,0); } } } int suma(arreglo a, int i, int j) { if(i==0 && j==0) return a[i][j]; else if(i>-1) if(j>=-1) return a[i][j]+suma(a,i,j-1); else return a[i][j]+suma(a,i-1,j+COLUMNAS-1); }
|
|
|
En línea
|
7w7
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
invertir el orden de un vector
Programación C/C++
|
indict
|
2
|
3,545
|
22 Junio 2013, 17:34 pm
por leosansan
|
|
|
invertir un vector en C
Programación C/C++
|
windic
|
7
|
37,160
|
16 Septiembre 2018, 04:46 am
por Beginner Web
|
|
|
Invertir un vector
Programación C/C++
|
bryanrz96
|
1
|
2,730
|
3 Diciembre 2015, 04:56 am
por Zodiak98
|
|
|
Nostalgia en estado puro: Windows 95 en tu navegador web
Noticias
|
wolfbcn
|
1
|
1,443
|
31 Enero 2016, 17:03 pm
por crazykenny
|
|
|
invertir un vector
Programación C/C++
|
creiko
|
4
|
5,405
|
12 Abril 2016, 05:02 am
por Gunhack
|
|