Título: Hacer array de 2D a través del split de una string con un delimitador Publicado por: z3nth10n en 19 Septiembre 2013, 20:13 pm Hola bueno, esta va a ser la primera pregunta que haga de C++ en el foro...
Y bueno, pues yo creo que es de nivel... xD Código
Básicamente esto obtiene la dimensión X de la array, pero ahora necesito la segunda que básicamente sería la Y, con otro delimitador... Tengo 2 problema 1 es que no se como hacerlo y 2 es que: Código
Esto obtiene el último string que sería un 1: Citar "0,0,0,1,1,1,0,0,1" Como haría para que mostrase todo sin tener que hacer cosas raras... ? Y por si queréis el archivo de texto del que extraigo todo el mejunje: Citar 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Gracias a todo aquel que me quiera guiar y/o hacer el code! Un saludo. ;D Me han dicho que use vectores, pero no tengo ni la mas mínima idea de como se usan... xD Título: Re: Hacer array de 2D a través del split de una string con un delimitador Publicado por: 0xDani en 19 Septiembre 2013, 20:56 pm A ver si lo he entendido: tienes una entrada, que es la que muestras en el archivo; y quieres generar una salida, que es un array bidimensional de caracteres, de forma que el array contenga en los índices x e y lo mismo que hay en esas coordenadas en el archivo.
Lo que veo es que puedes tener un array: Código
También te lo puedes hacer dinámico pero eso ya es cosa tuya. Entonces lo que haces es que lees un carácter del archivo, y si es distinto de un salto de línea lo guardas en el array, en la posición de la fila actual, y en la de la columna anterior más 1. Si es un salto de línea, entonces sumas uno a la fila actual y pones la columna a cero otra vez. Código
Título: Re: Hacer array de 2D a través del split de una string con un delimitador Publicado por: z3nth10n en 20 Septiembre 2013, 15:06 pm Me resulta bastante curioso tu code, ya que encontre este:
Código
Que por cierto está mal hecho... (El code de arriba ^^) He estado probando, y por alguna extraña razon tu code: Código
(Editado un poco) Hace una cosa rarisima, xD Muestra 48 en la consola y cuando lleva 4 lineas crashea xD Eso en un milisegundo y me resulta curioso no se porque... :P Me he tomado la molestía y con la ayuda de Skatewinner he hecho esto: Código
Es lo más sencillo que lo he podido hacer.. :P Y sin embargo sigo teniendo el mismo problema del 48... :/ (http://gyazo.com/30b4ea2999c9d0e4be6681ccccb166af.png) Ya se a que se debe, se debe a que el array lo almacena todo en ascii y si le digo que lo muestre en entero pues va a mostrar el entero del ascii xd Título: Re: Hacer array de 2D a través del split de una string con un delimitador Publicado por: 0xDani en 22 Septiembre 2013, 15:02 pm Umm, claro, en mi code no he tenido en cuenta las comas. De todas formas, el que crashee depende del tamaño que le hayas puesto al array.
Título: Re: Hacer array de 2D a través del split de una string con un delimitador Publicado por: z3nth10n en 22 Septiembre 2013, 16:49 pm Bueno tio, gracias por las molestias que te tomas, pero ya hace 1 día que termine todo el cacharrerio con ayuda de skatewinner y en esto se quedo la función:
Código
Un saludo. Título: Re: Hacer array de 2D a través del split de una string con un delimitador Publicado por: rir3760 en 22 Septiembre 2013, 18:18 pm Si todos lo campos tienen la misma longitud no es necesario el separador (la coma), si se elimina el contenido del archivo seria:
Código: 000000000000000000000000000000 Código
Y si se debe almacenar la información en un array de arrays de caracteres la lectura que haces: Código Tiene dos errores: almacenar el valor de retorno de get en una variable de tipo char cuando debería ser de tipo int y asumir que el valor de EOF es -1 (lo usual pero no esta garantizado). Seria mejor cambiar ese fragmento utilizando otra versión de la función get: Código
Un saludo Título: Re: Hacer array de 2D a través del split de una string con un delimitador Publicado por: z3nth10n en 22 Septiembre 2013, 18:26 pm Muchisimas gracias rir... xD Está bastante simplificado el code.. :D
|