Título: LLenado De Matriz QR EN C Publicado por: NericSain en 9 Diciembre 2017, 07:49 am Hola para todos :) :) :), hoy tengo muchas dudas y acepto respuestas,propuestas y sugerencias con mucho animo.
mi problema es el sig. tengo que llenar ciertas partes de una matriz de 21x21 con la información en binario de los datos que ingrese el usuario por pantalla. mi problema es que no se como hacer lo que en la sig. foto explico mejor: http://es.zimagez.com/zimage/img201712090001.php Ahora, en mi programa en c, ya hice la decodifican de los caracteres a decimal, y a binario; es decir, que ya tengo un array por cada carácter con unos y ceros, pero todavía, no se como pasar esa información, a la matriz, que ademas tengo que llenar en un un sentido, como tipo espiral serpiente, mas o menos de esta manera: http://es.zimagez.com/zimage/qrcd.php Estoy muy atorado, atareado, molesto,cansado y estezado, por favor ojala alguien me escuche, es un proyecto muy importante, de verdad les agradecería. saludos y help me!!, help me!!! :-\ :-\ :-( MOD: No escribir todo en mayúsculas. Título: Re: LLenado De Matriz QR EN C Publicado por: Serapis en 10 Diciembre 2017, 16:18 pm A ver, si el problema se limita a mover un valor a una determinada posición en un array bidimensional... pués es bastante obvio:
Sea z el valor a colocar en la cordenada x,y: Código: Array(y,x) = z Código: Array((y*ancho) + x) = z La letra P, tiene dos bits a 1, el 64 y el 16, porque 64+16=80, el resto son 0. Luego quiere decir que necesitas un bucle de 8 ciclos (porque 8 bits tiene un byte), alojado dentro de otro bucle cuya cantidad de ciclos sean los caracteres. Así que en pseudocodigo sería algo como: Código: entero i, j, k Código: letra= palabra.char(0) Y dichas funciones, como puedes apreciar reciben dos parámetros, el valor del bit y el índice del bit... el índice es necesario para reposicionar el par de cordenadas X e Y, al punto correcto... Ejemplo para una de ellas: Código: entero x, y //declaradas al nivel del módulo, no dentro de una función, pues sus valores deben permanecer inalteradas tras salir de la función. ...resumiendo, nada de otro mundo... nada que con un mínimo de atención pueda conseguir cualquiera... queda a tu esfuerzo el resto de funciones, la llamada como: "PosicionarCuadrante1119", se aplica al cuadrante que apuntas en la inagen con una llave, más exactamente al cuadrante que comienza en Y=11 y x=19... (de ahí el nombre). Puede haber más cuadrantes que se 'rellenen' del mismo modo, por lo que también queda a tu esfuerzo simplificar el código (esto es, reunir todas las que se rellenan igual en una sola)... y así tendrías solo una función por cada forma distinta de llenar un cuadrante y para todos los cuadrantes que se rellenan igual, se diferenciarían sólo en los valores iniciales de sus cordenadas. Ya está todo dicho... |