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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


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

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Duda c y c++
« en: 16 Junio 2012, 16:55 pm »

Hola amigos, tengo un codigo fuente de un sudoku, compila y funciona, pero quisiera que me expliquen la siguiente parte que esta en c, y si pudieran, traducirlo a c++

cabe aclarar que en este sistema los niveles de dificultad son del 1 al 8, siendo el 1 el mas dificil y el 8 el mas facil, pero necesito saber como funciona el sistema de dificultad como tal que necesito explicarlo, por ejemplo lo de %c%c%c que me confunde, expliquenme por favor

Código:
cout<<"Seleccione el nivel de dificultad desde 1 hasta 8\n\n                  -->   ";
       int Seguir=0,Faltan=1,Nivel,Aciertos=0,Coorde_Verti=0,Coorde_Hori=0,N_Ingresado=0,Sol_Aleatoria=(rand()%5),C[5][9][9]={{8,4,6,1,5,7,3,2,9,7,2,3,4,8,9,1,6,5,1,9,5,2,6,3,7,8,4,5,3,1,7,9,2,6,4,8,4,6,2,3,1,8,9,5,7,9,7,8,6,4,5,2,3,1,6,8,9,5,3,1,4,7,2,3,1,7,8,2,4,5,9,6,2,5,4,9,7,6,8,1,3},{1,6,7,5,3,8,9,4,2,2,5,8,7,9,4,6,3,1,9,3,4,1,6,2,5,8,7,7,1,6,3,4,5,2,9,8,3,4,2,6,8,9,1,7,5,5,8,9,2,1,7,4,6,3,4,9,3,8,5,1,7,2,6,6,7,1,9,2,3,8,5,4,8,2,5,4,7,6,3,1,9},{1,4,9,3,8,6,5,2,7,3,7,2,1,5,4,6,8,9,6,5,8,9,2,7,4,3,1,7,6,4,2,1,5,8,9,3,2,3,5,6,9,8,7,1,4,9,8,1,4,7,3,2,5,6,8,9,6,5,4,1,3,7,2,5,1,3,7,6,2,9,4,8,4,2,7,8,3,9,1,6,5},{6,9,4,3,2,5,7,8,1,8,2,5,9,1,7,3,4,6,7,3,1,6,4,8,2,9,5,1,7,8,2,5,4,9,6,3,9,5,6,1,8,3,4,2,7,3,4,2,7,6,9,1,5,8,2,6,9,5,7,1,8,3,4,4,1,3,8,9,6,5,7,2,5,8,7,4,3,2,6,1,9},{2,4,6,1,3,5,8,7,9,1,3,5,8,7,9,2,4,6,8,7,9,2,4,6,1,3,5,5,6,3,4,1,2,7,9,8,4,1,2,7,9,8,5,6,3,7,9,8,5,6,3,4,1,2,6,5,4,3,2,1,9,8,7,3,2,1,9,8,7,6,5,4,9,8,7,6,5,4,3,2,1}};
       while(1!=Nivel && 2!=Nivel && 3!=Nivel && 4!=Nivel && 5!=Nivel && 6!=Nivel && 7!=Nivel && 8!=Nivel)
       cin>>Nivel;
       time (&start);
       for(int z=0;z<Nivel;z++)
       for(int i=0,f=0;i<3;i++,f++)
       for(int h=0,g=0,x=Casillero()+f*3,y=Casillero()+g*3;h<3;h++,g++)
       {
             while(Numero[x][y]!=0)
             x=Casillero()+f*3, y=Casillero()+g*3;
             Numero[x][y]=C[Sol_Aleatoria][x][y];
       }
       while(Aciertos!=81)
       {
             printf("\n           1   2   3   4   5   6   7   8   9\n\n         %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n      1  ",201,205,205,205,203,205,205,205,203,205,205,205,203,205,205,205,203,205,205,205,203,205,205,205,203,205,205,205,203,205,205,205,203,205,205,205,187);
             for(int i=0;i<9;i++)
             for(int j=0;j<9;j++)
             {
                   if(Numero[i][j]==0)
                   printf("º   ");
                   if(Numero[i][j]!=0)
                   printf("º %d ",Numero[i][j]);
                   if(i!=8&&j==8)
                   printf("º\n         %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n      %d  ",204,205,205,205,206,205,205,205,206,205,205,205,206,205,205,205,206,205,205,205,206,205,205,205,206,205,205,205,206,205,205,205,206,205,205,205,185,i+2);   
             }
             printf("º\n         %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n\n           Solo Numeros En El Rango De 1 A 9 Permitidos\n\n\n              Elija la columna : ",200,205,205,205,202,205,205,205,202,205,205,205,202,205,205,205,202,205,205,205,202,205,205,205,202,205,205,205,202,205,205,205,202,205,205,205,188);
             while(1!=Coorde_Hori && 2!=Coorde_Hori && 3!=Coorde_Hori && 4!=Coorde_Hori && 5!=Coorde_Hori && 6!=Coorde_Hori && 7!=Coorde_Hori && 8!=Coorde_Hori && 9!=Coorde_Hori)
             cin>>Coorde_Hori;
             cout<<"\n\n              Elija la fila : ";
             while(1!=Coorde_Verti && 2!=Coorde_Verti && 3!=Coorde_Verti && 4!=Coorde_Verti && 5!=Coorde_Verti && 6!=Coorde_Verti && 7!=Coorde_Verti && 8!=Coorde_Verti && 9!=Coorde_Verti)
             cin>>Coorde_Verti;
             cout<<"\n\n               Ingrese Numero : ";
             while(1!=N_Ingresado && 2!=N_Ingresado && 3!=N_Ingresado && 4!=N_Ingresado && 5!=N_Ingresado && 6!=N_Ingresado && 7!=N_Ingresado && 8!=N_Ingresado && 9!=N_Ingresado)
             cin>>N_Ingresado;
             Numero[Coorde_Verti-1][Coorde_Hori-1]=N_Ingresado,Aciertos=0,Faltan=0;
             for(int i=0;i<9;i++)
             for(int j=0;j<9;j++)
             {
             if(Numero[i][j]==C[Sol_Aleatoria][i][j])
             Aciertos++,N_Ingresado=0,Coorde_Hori=0,Coorde_Verti=0,Seguir=0;
             if(Numero[i][j]==0)
             Faltan++;
             }
             if(Faltan==0 && Aciertos!=81)
             {
             cout<<"\n\nPerdiste, quieres volver a emprezar?\n1) SI \n\n2) NO\n\n";
             while(1!=Seguir && 2!=Seguir)
             cin>>Seguir;
             if(Seguir==2)
             return 0;
             }
             system("cls");
       }
       cout<<"\n\n\n                      Felicidades!!!\n\n          Has terminado el Sudoku\n\n\n\n             ";
     time (&end);
