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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  C++ QR Code
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: C++ QR Code  (Leído 12,393 veces)
lukaszg_15

Desconectado Desconectado

Mensajes: 26



Ver Perfil
C++ QR Code
« en: 27 Marzo 2014, 20:39 pm »

Estaudiando c++ me he encontrado con un problema que desconocia que se podia hacer es este :

Código:
El código QR (abreviatura de Quick Response Code) fue creado en 1994 por una filial japonesa de Toyota que fabrica componentes de automóviles. Estos códigos permiten almacenar información sobre un producto codificándola en un cuadrado de NxN con píxeles que pueden ser blancos o negros. En su formato más pequeño, los códigos tienen 21x21 píxeles (versión 1), y en la
Fundamentos de la Programación – Cuaderno de trabajo 6 4
más grande 177x177 (versión 40). Programe en C una aplicación que genere aleatoriamente códigos QR versión 1 y los muestre por pantalla utilizando, por ejemplo, asteriscos. Nota: utilice la función rand() de la biblioteca de C para generar los números aleatorios.

Sé lo que es un odigo qr pero desconozco como se hace he buscado por internet pero solo salen paginas para descargar bibliotecas o algo asi, me encantaria poder averiguar como se hace eso, si alguno sabe de alguna pagina que explique esto o si me podriais explicar el ejercicio lo agradeceria mucho.


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: C++ QR Code
« Respuesta #1 en: 27 Marzo 2014, 20:53 pm »

Te están pidiendo, simplemente, que generes matrices aleatorias de 21x21 con 0 y 1.

los 0 los representas con huecos y los 1 con asteriscos.


En línea

lukaszg_15

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: C++ QR Code
« Respuesta #2 en: 29 Marzo 2014, 18:21 pm »

aha me quedo mas tranquilo hehe, bueno conseguí hacer esto y me sale lo que quiero pero no sé como hacer para que los 1 sean asteriscos y los 0 espacios :

Código
  1. #include<iostream>
  2. #include<iomanip>
  3. #include<stdlib.h>
  4. #include<time.h>
  5. using namespace std;
  6.  
  7. int main ( )
  8. {
  9.    int qr[21];
  10.    int num,c;
  11.    srand(time(NULL));
  12.    for(int i=0;i<=21;i++){
  13.    for(int c=0;c<=21;c++)
  14.    {
  15.        num=rand()%(1+1);
  16.        cout<<"QR["<< i << "]["<< c <<"]["<< num <<"]"<<endl;}}
  17. system("pause");
  18. return 0;
  19. }
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: C++ QR Code
« Respuesta #3 en: 29 Marzo 2014, 19:17 pm »

-error... esa matriz es de 22x22
-creas un "qr[21]" es entero (se supone que vas a guardar asteriscos y espacios)
-nunca colocas nada en qr[21]
-nunca imprimes la matriz, simplemente botas todo en vertical
-por que usas rand()%(1+1), en lugar de rand()%2?
-para que tantas librerias? solo necesitas una...


para escribir asteriscos en lugar de 1 y 0 usa if... arregla el resto...
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
lukaszg_15

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: C++ QR Code
« Respuesta #4 en: 30 Marzo 2014, 15:45 pm »

aha he arreglado algunos errores y he hecho un par de cosas que no se si estan bien pero no tengo ni idea de como convertir un 0 o un 1 en un asterisco o espacio, os dejo como lo he editado pero no se si esta bien y si ya me imprime la matriz,

Código
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main ( )
  6. {
  7.  
  8.    char qr[21][21];
  9.    int num,c,i;
  10.  
  11.  
  12.    srand(time(NULL));
  13.    for(i=0;i < 21;i++){
  14.    for(c=0;c < 21;c++)
  15.    {
  16.  
  17.     num=rand()%(2);
  18.     qr[i][c] == num;
  19.  
  20.  
  21.  cout<<"QR["<< i << "]["<< c <<"] = ["<< num <<"]" <<endl;
  22.     }}
  23.  
  24.  
  25.  
  26. system("pause");
  27. return 0;
  28. }
« Última modificación: 30 Marzo 2014, 15:47 pm por lukaszg_15 » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: C++ QR Code
« Respuesta #5 en: 30 Marzo 2014, 16:28 pm »

Código
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main ( )
  6. {
  7.  
  8.    char qr[21][21];
  9.    int num,c,i;
  10.  
  11.  
  12.    srand(time(NULL));
  13.    for(i=0;i < 21;i++){
  14.    for(c=0;c < 21;c++)
  15.    {
  16.     num=rand()%(2);
  17.     qr[i][c] == num;
  18.  
  19.     cout<<"QR["<< i << "]["<< c <<"] = ["<< (char)(num==0?'*':num==1?' ':num) <<"]" <<endl;
  20.     }}
  21. system("pause");
  22. return 0;
  23. }
  24.  

