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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  no puedo imprimir un array bidimensional completo [RESUELTO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: no puedo imprimir un array bidimensional completo [RESUELTO]  (Leído 1,905 veces)
JavierScars

Desconectado Desconectado

Mensajes: 116



Ver Perfil
no puedo imprimir un array bidimensional completo [RESUELTO]
« en: 2 Enero 2016, 21:15 pm »

Ayuda trató de hacer un programa que me permita "dibujar " con "x" sobre ceros en una terminal, pero se supone que el plano debe ser de 50x50 el programa funciona perfectamente con un tamaño de 10 y hasta de 15 pero números más altos para el plano no me los acepta.

Estoy usando 2 #define para el tamaño y dos for para imprimirlo.

Sistema operativo lubuntu y terminal LXTerminal no se si eso tenga algo que ver.

Disculpen si ni colocó el código es que estoy desde el teléfono.

ACTUALIZACIÓN:
Probé el código en windows y funciona perfectamente...  :-\ no comprendo que pasa pero al menos ya se que no es mi código  ;-)

ACTUALIZACIÓN... de nuevo:
El problema se soluciono solo  :P... reinicie la pc y listo   :xD ;-)


« Última modificación: 3 Enero 2016, 03:29 am por JavierScars » En línea

Usa lo malo de la vida a tu favor, escala montañas de problemas para deslizarte sobre soluciones, derrumba muros de decepciones para encontrar la libertar de la felicidad,  y quema la leña del fracaso para calentarte con el éxito. Recuerda que sin la oscuridad la luz no brillaría tanto.
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: no puedo imprimir un array bidimensional completo
« Respuesta #1 en: 2 Enero 2016, 21:35 pm »

Cuando puedas sube el código. :)


En línea

JavierScars

Desconectado Desconectado

Mensajes: 116



Ver Perfil
Re: no puedo imprimir un array bidimensional completo
« Respuesta #2 en: 2 Enero 2016, 21:51 pm »

No estoy seguro de que el problema este en el codigo
Código:
#include <stdio.h>
#define alto 50
#define ancho 50
void escribir(int, int, int);
void imprimir();

int estLapiz = 0; //El estado del lapiz 0 para levantado 1 para escribir;
int dirlapiz = 0; // Direccion del lapiz para evitar confuciones como las manecillas del reloj
//0 para arriba, 3 para la derecha, 6 para abajo, 9 para la izquierda.

int posLapiz [2] = {0}; /* la posicion del lapiz posLapiz[0] para la coordenada X y posLapiz[1] para la coordenada y */
int plano[alto][ancho] = {0};
int main(void)
{
int op = 0;
int pasos;
while (op != 9)
{
printf("introduzca una opcion");
printf("\n1) Levantar lapiz\n2) Escribir \n3) Girar a la derecha \n4) Girar a la izquierda \n5) Escribir \n6) Imprimir \n9) SALIR\n");
scanf("%d", &op);
system("clear");

switch (op)
{
case 1 :
estLapiz = 0;
break;

case 2 :
estLapiz = 1;
break;

case 3 :
if (dirlapiz == 9)
dirlapiz = 0;
else
dirlapiz += 3;
break;

case 4 :
if (dirlapiz == 0)
dirlapiz = 9;
else
dirlapiz -= 3;
break;

case 5 :
printf("introduzca la cantidad de pasos que desea dar: ");
scanf("%d", &pasos);
escribir(estLapiz, dirlapiz, pasos);
break;

case 6 :
imprimir();
break;

case 7 :
printf("estado %d, direccion %d, pos x %d, pos y %d \n", estLapiz, dirlapiz, posLapiz[0], posLapiz[1] );

case 9 : printf("Gracias por usar el programa! \n");
break;

default : printf("Introdujo una opcion erronea por favor seleccione una correcta\n");
break;
}
}
return 0;
}

void escribir (int estLapiz, int dirlapiz, int pasos)
{
int i;

if (dirlapiz < 0)
dirlapiz *= (-1);

switch(dirlapiz)
{
case 0 :
while(pasos > 0)
{
if (posLapiz[1] > 0)
{
plano[posLapiz[0]][posLapiz[1]] = estLapiz;
posLapiz[1]-=1;
plano[posLapiz[0]][posLapiz[1]] = estLapiz;
}
pasos -= 1;
}
break;

case 3 :
while(pasos > 0)
{
if (posLapiz[0] < (ancho - 1))
{
plano[posLapiz[0]][posLapiz[1]] = estLapiz;
posLapiz[0] += 1;
plano[posLapiz[0]][posLapiz[1]] = estLapiz;
}
pasos -= 1;
}
break;

case 6 :
while(pasos > 0)
{
if (posLapiz[1] < (alto-1))
{
plano[posLapiz[0]][posLapiz[1]] = estLapiz;
posLapiz[1]+=1;
plano[posLapiz[0]][posLapiz[1]] = estLapiz;
}
pasos -= 1;
}
break;

case 9 :
while(pasos > 0)
{
if (posLapiz[0] > 0)
{
plano[posLapiz[0]][posLapiz[1]] = estLapiz;
posLapiz[0] -= 1;
plano[posLapiz[0]][posLapiz[1]] = estLapiz;
}
pasos -= 1;
}
break;
}  
}

void imprimir ()
{
int i, j;

for (i=0; i < ancho; i++)
{
for (j=0; j < alto; j++ )
{
if(plano[j][i] == 0)
printf(" ");
else
{
if (posLapiz[0] == j && posLapiz[1] == i )
printf("I ");
else
printf("x ");
}

}
printf("\n");
}
}
« Última modificación: 2 Enero 2016, 21:56 pm por JavierScars » En línea

Usa lo malo de la vida a tu favor, escala montañas de problemas para deslizarte sobre soluciones, derrumba muros de decepciones para encontrar la libertar de la felicidad,  y quema la leña del fracaso para calentarte con el éxito. Recuerda que sin la oscuridad la luz no brillaría tanto.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Array bidimensional en pascal.
Ejercicios
sv51 4 14,293 Último mensaje 21 Junio 2008, 22:30 pm
por sv51
Inicializar array bidimensional con palabras
Programación C/C++
folostia 5 4,651 Último mensaje 21 Diciembre 2011, 16:21 pm
por folostia
Ordenar array bidimensional
Java
KaRaLLo 5 19,034 Último mensaje 1 Abril 2013, 02:36 am
por seraff
Ayuda con Array bidimensional
Programación General
Javaniano 0 2,159 Último mensaje 8 Diciembre 2012, 13:38 pm
por Javaniano
Array Bidimensional de objetos « 1 2 3 »
Java
Nafko 20 10,730 Último mensaje 21 Abril 2015, 19:38 pm
por Usuario Invitado
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines