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
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 [Seleccionar]
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;