Código de C/Visual C - Sudoku

<<>>
Imágen de perfil
Actualizado

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.050 visualizaciones desde el 20 de Septiembre del 2017. Una media de 98 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
223 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
179 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
206 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
167 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
228 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
203 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
157 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
293 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
129 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
212 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
154 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
253 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
227 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
526 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
620 visualizaciones desde el 16 de Diciembre del 2017. Una media de 21 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
120 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
103 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
198 visualizaciones desde el 25 de Marzo del 2018. Una media de 14 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
519 visualizaciones desde el 04 de Abril del 2018. Una media de 28 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
299 visualizaciones desde el 20 de Julio del 2018. Una media de 35 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
35 visualizaciones desde el 22 de Septiembre del 2018
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