Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Inundar una Matriz

Preguntas y respuestas sobre el lenguaje de programacion C/C++

Inundar una Matriz

Notapor fa61an el Jue Sep 28, 2006 2:18 pm

Gracias por aceptarme !!

Utilizo el Dev C++ por ser GPL,

Estoy realizando un carro que se debe salir de un laberinto en el menor tiempo posible, lo cual debe encontrar la ruta mas corta del laberinto.

El laberinto viene dado en una matriz como por ejemplo:

1 1 1 0 1
1 0 0 0 1
1 0 1 0 1
0 0 2 0 1
1 1 1 1 1

1 -----> pared
2 -----> posicion inicial
0 -----> ruta

y el algortimo debe inundar la matriz de la siguiente forma

Imagen

Ya tengo un codigo que inunda bien la matriz pero solo cuando hay una salida y como pueden ver la matriz que pongo de ejemplo tiene dos salidas, si alguien tiene una idea de como hacerlo se lo agradezco.

PD: una posible idea que sugirio un profesor es de cuando hay dos salidas hacer superposicion, pero la verdad no se a que se refirio.
fa61an
Novato
Novato
 
Mensajes: 1
Registrado: Jue Sep 28, 2006 1:48 pm

Aqui algo que puede ayudarte.

Notapor MicroLogic©Software el Mar Oct 03, 2006 1:16 pm

Si te sale mal... o quiza no te sirve, avisas intente ayudarte de todas maneras.

Código: Seleccionar todo
//
// MicroLogic ¸ Software Corp.
//
// Pograma : llenar la Matriz
//

#include <stdio.h>
#include <conio.h>


void main()
{

   int  i,j,Orden=5;
   int  Matriz[9][9];

   clrscr();
   for( i=0;i<Orden;i++)
     for( j=0;j<Orden;j++)
     {
   Matriz[i][j] = 1;
     }


   int Val = 10;
   for( i=0;i<Orden-1;i++)
   {
     Matriz[Orden-2][i] = Val++;
     Matriz[i][Orden-2] = Matriz[Orden-2][i];
   }

   Val = 12;
   for( i=2;i>0;i--)
   {
     Matriz[i][1] = Val++;
     Matriz[1][i] = Matriz[i][1];
   }

   for( i=0;i<Orden;i++)
     for( j=0;j<Orden;j++)
     {
   gotoxy( 10+(j*4),i+6 );
   printf( "%d", Matriz[i][j] );
     }


}

Avatar de Usuario
MicroLogic©Software
Usuario Activo
Usuario Activo
 
Mensajes: 46
Registrado: Mar Abr 05, 2005 1:57 pm


Volver a C/C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados