Código de C/Visual C - Sudoku

Imágen de perfil

Sudokugráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(2)
Actualizado el 14 de Mayo del 2018 por Adelino (Publicado el 20 de Septiembre del 2017)
4.393 visualizaciones desde el 20 de Septiembre del 2017. Una media de 105 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
197 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
155 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
190 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
156 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
202 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
182 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
147 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
279 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
116 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
192 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
143 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
230 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
217 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
511 visualizaciones desde el 11 de Noviembre del 2017. Una media de 21 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
601 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
108 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
83 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
182 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
503 visualizaciones desde el 04 de Abril del 2018. Una media de 35 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Ligeros cambios en el 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
115
116
117
118
119
120
121
122
#include<dos.h>
#include<time.h>
#include<stdio.h>
#include<conio.h>
 
int g[3],N[27][9];
int main()
{
_AX=0x13;
geninterrupt(0x10);
time_t t;
char far*Q=(char far*)0xA0000000;
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 e[225],i[81],n[3][81];
int C[81],X[81],Y[81];
int a,f,h,x,y,c=80,d=225;
while(d--) e[d]=d/15*320+d%15+321;
 
do{
   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;
   E=1+!c+!(c%27/9+c%3);
   f=16;
   for(a=0;a<E;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;
  }while(c--);
 
Inicio:
while(E=c=kbhit()) getch();
do{
   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>47&&E<58){
                  gotoxy(X[c],Y[c]);
                  printf("%c",D[b[c]=57-E]);
                  E=77;
                 }
   else while(!(E=getch()));
   if(E==27) return 0;
   for(d=225;d--;)
   *(Q+i[c]+e[d])-=*(Q+i[c]+e[d])==1;
  }while(E!=13);
 
for(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){
                   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]);
          }
 
if(f=h) do{
           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;
          }while(f);
 
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=3;y--;g[y]=0)
           N[n[y][c]][b[c]]=0;
           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
Es necesario revisar y aceptar las políticas de privacidad

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