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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  De iteración a recursividad
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: De iteración a recursividad  (Leído 1,595 veces)
Alison

Desconectado Desconectado

Mensajes: 1


Ver Perfil
De iteración a recursividad
« en: 17 Noviembre 2016, 23:15 pm »

Hola, qué tal? Estoy tratando de pasar este ciclo do while a forma recursiva pero aún no me he podido.

Código
  1. do {//Loop1
  2.       System.out.println("Filsalida: " + Variable.filsalida + ". Colsalida: " + Variable.colsalida + ". i= " + i + ",j=" + j + ". camino[i][j]=" + camino[i][j] + ". c=" + c);
  3.       if (camino[i][j] == c && j == Variable.filsalida && i == Variable.colsalida) {
  4.               encontrado = true;
  5.       } else if (camino[i][j] == c) {
  6.              System.out.println("Entro!");
  7.              if (i + 1 < Variable.grande + 1) {
  8.                  if (camino[i + 1][j] == -8) {
  9.                        camino[i + 1][j] = c + 1;
  10.                  }
  11.              }
  12.              if (j + 1 < Variable.grande + 1) {
  13.                   if (camino[i][j + 1] == -8) {
  14.                       camino[i][j + 1] = c + 1;
  15.                   }
  16.              }
  17.              if (i - 1 > -1) {
  18.                  if (camino[i - 1][j] == -8) {
  19.                       camino[i - 1][j] = c + 1;
  20.                  }
  21.              }
  22.              if (j - 1 > -1) {
  23.                  if (camino[i][j - 1] == -8) {
  24.                       camino[i][j - 1] = c + 1;
  25.                  }
  26.              }
  27.        }
  28.        //Mostrar(i, j); i = j = 0;
  29.        for (int k = 0; k < Variable.grande + 1; k++) {
  30.             for (int l = 0; l < Variable.grande + 1; l++) {
  31.                  System.out.print(camino[k][l] + " | ");
  32.             }
  33.             System.out.println("");
  34.        }
  35.        //FinMostrar
  36.  
  37.        j++;
  38. } while (j < Variable.grande + 1 && !encontrado);


Esto es lo que tengo:

Código
  1. public void Loop1(int i, int j, int c, boolean encontrado) {
  2.        if (j < Variable.grande + 1 && !encontrado) {
  3.            System.out.println("Filsalida: " + Variable.filsalida + ". Colsalida: " + Variable.colsalida + ". i= " + i + ",j=" + j + ". camino[i][j]=" + camino[i][j] + ". c=" + c);
  4.            if (camino[i][j] == c && j == Variable.filsalida && i == Variable.colsalida) {
  5.                encontrado = true;
  6.            } else if (camino[i][j] == c) {
  7.                System.out.println("Entro!");
  8.                if (i + 1 < Variable.grande + 1) {
  9.                    if (camino[i + 1][j] == -8) {
  10.                        camino[i + 1][j] = c + 1;
  11.                    }
  12.                }
  13.                if (j + 1 < Variable.grande + 1) {
  14.                    if (camino[i][j + 1] == -8) {
  15.                        camino[i][j + 1] = c + 1;
  16.                    }
  17.                }
  18.                if (i - 1 > -1) {
  19.                    if (camino[i - 1][j] == -8) {
  20.                        camino[i - 1][j] = c + 1;
  21.                    }
  22.                }
  23.                if (j - 1 > -1) {
  24.                    if (camino[i][j - 1] == -8) {
  25.                        camino[i][j - 1] = c + 1;
  26.                    }
  27.                }
  28.            }
  29.            int k, l;
  30.            k = l = 0;
  31.            Mostrar(k, l);
  32.            Loop1(i, j + 1, c, encontrado);
  33.        }
  34.    }

Si alguno(a) me podría decir en dónde puede estar mi error, se los agradecería, por favor! Este ciclo va dentro de otros do while pero cuando trato de reemplazar con lo recursivo no me produce el mismo resultado.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Recursividad
Java
rjrn 8 9,778 Último mensaje 17 Marzo 2009, 19:33 pm
por weirdtyping
recursividad
Ejercicios
Choclito 0 3,563 Último mensaje 12 Mayo 2009, 04:47 am
por Choclito
Spartan estará disponible en la próxima iteración de Windows 10
Noticias
wolfbcn 0 1,510 Último mensaje 2 Marzo 2015, 21:48 pm
por wolfbcn
[Solucionado] Problema en iteracion while
Programación C/C++
Mario Olivera 2 1,606 Último mensaje 2 Mayo 2015, 00:20 am
por Mario Olivera
Microsoft renueva el menú inicio de Windows 10 en nueva iteración
Noticias
wolfbcn 0 1,473 Último mensaje 13 Mayo 2015, 02:20 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines