Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ogpg007

#1
Hola! Soy un principiante en C y os quisiera preguntar para ver si me pudieres ayudar en este programa.   

Lo que hago es definir la función llamada numeros, donde veo las posibilidades de realizar el sudoku ordenando los números de la manera respectiva, es decir, sin que se repitan numeros en cada fila o columna.
Hasta el momento llevo esto:

/*Sudokus*/
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int x,y,num[9][9], i, h, j, k;

void numeros () {
for (i=0; i<9; i++) {
for (h=0; h<9; h++) {
num[h]=(rand() % 9)+1;
numh: for (j=1; j<h+1; j++) {
if (num[h]==num[h-j]) {
num[h]=(rand() % 9)+1;
goto numh;
}
}
numi: for (k=1; k<i+1; k++) {
if (num[h]==num[i-k][h]) {
num[h]=(rand()%9)+1;
goto numi;
}
}
}
}
}

void main () {
clrscr ();
numeros();
for (j=0; j<9; j++) {
for (k=0; k<9; k++) {
printf ("%d ", num[j][k]);
}
}
getch();
}

Donde está verificando con perfección para que no se repitan números en las columnas, pero en las filas siempre tengo problemas y no sé por qué se dan. Gracias.