dif = difftime (end,start);
cout<<"te tomo "<< dif<<"  segundos en resolverlo";
}
else
if (opcion==2)
{
for (fi=0; fi<9; fi=fi+1)
        for (co= 0; co<9; co++)
            juego[fi][co]=95; 
    llenado_matriz();
}
getch();
return 0;


En línea

david_BS

Desconectado Desconectado

Mensajes: 99



Ver Perfil WWW
Re: Duda c y c++
« Respuesta #1 en: 16 Junio 2012, 17:10 pm »

alto quilombo XD
si está en c se tiene que poder pasar a c++,
me imagino que lo que estás queriendo hacer es pasar todos los printf y scanf a cout y cin, el %c significa un char, osea en lugar de ese %c va un char. volá todos los printf y reemplasalos con cout y listo


En línea

elkiy

Desconectado Desconectado

Mensajes: 129


Porque yo soy yo.. y usted es usted.


Ver Perfil WWW
Re: Duda c y c++
« Respuesta #2 en: 16 Junio 2012, 23:20 pm »

Hola pues mira yo estudio c++, como dijiste tenes que pasar printf a cout.

y eso de c% c%c%c%c%c% No se que sea, pero si miras bien el codigo te das cuenta que pasa cuando se utiliza printf.

Saludos!
En línea

STANHMAL

Desconectado Desconectado

Mensajes: 107


ςταηhmαl - hηαfε


Ver Perfil WWW
Re: Duda c y c++
« Respuesta #3 en: 17 Junio 2012, 06:07 am »

Hola que tal,

Bien, como ya te dijeron lo que tenes que hacer es reemplazar todo los printf por cout y los scanf por cin

todos esos %c que salen en el printf quiere decir que va un carácter en dicha posición, es muy común para el uso de las tildes.

ejemplo :

Código
  1. printf("%c", 65);
  2.  

imprime en pantalla
Código:
A

el 65 es el código decimal al que corresponde la A en la tabla ASCII, es decir, es lo mismo que colocar el printf de la siguiente manera :

Código
  1. printf("A");
  2.  

imprime en pantalla
Código:
A

también se le pueden imprimir varios caracteres de la siguiente forma :

Código
  1. printf("%c%c%c%c%c%c%c%c", 83, 84, 65,78,72,77,65,76);
  2.  

imprime en pantalla
Código:
STANHMAL

en C++ sería se la siguiente forma :

Código
  1. cout << (char)83 << (char)84 << (char)65 << (char)78 << (char)72 << (char)77 << (char)65 << (char)76 << endl;
  2.  

imprime en pantalla
Código:
STANHMAL

claro esta que también de puede hacer de otras formas.

$4!u2
En línea

Power Metal vs Reggaeton



Que es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pequeña duda con un comando batch (NUEVA DUDA RELACIONADA)
Scripting
revenge1252 9 9,736 Último mensaje 13 Febrero 2008, 21:41 pm
por revenge1252
Duda duda y duda de Metasploit
Bugs y Exploits
huber_nomas 4 5,775 Último mensaje 17 Febrero 2012, 14:00 pm
por MauroMasciar
duda AbuseIPDB
Dudas Generales
General Dmitry Vergadoski 1 2,305 Último mensaje 8 Febrero 2022, 09:28 am
por #!drvy
Duda
Dudas Generales
Brdiro 3 1,481 Último mensaje 13 Abril 2023, 00:40 am
por Brdiro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines