Tablero Sudoku

L

Wenas,
Alguien puede ayudarme a hacer el tablero del sudoku,estoy haciendo un programa para poder comprobar si los sudokus que hago estan bien o mal pero si no me sale el tablero no hay programa.

Para quien no sepa como es un tablero de sudoku:

http://img104.imageshack.us/img104/5592/sudoku4zy.png

Parte de codigo que he echo:

#include <stdio.h>
#include <conio.h>

void main(){
int cont,x,y;
clrscr();
cont=2;
for (y=5;y< (12*2);y=y+2){
for (x=5;x<50;x++){
gotoxy(x,y);
if(cont==2){
printf("%%");
}
else{
printf("--");
}
}
if (cont==2){
cont=0;
}
else{
cont++;
}
}
printf("\n");
}

Asias!

Siento que no este "pulido" pero el Tab no me funciona,srry!

LOc0

http://pastebin.com/592562

Salu2 ;)

L

asias

LoRTH

Te pegaria mi codigo, pero... nos suspenderian.

Truco: Usa dos fors, o whiles para las rayas verticales, tanto las gordas como las delgadas. Para las horizontales, las puedes escribir a pelo, y con un bucle te las pinte.

Thanat0s

Parece ser que a todo el mundo le han mandado como prácticas este año hacer sudokus... pfff sin aburrimiento :(

JuAn4k4

Sip, a mi tb me lo mandaron, 3 practicas sobre sudokus, a los de primero tb.

T

A mi me mandaron uno con backtracking....

Poisonous

#7 a mi =, y otra con recursividad pura.

D

aki en murcia en vez de un sudoku te proponian un sudoku samurai

L

un sudoku samurai eso es para puros genios y gente con mucho tiempo..hacer uno de esos en C debe ser todo un reto.

Thanat0s

Yo en la uned sé que nos han mandado algo relacionado con un sudoku, pero no he leido el que, menos mal que es primero y supongo que no será algo muy complicado :S

SsNnIiFf

En la UPC tambien han mandado sudokus... con opciones y tal, diferentes dificultades, ayuda, ranking de tiempos, cargar/guardar partida y las que se te ocurran.

L

SsNnIiFf que haces en la UPC,informatica?
en que curso estas?

si quieres cuando lo acabes puedes colgarlo aqui para que lo veamos..yo talvez lo cuelgo por ahi para ayudar a los desafortunados que les va mal la programacion para ver si pueden pìllar algo.

n00thinG

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=10211&lngWId=3

R3DKNIF3

A nosotros nos mandaban en la UAB crear el juego entero, con sus rankings, tiempo, ficheros guardados y la tabla sudoku ya nos la daban hecha:

void MostraGraella(char G[9][9])
{
int F[11]={201,205,187,186,200,188,196,179,197,250,176};
int i;
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%
c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",F[0],F[1],F[1],
F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],
F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],
F[1],F[1],F[1],F[1],F[1],F[2]);
for(i=0;i<9;i++)
{
if ( (i+1) % 3 != 0 )
{
printf("%c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",F[3],G[0],F[9],G[1],F[9],G[2],F[7],G[3],F[9],G[4],F[9],
G[5],F[7],G[6],F[9],G[7],F[9],G[8],F[3]);
printf("%c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",F[3],F[9],F[9],F[9],F[9],F[9],F[7],F[9],F[9],F[9],F[9],F[9],F[7],F[9],
F[9],F[9],F[9],F[9],F[3]);
}
else if ( ((i+1)==3) || ((i+1)==6) )
{
printf("%c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",F[3],G[0],F[9],G[i][1],F[9],G[i][2],F[7],G[i][3],F[9],G[i][4],F[9],
G[i][5],F[7],G[i][6],F[9],G[i][7],F[9],G[i][8],F[3]);
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%
c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",F[3],F[6],F[6],F[6],
F[6],F[6],F[6],F[6],F[6],F[6],F[6],F[6],F[8],F[6],F[6],F[6],F[6],F[6],F[6],F[6],
F[6],F[6],F[6],F[6],F[8],F[6],F[6],F[6],F[6],F[6],F[6],F[6],F[6],F[6],F[6],F[6],F[3]);
}
else
{
printf("%c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",F[3],G[i][0],F[9],G[i][1],F[9],G[i][2],F[7],G[i][3],F[9],G[i][4],F[9],G[i][5],
F[7],G[i][6],F[9],G[i][7],F[9],G[i][8],F[3]);
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c
%c%c%c%c%c%c%c%c%c%c%c%c%c\n",F[4],F[1],F[1],F[1],F[1],F[1],F[1],F[1],
F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],
F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[1],F[5]);
}
}

}

Se vería : http://img454.imageshack.us/img454/6758/sudoku13nh.jpg

LoRTH

Pos ese codigo lo veo muy guarro...

void pintagraellahorit(){
int i=5;
while(i<20){
gotoxy(6,i);printf("-----------------------------------");
i=i+2;
}
}

void pintagraellavert(){
int i=3,j=9;
while(j<40){
while(i<21){
gotoxy(j,i);printf("|");
i++;
}
i=3;
j=j+4;
}
}

void pintanumeros(){
gotoxy(7,2);printf("1 2 3 4 5 6 7 8 9");
}

void pintarallesgroses(){
int i=3,j=5;
//Horitzontals
gotoxy(5,3);printf("#####################################");
gotoxy(5,9);printf("#####################################");
gotoxy(5,15);printf("#####################################");
gotoxy(5,21);printf("#####################################");
//Verticals
while(j<45){
while(i<22){
gotoxy(j,i);printf("#");
i++;
}
i=3;
j=j+12;
}
}

void pintalletras(){
char a='A';
int i=4;
while(i<21){
gotoxy(3,i);printf("%c",a);
a++;
i=i+2;
}
}

void pintanombres(Joc sudoku){
int i=7,j=4,q=0,z=0;
while(j<21){
while(i<43){
if(sudoku.actual.T[q][z]!='X'){
gotoxy(i,j);printf("%c",sudoku.actual.T[q][z]);
}
i=i+4;
z++;
}
z=0;
i=7;
j=j+2;
q++;
}
}

void menu(){
//Instruccions:
gotoxy(50,10);printf("Per introduir la jugada, el format es FCN/S");
gotoxy(52,11);printf("F: Fila on vols introduir el nombre");
gotoxy(52,12);printf("C: Columna on vols introduir el nombre");
gotoxy(52,13);printf("N/S: Introdueix un nombre, o S, que dira les posibilitats");
//Jugada:
gotoxy(50,5);printf("Introdueix la jugada:");
//Opcions:
gotoxy(50,19);printf("W-Wrong");
gotoxy(50,20);printf("Q-Quit");
}

void tauler(Joc sudoku){
clrscr();
pintanumeros();
pintalletras();
pintagraellavert();
pintagraellahorit();
pintarallesgroses();
pintanombres(sudoku);
menu();
gotoxy(0,80);
}

http://img124.imageshack.us/img124/2819/sudoku3hs.png

BEDI

Yo tambien estoy haciendo un programa que resuelve los sudokus

Por cierto, mi teacher dice que no nos acostumbremos para nada a utilizar goto ;)

Usuarios habituales