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


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Creando un tablero a partir de un archivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Creando un tablero a partir de un archivo  (Leído 6,749 veces)
Sothu

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Creando un tablero a partir de un archivo
« en: 26 Diciembre 2015, 18:12 pm »

Buenas gente del foro, necesito que alguien me heche un cable con esto...
Tengo que crear un tablero que tenga la forma siguiente:

https://imagizer.imageshack.us/v2/92x135q90/905/BQ0KKl.png

Para esto dispongo de un archivo txt que contiene lo siguiente:
4 4
2 1 1 1 3 2 5 1

Donde 4 4 es el nombre de filas x columnas y los otros numeros son los que se usan para formar el tablero (1 representa una casilla en negro). Empezando por arriba a la izquierda tenemos 2 casillas vacias, luego tres negras seguidas, luego 3 vacias... etc.

Alguien me podria hechar un cable para construir este tablero? Todo tiene que hacerse leyendo desde el archivo ya que luego hay tableros mas grandes.
Muchas gracias!


En línea

MeCraniDOS


Desconectado Desconectado

Mensajes: 337


Sr. Glass


Ver Perfil
Re: Creando un tablero a partir de un archivo
« Respuesta #1 en: 29 Diciembre 2015, 04:19 am »

Alguien me podria hechar un cable para construir este tablero? Todo tiene que hacerse leyendo desde el archivo ya que luego hay tableros mas grandes.
Muchas gracias!

Que código tienes hasta el momento?

Un saludo


En línea

"La física es el sistema operativo del Universo"
     -- Steven R Garman
Sothu

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Creando un tablero a partir de un archivo
« Respuesta #2 en: 29 Diciembre 2015, 15:10 pm »

void llegirTauler(ifstream &file)
{
    int files=1, columnes=1;
    int nblanques, nnegres;
    file >> files >> columnes;
    while (not file.eof())
    {
        file >> nblanques >> nnegres;
        for (int i=1; i<=nblanques; i++)
        {
            cout << "#" << endl;
        }

    }
}
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Creando un tablero a partir de un archivo
« Respuesta #3 en: 29 Diciembre 2015, 16:23 pm »

Hola, ¿Puedes volver a subir la imagen de la forma del tablero? El link creo que está caido.
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Sothu

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Creando un tablero a partir de un archivo
« Respuesta #4 en: 31 Diciembre 2015, 10:52 am »

A ver si de aqui puede verse..
http://subefotos.com/ver/?f733aded4a76debedeaf52f0002c6007o.png

Aprovecho para explicarme algo mejor:
La foto de este tablero es propia del archivo que contiene lo siguiente:
4 4
2 1 1 1 3 2 5 1
Los dos primeros numeros (4 4) marcan el nombre de filas x columnas. En este caso es un tablero 4x4. Los numeros a continuacion son las celdas vacias y las negras alternativamente. Si empezamos por arriba la izquierda tenemos 2 casillas vacias, 1 negra, 1 vacia, 1 negra, 3 vacias... Supongo que se entiende la idea. Además de esto hay un borde fijo y las letras para numerar las casillas que hacen que se amplie en 2 el grueso del tablero.
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Creando un tablero a partir de un archivo
« Respuesta #5 en: 31 Diciembre 2015, 15:45 pm »

Soy de C, no de C++, así qur no se si hay mejorrs soluciones que la que te propongo:
Cuando generes tu tabla de 4x4 juntala mediante una union a un array de 16 elementos. Llenar el array te será mucho más fácil ya que no tienes que moverte con dos índices.
Al final imprimirás la tabla con las dos dimensiones.



Realizado el código te puedo indicar que lo más fácil es rellenar un array unidimensional con los asteriscos y espacios. A la hora de representar los datos se van tomado uno a uno los caracteres del array y mediante contadores se tiene en cuenta en que fila y columna se encuentra uno para así poder poner la nomenclatura de las filas, espacios, bordes y nuevas lineas donde toca.
« Última modificación: 2 Enero 2016, 17:46 pm por Eternal Idol » En línea

Sothu

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Creando un tablero a partir de un archivo
« Respuesta #6 en: 2 Enero 2016, 11:15 am »

Si pudieras darme algo de codigo te lo agradeceria ya que estoy bastante perdido...
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Creando un tablero a partir de un archivo
« Respuesta #7 en: 2 Enero 2016, 14:53 pm »

Algo de código... Está hecho en C ya que de C++ sé casi nada  ;D

Variables:
car es char. Sirve para poner los marcadores de filas y columnas (a b c d...)
i y j son int. Me sirven para saber en que fila y columna estoy
k es un int. Me sirve para marcar si estoy en la última fila.
array es un array de caracteres. Tiene los asteriscos y espacios tal y como
    los distribuye el archivo.
lleno es una constante de caracter. Es el caracter usado para representar
    un cuadrado negro.

Código
  1. /* Imprimo los identificadores de columna */
  2.    car = 'a';
  3.    printf("   ");
  4.    for(i = 0; i < columnas; ++i)
  5.        putchar(car + i);
  6.    printf("\n  ");
  7.    /* Imprimo el borde superior */
  8.    for(i = 0; i < columnas + 2; ++i)
  9.        putchar(lleno);
  10.    /* Imprimo cada una de las filas de la tabla junto
  11.      * con los identificadores de fila donde sea necesario
  12.      * y los bordes horizontales de la tabla */
  13.    car = 'a';
  14.    printf("\n%c ", car++);
  15.    putchar(lleno);    
  16.    for(i = j = k = 0; i < filas * columnas; ++i) {
  17.        putchar(array[i]);
  18.        ++j;
  19.        if(j == columnas) {
  20.            j = 0;
  21.            /* Tengo en cuenta el numero de columna que estoy
  22.              * para cambiar a la siguiente linea */
  23.            printf("%c\n", lleno);
  24.            k++;
  25.            if(k != filas)
  26.                printf("%c %c", car++, lleno);
  27.        }
  28.    }
  29.    /* Imprimo el borde inferior de la tabla */
  30.    printf("  ");
  31.    for(i = 0; i < columnas + 2; ++i)
  32.        putchar(lleno);
  33.    puts("");
En línea

Sothu

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Creando un tablero a partir de un archivo
« Respuesta #8 en: 2 Enero 2016, 16:05 pm »

Pero lo que haces es simplemente construir un tablero, lo que necessito esque el tablero sea creado segun los numeros del archivo :S
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Creando un tablero a partir de un archivo
« Respuesta #9 en: 2 Enero 2016, 16:44 pm »

Los recuadros son construidos según los números del archivo. Se puede hacer desde 1x1 hasta 9x9. Solo te he puesto el código de como dibujar la tabla. El trabajo de crearla y llenarla es anterior a todo esto.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear archivo reproducible de DVD a partir de archivo MPG con Canopus ProCoder
Multimedia
aula18 2 5,736 Último mensaje 8 Septiembre 2004, 23:28 pm
por Songoku
creando un bat para eliminar archivo incluyendo los subdirectorio
Scripting
x64core 2 9,650 Último mensaje 18 Abril 2012, 21:58 pm
por x64core
Partir archivo
.NET (C#, VB.NET, ASP)
Meta 4 3,959 Último mensaje 11 Agosto 2014, 00:05 am
por Meta
Partir archivo « 1 2 »
.NET (C#, VB.NET, ASP)
Meta 10 7,194 Último mensaje 5 Junio 2015, 00:36 am
por DarK_FirefoX
Partir archivo con C#
.NET (C#, VB.NET, ASP)
Meta 1 2,312 Último mensaje 25 Mayo 2015, 21:27 pm
por Stakewinner00
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines