entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

programa con matrices y funciones en c++

ayuda por favor!! necesito hacer un programa que imprima una matriz de 6X6 de 0s y 1s con orden al azar. La dificultad es que el programa debe indicar el camino coordenada por coordenada que hay entre la esquina superior izquierda y la esquina inferior derecha.Solo se puede mover para arriba, abajo,izquierda y derecha de cada posición que posea un uno.

un ejemplo de como quedaría:

   1 1 0 0 0 0
   0 1 1 1 1 0
   1 0 1 0 0 0
   0 1 1 1 1 0
   0 0 0 1 0 0
   0 1 0 1 1 1

(0,0)-(0,1)-(1,1)-(2,1)-(2,2)-(2,3)-(3,3)-(3,4)-(3,5)-(4-5)-(5-5)

y aqui un cpp donde tengo que completar con funciones.
https://www.dropbox.com/s/frjoxfb0dz9gqtf/ejemplo.cpp

ayudenme porfaa D:! no se como hacerlooo

0voto

Leonardo-Tadei comentado

Hola jhoncarlosxd,

no sabés como ahcer el algoritmo? o no sabés como codificar en C++ el algoritmo que pensaste para resolver este problema?

0voto

jhoncarlosxD comentado

no se como hacer el algoritmo... ojo que hay que completarlo en el cpp que puse

0voto

Leonardo-Tadei comentado

El algoritmo es independiente de dónde haya que escribirlo, e incluso del lenguaje de programación en el que se escriba finalmente.

Se puede dar por escrito soluciones a problemas de programación puntuales, pero a problemas algorítmicos es mucho más difícil sobre todo porque no hay un único algoritmo válido para resolver un problema y porque los algoritmos no tienen una notación standard....

En este caso además, tenés que plantear alguna estrategia, porque si por ejemplo planteás "trato de ir siempre para abajo y para la derecha" esta matríz te da insoluble cuando sí tiene una solución:

1 1 0 0 1 1
0 1 1 1 1 1
1 0 1 0 0 1
0 0 0 1 1 1
0 0 0 1 0 0
0 1 0 1 1 1

0voto

ankeorum comentado

No hago más que mirar tu matriz y no veo como pasas de (4,3) a (3,4) ... debería haber un 1 en (3,3) para que fuera soluble tu matriz no @Leonardo-Tadei ??? ya que en diagonal no vale moverse no?

Realmente el algoritmo es complicado por lo que dice leonardo porque habrá gente que lo resuelva en dos líneas y gente en 15 y sean algorítmos válidos ambos porque resuelvan el problema, sin embargo uno sea mejor que el otro o más efectivo.

1 Respuesta

-1voto

fisionsensei Puntos680

Puedes hacerlo con dos ciclos for, uno anidado dentro del otro por ejempo:

for(int filas=0; filas<tamaño;filas++)
{
for(int columnas=0;columnas<tamaño;columnas++)
{
cout<<"posicion ("+filas+","+columnas+")";
}
}

0voto

Leonardo-Tadei comentado

Y cómo soluciona esto el problema de encotnrar el camino? Tu código solo recorre una matriz!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta