Código de C/Visual C - Sudoku

Imágen de perfil
Actualizado

Sudokugráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(2)
Actualizado el 15 de Abril del 2018 por Adelino (Publicado el 20 de Septiembre del 2017)
3.779 visualizaciones desde el 20 de Septiembre del 2017. Una media de 126 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
168 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
133 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
169 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
140 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
166 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
158 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
134 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
266 visualizaciones desde el 07 de Octubre del 2017. Una media de 14 por semana

1.8

Publicado el 13 de Octubre del 2017gráfica de visualizaciones de la versión: 1.8
103 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
168 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
129 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
215 visualizaciones desde el 26 de Octubre del 2017. Una media de 14 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
205 visualizaciones desde el 31 de Octubre del 2017. Una media de 14 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
498 visualizaciones desde el 11 de Noviembre del 2017. Una media de 28 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
575 visualizaciones desde el 16 de Diciembre del 2017. Una media de 35 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
93 visualizaciones desde el 18 de Marzo del 2018. Una media de 21 por semana

2.6

Publicado el 23 de Marzo del 2018gráfica de visualizaciones de la versión: 2.6
68 visualizaciones desde el 23 de Marzo del 2018

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
160 visualizaciones desde el 25 de Marzo del 2018

2.8

Actualizado el 15 de Abril del 2018 (Publicado el 04 de Abril del 2018)gráfica de visualizaciones de la versión: 2.8
232 visualizaciones desde el 04 de Abril del 2018
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Ligeros cambios en la rutina de resolucion y del listado.
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
113
114
#include<dos.h>
#include<time.h>
#include<stdio.h>
#include<conio.h>
int main()
{
_AX=0x13;
geninterrupt(0x10);
time_t t;
char far*Q=(char far*)0xA0000000L;
char E,D[]="987654321 ";
int b[]={5,0,2,0,0,0,0,0,0,
         0,0,0,0,6,0,9,0,0,
         0,0,0,0,0,0,0,0,0,
         0,4,1,0,0,7,0,0,0,
         0,0,0,5,0,0,0,6,0,
         0,0,5,0,0,2,0,0,0,
         0,9,7,0,8,5,0,0,0,
         0,0,0,0,0,0,0,3,5,
         0,5,4,0,0,0,0,9,6};
int n[3][81],N[27][9];
int e[225],g[3],i[81];
int C[81],X[81],Y[81];
int a,f,x,y,c=81,d=225,h=243;
while(h--) N[h/9][h%9]=0;
while(d--) e[d]=d/15*320+d%15+321;
while(c--){
           X[c]=12+c%9*2;
           Y[c]=4+c/9*2;
           gotoxy(X[c],Y[c]);
           printf("%c",D[b[c]=9-b[c]]);
           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;
           i[c]=x=8*X[c]+2560*Y[c]-4173;
           f=16;
           for(a=0;a<=!(c%27/9+c%3)+!c;a++,f*=3,x-=321)
           for(d=0;d<=a;d++)
           for(h=f+d,y=0;y<=h;y++)
           *(Q+x+y)=*(Q+x+320*y)=*(Q+x+y+320*h)=*(Q+x+320*y+h)=7;
          }
Inicio:
g[0]=g[1]=g[2]=E=c=0;
while(kbhit()) getch();
while(E!=13){
             c+=E==77&&c<80;
             c-=E==75&&c>0;
             c+=9*(E==80&&c<72);
             c-=9*(E==72&&c>8);
             if(E==32) E=48;
             for(d=225;d--;)
             *(Q+i[c]+e[d])+=!*(Q+i[c]+e[d]);
             if(E<48||E>57) E=getch();
             else{
                  gotoxy(X[c],Y[c]);
                  printf("%c",D[b[c]=57-E]);
                  E=77;
                 }
             if(E==27) return 0;
             for(d=225;d--;)
             *(Q+i[c]+e[d])-=*(Q+i[c]+e[d])==1;
            }
for(f=h=c=81;c--;)
if(b[c]<9){
           gotoxy(X[c],Y[c]);
           for(y=3;y--;)
           if(N[n[y][c]][b[c]]) break;
           if(y<0){
                   f=--h;
                   g[c/27]++;
                   for(y=3;y--;)
                   N[n[y][c]][b[c]]=1;
                   for(d=225;d--;)
                   *(Q+i[c]+e[d])+=!*(Q+i[c]+e[d]);
                  }
           else printf("%c",D[b[c]=9]);
          }
while(f){
         for(x=y=2;y--;)
         if(g[y]<g[x]) x=y;
         for(g[x]=d=27;d--;)
         if(b[c=27*x+d]>8) C[--f]=c;
        }
t=time(NULL);
while(f+1)
if(f<h){
        a=b[c=C[f]];
        if(a<9) for(y=3;y--;)
                N[n[y][c]][a]=0;
        do for(y=a--?3:0;y--;)
           if(N[n[y][c]][a]) break;
           while(y+1);
        if(a<0) a=b[C[f--]]=9;
        else for(b[c]=a,f++,y=3;y--;)
             N[n[y][c]][a]=1;
        gotoxy(X[c],Y[c]);
        printf("%c",D[a]);
       }
else{
     gotoxy(11,23);
     printf("%.f%c ",difftime(time(NULL)+1,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]<9)
               for(y=4;y--;)
               if(y<3) N[n[y][c]][b[c]]=0;
               else for(d=225;d--;)
                    *(Q+i[c]+e[d])-=*(Q+i[c]+e[d])==1;
goto Inicio;
}



Comentarios sobre la versión: 2.8 (0)


No hay comentarios
 

Comentar la versión: 2.8

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s4196