Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: gremlin en 29 Octubre 2019, 03:16 am



Título: MATRICES EN C
Publicado por: gremlin en 29 Octubre 2019, 03:16 am
Hola nuevamente, estuve intentando una matriz que pueda mantenerse con un formato cuadrado y no lo estaria logrando, la matriz seria el campo de un juego y lo ideal seria que se imprima la matriz como si cada posicion fuera un casillero del juego.

No encontre el codigo para imprimir un bloquecito de color negro o blanco para y estuve usando " - " el problema es que se me imprimen en linea y no como una matriz cuadrada.
Si alguien sabe ayudarme se lo agradeceria mucho!

Código:
int main(){
    char matriz[5][5];
    int i;
    int j;

    for(i = 0; i<5; i++){
      for(j = 0; j<5; j++){
        matriz[i][j]= '-';
        printf("%c",matriz[i][j]);
        }
    }
    return 0;
}



Título: Re: MATRICES EN C
Publicado por: Serapis en 29 Octubre 2019, 10:44 am
Con el bucle interno, dibujas una línea del cuadrado. Un estado detrás del otro...
...y tras acabar dicho bucle, debes saltar a la siguiente línea. Para que la siguiente vez dibuje en otra línea.

Como el bucle interno 'controlas' la horizontalidad, con el externo 'controlas' la verticalidad, ese salto de línea debe estar pués dentro del bucle externo, pero fuera del interno (antes ó después... ya según interese).

Puedes considerar "-" como casilla blanca y "x" como casilla ocupada. Al principio podría estar el tablero vacío, o bien con determinadas casillas ya ocupadas (caso por ejemplo del ajedrez).

Si necesitas más estados para los valores que solo (vacia, ocupada), usa letras, cada letra representaría un estado distinto y en tal caso, por claridad usar el espacio para indicar el estado vacío.


Título: Re: MATRICES EN C
Publicado por: gremlin en 29 Octubre 2019, 20:04 pm
Con el bucle interno, dibujas una línea del cuadrado. Un estado detrás del otro...
...y tras acabar dicho bucle, debes saltar a la siguiente línea. Para que la siguiente vez dibuje en otra línea.

Como el bucle interno 'controlas' la horizontalidad, con el externo 'controlas' la verticalidad, ese salto de línea debe estar pués dentro del bucle externo, pero fuera del interno (antes ó después... ya según interese).

Puedes considerar "-" como casilla blanca y "x" como casilla ocupada. Al principio podría estar el tablero vacío, o bien con determinadas casillas ya ocupadas (caso por ejemplo del ajedrez).

Si necesitas más estados para los valores que solo (vacia, ocupada), usa letras, cada letra representaría un estado distinto y en tal caso, por claridad usar el espacio para indicar el estado vacío.


Ahh, claro. Muchisimas gracias por tu ayuda!!