Código:
(char)(num==0?'*':num==1?' ':num)

Usando esos 2 operadores ternarios encadenados, compruebas en la misma linea si es 1 o 0, e imprimes su respectivo caracter. En caso de que no sea ni 1 ni 0, imprimirá el número que sea. Eso si quieres, lo puedes cambiar a
Código:
(char)(num==0?'*':' ')
Para que sea seguro que solo imprime asterisco y espacio.
« Última modificación: 30 Marzo 2014, 16:30 pm por ivancea96 » En línea

lukaszg_15

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: C++ QR Code
« Respuesta #6 en: 30 Marzo 2014, 16:58 pm »

wow pedazo truco lo desconocia completamente, ahora me funciona todo perfecto y como quiero.

Muchas gracias a todos así da gusto estudiar, que aprendo mas aquí que en la uni hehe.
En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: C++ QR Code
« Respuesta #7 en: 30 Marzo 2014, 20:51 pm »

Y que tal con un array??

Código
  1. int main ( )
  2. {
  3.    char *chars = " *";
  4.  
  5.    char qr[21][21];
  6.    int num,c,i;
  7.  
  8.  
  9.    srand(time(NULL));
  10.    for(i=0;i < 21;i++){
  11.    for(c=0;c < 21;c++)
  12.    {
  13.     num=rand()%(2);
  14.     qr[i][c] == num;
  15.  
  16.     cout<<"QR["<< i << "]["<< c <<"] = ["<< chars[ num ] <<"]" <<endl;
  17.     }}
  18. system("pause");
  19. return 0;
  20. }
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: C++ QR Code
« Respuesta #8 en: 30 Marzo 2014, 22:37 pm »

lukaszg_15

yo creo que tu presentas eso con el operador "?" sin saber como se usa un if y te reprueban! XD

por cierto... por que nadie imprime en horizontal? -.- y para que guardan en un array si no lo usan? D:

aqui está formateado y todo :P

Código
  1. #include<iostream>
  2.  
  3. using
  4.  
  5. namespace std;
  6.  
  7. int main ( ) {
  8.  
  9.    char qr[21][21];
  10.    int num, c, i;
  11.    cout << ' ';
  12.    for(i = 0; i < 42; i++) cout << '-';
  13.    cout << endl;
  14.    srand(time(NULL));
  15.    for(i = 0; i < 21; i++) {
  16.        cout << '|';
  17.        for(c = 0; c < 21; c++) {
  18.            num = rand() % (2);
  19.            qr[i][c] == num;
  20.            if(qr[i][c]==0){
  21.                 cout << ' ';
  22.            }else{
  23.                 cout << '*';
  24.            }
  25.            cout << ' ';
  26.        }
  27.        cout << '|' << endl;
  28.    }
  29.    cout << ' ';
  30.    for(i = 0; i < 42; i++) cout << '-';
  31.    cout << endl;
  32.    system("pause");
  33.    return 0;
  34. }
  35.  
  36.  
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
lukaszg_15

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: C++ QR Code
« Respuesta #9 en: 30 Marzo 2014, 23:48 pm »

teneis raozn puede que este intentando ir rapido hehe la verdad que no se como se usa y paraz que sirve el ? ahi.


Eferion si entendi tu codigo es declarar que vas a usar ' *' y luego llamarlos en el cout, me parece buena idea asi le doy mas uso a los array y queda mas bonito. Gracias por el aporte.

engel me podrias explicar como hiciste para que quede asi? la verdad me gusto muchisimo mas que en horizontal hehe, miro tu codigo pero no veo como lo hiciste para que quedase en filas y columnas,  si tienes tiempo me lo podrias explicar? y otra cosa, dices que creo array pero no lo uso, a que te refieres? yo pensaba que lo estaba usando en el for hay algo mas que desconozca?
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
CS2 SOURCE CODE
Juegos y Consolas
vicecity 4 3,764 Último mensaje 5 Enero 2004, 17:02 pm
por Korben Wallace
Traducir Code
Java
mapers 0 1,325 Último mensaje 9 Septiembre 2012, 19:33 pm
por mapers
es gratis [code=?][/code] ese mod smf que usa elhacker.net?
Sugerencias y dudas sobre el Foro
Weeken 1 3,229 Último mensaje 3 Enero 2013, 14:43 pm
por el-brujo
router by code
Hacking
shargon 0 2,222 Último mensaje 22 Diciembre 2014, 22:47 pm
por shargon
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines