Código de C/Visual C - Sudoku

Imágen de perfil

Sudokugráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(2)
Actualizado el 23 de Septiembre del 2018 por Adelino (Publicado el 20 de Septiembre del 2017)
5.576 visualizaciones desde el 20 de Septiembre del 2017. Una media de 91 por semana
Solucionador de sudokus.
Utilizo TurboC++
Contiene 1 sudoku de prueba.

SudokuCPP

Requerimientos

Ejecutado con TurboC++ en DosBox.

1.0

Actualizado el 21 de Septiembre del 2017 (Publicado el 20 de Septiembre del 2017)gráfica de visualizaciones de la versión: 1.0
246 visualizaciones desde el 20 de Septiembre del 2017. Una media de 7 por semana

1.1

Publicado el 21 de Septiembre del 2017gráfica de visualizaciones de la versión: 1.1
199 visualizaciones desde el 21 de Septiembre del 2017. Una media de 7 por semana

1.2

Actualizado el 25 de Septiembre del 2017 (Publicado el 22 de Septiembre del 2017)gráfica de visualizaciones de la versión: 1.2
227 visualizaciones desde el 22 de Septiembre del 2017. Una media de 7 por semana

1.3

Publicado el 25 de Septiembre del 2017gráfica de visualizaciones de la versión: 1.3
190 visualizaciones desde el 25 de Septiembre del 2017. Una media de 7 por semana

1.4

Actualizado el 02 de Octubre del 2017 (Publicado el 29 de Septiembre del 2017)gráfica de visualizaciones de la versión: 1.4
253 visualizaciones desde el 29 de Septiembre del 2017. Una media de 7 por semana

1.5
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 03 de Octubre del 2017 (Publicado el 02 de Octubre del 2017)gráfica de visualizaciones de la versión: 1.5
223 visualizaciones desde el 02 de Octubre del 2017. Una media de 7 por semana

1.6
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 06 de Octubre del 2017gráfica de visualizaciones de la versión: 1.6
173 visualizaciones desde el 06 de Octubre del 2017. Una media de 7 por semana

1.7

Actualizado el 10 de Octubre del 2017 (Publicado el 07 de Octubre del 2017)gráfica de visualizaciones de la versión: 1.7
307 visualizaciones desde el 07 de Octubre del 2017. Una media de 7 por semana

1.8

Publicado el 13 de Octubre del 2017gráfica de visualizaciones de la versión: 1.8
147 visualizaciones desde el 13 de Octubre del 2017. Una media de 7 por semana

1.9

Actualizado el 17 de Octubre del 2017 (Publicado el 16 de Octubre del 2017)gráfica de visualizaciones de la versión: 1.9
233 visualizaciones desde el 16 de Octubre del 2017. Una media de 7 por semana

2.0

Actualizado el 24 de Octubre del 2017 (Publicado el 21 de Octubre del 2017)gráfica de visualizaciones de la versión: 2.0
171 visualizaciones desde el 21 de Octubre del 2017. Una media de 7 por semana

2.1

Actualizado el 08 de Noviembre del 2017 (Publicado el 26 de Octubre del 2017)gráfica de visualizaciones de la versión: 2.1
268 visualizaciones desde el 26 de Octubre del 2017. Una media de 7 por semana

2.2

Actualizado el 01 de Noviembre del 2017 (Publicado el 31 de Octubre del 2017)gráfica de visualizaciones de la versión: 2.2
238 visualizaciones desde el 31 de Octubre del 2017. Una media de 7 por semana

2.3

Actualizado el 02 de Diciembre del 2017 (Publicado el 11 de Noviembre del 2017)gráfica de visualizaciones de la versión: 2.3
539 visualizaciones desde el 11 de Noviembre del 2017. Una media de 14 por semana

2.4

Actualizado el 23 de Enero del 2018 (Publicado el 16 de Diciembre del 2017)gráfica de visualizaciones de la versión: 2.4
640 visualizaciones desde el 16 de Diciembre del 2017. Una media de 14 por semana

2,5

Actualizado el 19 de Marzo del 2018 (Publicado el 18 de Marzo del 2018)gráfica de visualizaciones de la versión: 2,5
131 visualizaciones desde el 18 de Marzo del 2018. Una media de 7 por semana

2.6

Publicado el 23 de Marzo del 2018gráfica de visualizaciones de la versión: 2.6
116 visualizaciones desde el 23 de Marzo del 2018. Una media de 7 por semana

2.7

Actualizado el 02 de Abril del 2018 (Publicado el 25 de Marzo del 2018)gráfica de visualizaciones de la versión: 2.7
208 visualizaciones desde el 25 de Marzo del 2018. Una media de 7 por semana

2.8

Actualizado el 14 de Mayo del 2018 (Publicado el 04 de Abril del 2018)gráfica de visualizaciones de la versión: 2.8
529 visualizaciones desde el 04 de Abril del 2018. Una media de 21 por semana

2.9

Actualizado el 21 de Septiembre del 2018 (Publicado el 20 de Julio del 2018)gráfica de visualizaciones de la versión: 2.9
312 visualizaciones desde el 20 de Julio del 2018. Una media de 21 por semana

3.0

Actualizado el 23 de Septiembre del 2018 (Publicado el 22 de Septiembre del 2018)gráfica de visualizaciones de la versión: 3.0
227 visualizaciones desde el 22 de Septiembre del 2018. Una media de 21 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Cambio de formato del sudoku por defecto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include<dos.h>
#include<time.h>
#include<stdio.h>
#include<conio.h>
 
char N[27][10];
int main()
{
_AX=0x13;
geninterrupt(0x10);
time_t t;
char far*q,far*Q[81]={(char far*)0xA0000000};
char E,n[3][81],D[]=" 123456789";
char B[][9]={"5.2......",
             "....6.9..",
             ".........",
             ".41..7...",
             "...5...6.",
             "..5..2...",
             ".97.85...",
             ".......35",
             ".54....96"};
int A[]={3,3,3,3,3,3,3,3,3,0};
int b[81],i[255],g[3],C[81],X[81],Y[81];
int a,f,x,y,c=80,d=255;
 
while(d--) i[d]=d/15*320+d%15+321;
do{
   gotoxy(X[c]=12+c%9*2,Y[c]=4+c/9*2);
   if(b[c]=B[c/9][c%9]-46) printf("%c",D[b[c]-=2]);
   n[0][c]=c/27*9+c%27/9*3;
   n[1][c]=c%9/3*9+c%3*3+1;
   n[2][c]=c/27*9+c%9/3*3+2;
   Q[c]=Q[0]+8*X[c]+2560*Y[c]-4173;
   for(f=144,a=3;a--;f/=3)
   if(!c||!a||a==1&&c%27/9+c%3<1)
   for(q=Q[c]-321*a,d=a+1;d--;)
   for(x=y=d+f,y++;y--;)
   *(q+y)=*(q+320*y)=*(q+y+320*x)=*(q+320*y+x)=7;
  }while(c--);
 
Inicio:
E=c=f=g[0]=g[1]=g[2]=0;
while(kbhit()) getch();
do{
   if(E==77&&c<80) c++;
   if(E==75&&c) c--;
   if(E==80&&c<72) c+=9;
   if(E==72&&c>8) c-=9;
   if(E==32) E=48;
   for(d=225;d--;*q+=!*(q=Q[c]+i[d]));
   if(E>47&&E<58){
                  gotoxy(X[c],Y[c]);
                  printf("%c",D[b[c]=E-48]);
                  E=77;
                 }
   else while(!(E=getch()));
   if(E==27) return 0;
   for(d=225;d--;*q-=*(q=Q[c]+i[d])==1);
  }while(E!=13);
 
for(x=c=81;c--;)
if(b[c]){
         for(y=3;y--;)
         if(N[n[y][c]][b[c]]) break;
         gotoxy(X[c],Y[c]);
         if(y+1) printf("%c",D[b[c]=0]);
         else{
              f++;
              g[c/27]++;
              for(y=3;y--;N[n[y][c]][b[c]]++);
              for(d=225;d--;*q+=!*(q=Q[c]+i[d]));
             }
        }
while(x>f){
           for(a=y=2;y--;)
           if(g[y]<g[a]) a=y;
           for(g[a]=d=27;d--;)
           if(!b[c=27*a+d]) C[--x]=c;
          }
 
t=time(NULL)-1;
while(f>=x)
if(f<81){
         if(a=b[c=C[f]])
         for(y=3;y--;N[n[y][c]][a]--);
         do for(y=A[a++];y--;)
            if(N[n[y][c]][a]) break;
            while(y+1);
         if(a>9) a=b[C[f--]]=0;
         else for(b[c]=a,f++,y=3;y--;)
              N[n[y][c]][a]++;
         gotoxy(X[c],Y[c]);
         printf("%c",D[a]);
        }
else{
     gotoxy(11,23);
     printf("%.f%c ",difftime(time(NULL),t),34);
     printf("Pulse una tecla\r");
     while(kbhit()) getch();
     if(getch()==27) return 0;
     printf("%c[2K",27);
     f--;
    }
 
for(c=81;c--;)
if(b[c]){
         for(y=3;y--;N[n[y][c]][b[c]]--);
         for(d=225;d--;*q-=*(q=Q[c]+i[d])==1);
        }
goto Inicio;
}



Comentarios sobre la versión: 3.0 (0)


No hay comentarios
 

Comentar la versión: 3.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4196  
Revisar política de publicidad