Código de C/Visual C - Sudoku

Imágen de perfil
Val: 1.017
Oro
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Sudokugráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(3)
Actualizado el 20 de Septiembre del 2019 por Adelino (Publicado el 20 de Septiembre del 2017)
13.999 visualizaciones desde el 20 de Septiembre del 2017
Solucionador de sudokus.
Utilizo TurboC++
Contiene 1 sudoku de prueba.

SudokuCPP

Requerimientos

Ejecutado con TurboC++ en DosBox.

1.0
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 5 de Junio del 2019 (Publicado el 20 de Septiembre del 2017)gráfica de visualizaciones de la versión: 1.0
415 visualizaciones desde el 20 de Septiembre del 2017

1.1

Actualizado el 5 de Junio del 2019 (Publicado el 21 de Septiembre del 2017)gráfica de visualizaciones de la versión: 1.1
325 visualizaciones desde el 21 de Septiembre del 2017

1.2

Actualizado el 5 de Junio del 2019 (Publicado el 22 de Septiembre del 2017)gráfica de visualizaciones de la versión: 1.2
370 visualizaciones desde el 22 de Septiembre del 2017

1.3

Actualizado el 5 de Junio del 2019 (Publicado el 25 de Septiembre del 2017)gráfica de visualizaciones de la versión: 1.3
330 visualizaciones desde el 25 de Septiembre del 2017

1.4

Actualizado el 5 de Junio del 2019 (Publicado el 29 de Septiembre del 2017)gráfica de visualizaciones de la versión: 1.4
378 visualizaciones desde el 29 de Septiembre del 2017

1.5
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 5 de Junio del 2019 (Publicado el 2 de Octubre del 2017)gráfica de visualizaciones de la versión: 1.5
355 visualizaciones desde el 2 de Octubre del 2017

1.6
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 6 de Octubre del 2017gráfica de visualizaciones de la versión: 1.6
341 visualizaciones desde el 6 de Octubre del 2017

1.7

Actualizado el 5 de Junio del 2019 (Publicado el 7 de Octubre del 2017)gráfica de visualizaciones de la versión: 1.7
442 visualizaciones desde el 7 de Octubre del 2017

1.8

Publicado el 13 de Octubre del 2017gráfica de visualizaciones de la versión: 1.8
264 visualizaciones desde el 13 de Octubre del 2017

1.9

Actualizado el 5 de Junio del 2019 (Publicado el 16 de Octubre del 2017)gráfica de visualizaciones de la versión: 1.9
355 visualizaciones desde el 16 de Octubre del 2017

2.0

Actualizado el 5 de Junio del 2019 (Publicado el 21 de Octubre del 2017)gráfica de visualizaciones de la versión: 2.0
301 visualizaciones desde el 21 de Octubre del 2017

2.1

Actualizado el 5 de Junio del 2019 (Publicado el 26 de Octubre del 2017)gráfica de visualizaciones de la versión: 2.1
383 visualizaciones desde el 26 de Octubre del 2017

2.2

Actualizado el 5 de Junio del 2019 (Publicado el 31 de Octubre del 2017)gráfica de visualizaciones de la versión: 2.2
355 visualizaciones desde el 31 de Octubre del 2017

2.3

Actualizado el 2 de Diciembre del 2017 (Publicado el 11 de Noviembre del 2017)gráfica de visualizaciones de la versión: 2.3
641 visualizaciones desde el 11 de Noviembre del 2017

2.4

Actualizado el 5 de Junio del 2019 (Publicado el 16 de Diciembre del 2017)gráfica de visualizaciones de la versión: 2.4
749 visualizaciones desde el 16 de Diciembre del 2017

2,5

Actualizado el 5 de Junio del 2019 (Publicado el 18 de Marzo del 2018)gráfica de visualizaciones de la versión: 2,5
239 visualizaciones desde el 18 de Marzo del 2018

2.6

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

2.7

Actualizado el 5 de Junio del 2019 (Publicado el 25 de Marzo del 2018)gráfica de visualizaciones de la versión: 2.7
330 visualizaciones desde el 25 de Marzo del 2018

2.8

Actualizado el 5 de Junio del 2019 (Publicado el 4 de Abril del 2018)gráfica de visualizaciones de la versión: 2.8
623 visualizaciones desde el 4 de Abril del 2018

2.9

Actualizado el 5 de Junio del 2019 (Publicado el 20 de Julio del 2018)gráfica de visualizaciones de la versión: 2.9
410 visualizaciones desde el 20 de Julio del 2018

3.0

Actualizado el 5 de Junio del 2019 (Publicado el 22 de Septiembre del 2018)gráfica de visualizaciones de la versión: 3.0
417 visualizaciones desde el 22 de Septiembre del 2018

3.1

Publicado el 3 de Febrero del 2019gráfica de visualizaciones de la versión: 3.1
4.016 visualizaciones desde el 3 de Febrero del 2019

3.2

Actualizado el 25 de Junio del 2019 (Publicado el 23 de Junio del 2019)gráfica de visualizaciones de la versión: 3.2
594 visualizaciones desde el 23 de Junio del 2019

3.3

Actualizado el 20 de Septiembre del 2019 (Publicado el 25 de Junio del 2019)gráfica de visualizaciones de la versión: 3.3
1.123 visualizaciones desde el 25 de Junio del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Redimension de matrices.
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
#include<dos.h>
#include<time.h>
#include<stdio.h>
#include<conio.h>
 
char b[][9]={"5.2......",
             "....6.9..",
             ".........",
             ".41..7...",
             "...5...6.",
             "..5..2...",
             ".97.85...",
             ".......35",
             ".54....96"};
char far*Q,far*q=(char far*)0xA0000000-3516;
char E,A[]=" 123456789 ";
int G[3],B[81],C[81],X[81],Y[81];
int D[81],H[81],J[81],N[271];
int a,v,w,x,y,c=80;
 
void Cifra(char F){
gotoxy(X[c],Y[c]);
printf("%c",F);
}
void Cursor(F){
if(a) N[D[c]+a]=N[H[c]+a]=N[J[c]+a]=!F;
Q=q+2560*Y[c]+8*X[c];
for(v=15;v--;Q+=305)
for(w=15;w--;*Q++=*Q==F?!F:*Q);
}
int main(){
_AX=0x13;
geninterrupt(0x10);
time_t T;
do{
   D[c]=(c/27*9+c%27/9*3)*10;
   H[c]=(c%9/3*9+c%3*3+1)*10;
   J[c]=(c/27*9+c%9/3*3+2)*10;
   X[c]=c%9*2+12;
   Y[c]=c/9*2+4;
   Q=q+2560*Y[c]+8*X[c]-321;
   for(w=16,a=3;a--;w*=3,Q-=321)
   if(!c||a>1||c%27/9+c%3<a)
   for(v=w+3-a+!a,w+=3*!a;v--;)
   *(Q+v)=*(Q+v+320*w)=*(Q+320*v)=*(Q+320*v+w)=7;
   if(B[c]=b[c/9][c%9]-46) Cifra(A[B[c]-=2]);
  }while(c--);
 
Inicio:
G[0]=G[1]=G[2]=E=a=c=y=0;
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;
   Cursor(0);
   if(E<48||E>57) while(!(E=getch()));
   else Cifra(A[B[c]=E-48]),
        E=77;
   Cursor(1);
  }while(E!=13);
 
for(x=c=81;c--;)
if(a=B[c]) y+=v=N[D[c]+a]+N[H[c]+a]+N[J[c]+a]?0:1,
           G[c/27]+=v,
           Cifra(A[B[c]=a*=v]),
           Cursor(!v);
while(x>y){
           for(a=v=2;v--;a=G[a]>G[v]?v:a);
           for(G[a]=w=27;w--;)
           if(!B[c=27*a+w]) C[--x]=c;
          }
 
T=time(NULL)-1;
while(y>=x)
if(y>80){
         printf("%c[23;11f%d",27,time(NULL)-T);
         printf("%c Pulse una tecla\r",34);
         while(kbhit()) getch();
         if(getch()==27) return 0;
         printf("%c[2K",27);
         y--;
        }
else{
     if(a=B[c=C[y]]) N[D[c]+a]=N[H[c]+a]=N[J[c]+a]=0;
     while(N[++a+D[c]]||N[H[c]+a]||N[J[c]+a]);
     y+=(B[c]=a%10)?N[D[c]+a]=N[H[c]+a]=N[J[c]+a]=1:-1;
     Cifra(A[a]);
    }
for(c=81;c--;) if(a=B[c]) Cursor(1);
goto Inicio;
}



Comentarios sobre la versión: 3.3 (0)


No hay comentarios
 

Comentar la versión: 3.3

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