PROBLEMA Programma in c che risolve il sudoku

Pubblicità

sandrulino

Nuovo Utente
Messaggi
3
Reazioni
0
Punteggio
21
Stavo provando tramite l'utilizzo di 2 matrici di creare un programma che risolve i sudoku, so che ci sono metodi più semplici ma volevo capire cos'è sbagliato in questo programmino che ho fatto:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main()
{
int a;
int i;
int j;
int A[9][9];
int B[9][9];
//Prima fila
printf("ASSEGNA AD OGNI POSIZIONE UN VALORE, SE NON NE SEI A CONOSCENZA METTI 0 \n");
printf("Dimmi il numero in posizione [1][1]");
scanf("%d", &a);
A[1][1]=a;
printf("Dimmi il numero in posizione [1][2]");
scanf("%d", &a);
A[1][2]=a;
printf("Dimmi il numero in posizione [1][3]");
scanf("%d", &a);
A[1][3]=a;
printf("Dimmi il numero in posizione [1][4]");
scanf("%d", &a);
A[1][4]=a;
printf("Dimmi il numero in posizione [1][5]");
scanf("%d", &a);
A[1][5]=a;
printf("Dimmi il numero in posizione [1][6]");
scanf("%d", &a);
A[1][6]=a;
printf("Dimmi il numero in posizione [1][7]");
scanf("%d", &a);
A[1][7]=a;
printf("Dimmi il numero in posizione [1][8]");
scanf("%d", &a);
A[1][8]=a;
printf("Dimmi il numero in posizione [1][9]");
scanf("%d", &a);
A[1][9]=a;
//seconda fila
printf("Dimmi il numero in posizione [2][1]");
scanf("%d", &a);
A[2][1]=a;
printf("Dimmi il numero in posizione [2][2]");
scanf("%d", &a);
A[2][2]=a;
printf("Dimmi il numero in posizione [2][3]");
scanf("%d", &a);
A[2][3]=a;
printf("Dimmi il numero in posizione [2][4]");
scanf("%d", &a);
A[2][4]=a;
printf("Dimmi il numero in posizione [2][5]");
scanf("%d", &a);
A[2][5]=a;
printf("Dimmi il numero in posizione [2][6]");
scanf("%d", &a);
A[2][6]=a;
printf("Dimmi il numero in posizione [2][7]");
scanf("%d", &a);
A[2][7]=a;
printf("Dimmi il numero in posizione [2][8]");
scanf("%d", &a);
A[2][8]=a;
printf("Dimmi il numero in posizione [2][9]");
scanf("%d", &a);
A[2][9]=a;
//terza fila
printf("Dimmi il numero in posizione [3][1]");
scanf("%d", &a);
A[3][1]=a;
printf("Dimmi il numero in posizione [3][2]");
scanf("%d", &a);
A[3][2]=a;
printf("Dimmi il numero in posizione [3][3]");
scanf("%d", &a);
A[3][3]=a;
printf("Dimmi il numero in posizione [3][4]");
scanf("%d", &a);
A[3][4]=a;
printf("Dimmi il numero in posizione [3][5]");
scanf("%d", &a);
A[3][5]=a;
printf("Dimmi il numero in posizione [3][6]");
scanf("%d", &a);
A[3][6]=a;
printf("Dimmi il numero in posizione [3][7]");
scanf("%d", &a);
A[3][7]=a;
printf("Dimmi il numero in posizione [3][8]");
scanf("%d", &a);
A[3][8]=a;
printf("Dimmi il numero in posizione [3][9]");
scanf("%d", &a);
A[3][9]=a;
//quarta fila
printf("Dimmi il numero in posizione [4][1]");
scanf("%d", &a);
A[4][1]=a;
printf("Dimmi il numero in posizione [4][2]");
scanf("%d", &a);
A[4][2]=a;
printf("Dimmi il numero in posizione [4][3]");
scanf("%d", &a);
A[4][3]=a;
printf("Dimmi il numero in posizione [4][4]");
scanf("%d", &a);
A[4][4]=a;
printf("Dimmi il numero in posizione [4][5]");
scanf("%d", &a);
A[4][5]=a;
printf("Dimmi il numero in posizione [4][6]");
scanf("%d", &a);
A[4][6]=a;
printf("Dimmi il numero in posizione [4][7]");
scanf("%d", &a);
A[4][7]=a;
printf("Dimmi il numero in posizione [4][8]");
scanf("%d", &a);
A[4][8]=a;
printf("Dimmi il numero in posizione [4][9]");
scanf("%d", &a);
A[4][9]=a;
//seconda fila
printf("Dimmi il numero in posizione [5][1]");
scanf("%d", &a);
A[5][1]=a;
printf("Dimmi il numero in posizione [5][2]");
scanf("%d", &a);
A[5][2]=a;
printf("Dimmi il numero in posizione [5][3]");
scanf("%d", &a);
A[5][3]=a;
printf("Dimmi il numero in posizione [5][4]");
scanf("%d", &a);
A[5][4]=a;
printf("Dimmi il numero in posizione [5][5]");
scanf("%d", &a);
A[5][5]=a;
printf("Dimmi il numero in posizione [5][6]");
scanf("%d", &a);
A[5][6]=a;
printf("Dimmi il numero in posizione [5][7]");
scanf("%d", &a);
A[5][7]=a;
printf("Dimmi il numero in posizione [5][8]");
scanf("%d", &a);
A[5][8]=a;
printf("Dimmi il numero in posizione [5][9]");
scanf("%d", &a);
A[5][9]=a;
//seconda fila
printf("Dimmi il numero in posizione [6][1]");
scanf("%d", &a);
A[6][1]=a;
printf("Dimmi il numero in posizione [6][2]");
scanf("%d", &a);
A[6][2]=a;
printf("Dimmi il numero in posizione [6][3]");
scanf("%d", &a);
A[6][3]=a;
printf("Dimmi il numero in posizione [6][4]");
scanf("%d", &a);
A[6][4]=a;
printf("Dimmi il numero in posizione [6][5]");
scanf("%d", &a);
A[6][5]=a;
printf("Dimmi il numero in posizione [6][6]");
scanf("%d", &a);
A[6][6]=a;
printf("Dimmi il numero in posizione [6][7]");
scanf("%d", &a);
A[6][7]=a;
printf("Dimmi il numero in posizione [6][8]");
scanf("%d", &a);
A[6][8]=a;
printf("Dimmi il numero in posizione [6][9]");
scanf("%d", &a);
A[6][9]=a;
//settima fila
printf("Dimmi il numero in posizione [7][1]");
scanf("%d", &a);
A[7][1]=a;
printf("Dimmi il numero in posizione [7][2]");
scanf("%d", &a);
A[7][2]=a;
printf("Dimmi il numero in posizione [7][3]");
scanf("%d", &a);
A[7][3]=a;
printf("Dimmi il numero in posizione [7][4]");
scanf("%d", &a);
A[7][4]=a;
printf("Dimmi il numero in posizione [7][5]");
scanf("%d", &a);
A[7][5]=a;
printf("Dimmi il numero in posizione [7][6]");
scanf("%d", &a);
A[7][6]=a;
printf("Dimmi il numero in posizione [7][7]");
scanf("%d", &a);
A[7][7]=a;
printf("Dimmi il numero in posizione [7][8]");
scanf("%d", &a);
A[7][8]=a;
printf("Dimmi il numero in posizione [7][9]");
scanf("%d", &a);
A[7][9]=a;
//ottava fila
printf("Dimmi il numero in posizione [8][1]");
scanf("%d", &a);
A[8][1]=a;
printf("Dimmi il numero in posizione [8][2]");
scanf("%d", &a);
A[8][2]=a;
printf("Dimmi il numero in posizione [8][3]");
scanf("%d", &a);
A[8][3]=a;
printf("Dimmi il numero in posizione [8][4]");
scanf("%d", &a);
A[8][4]=a;
printf("Dimmi il numero in posizione [8][5]");
scanf("%d", &a);
A[8][5]=a;
printf("Dimmi il numero in posizione [8][6]");
scanf("%d", &a);
A[8][6]=a;
printf("Dimmi il numero in posizione [8][7]");
scanf("%d", &a);
A[8][7]=a;
printf("Dimmi il numero in posizione [8][8]");
scanf("%d", &a);
A[8][8]=a;
printf("Dimmi il numero in posizione [8][9]");
scanf("%d", &a);
A[8][9]=a;
//nona fila
printf("Dimmi il numero in posizione [9][1]");
scanf("%d", &a);
A[9][1]=a;
printf("Dimmi il numero in posizione [9][2]");
scanf("%d", &a);
A[9][2]=a;
printf("Dimmi il numero in posizione [9][3]");
scanf("%d", &a);
A[9][3]=a;
printf("Dimmi il numero in posizione [9][4]");
scanf("%d", &a);
A[9][4]=a;
printf("Dimmi il numero in posizione [9][5]");
scanf("%d", &a);
A[9][5]=a;
printf("Dimmi il numero in posizione [9][6]");
scanf("%d", &a);
A[9][6]=a;
printf("Dimmi il numero in posizione [9][7]");
scanf("%d", &a);
A[9][7]=a;
printf("Dimmi il numero in posizione [9][8]");
scanf("%d", &a);
A[9][8]=a;
printf("Dimmi il numero in posizione [9][9]");
scanf("%d", &a);
A[9][9]=a;
for(i=1; i<10; i++)
for(j=1; j<10; j++)
{
if(A[j]==0)
{
for(A[j]=1; A[j]<10; A[j]++)
{
if(A[1][1]!=A[1][2]!=A[1][3]!=A[1][4]!=A[1][5]!=A[1][6]!=A[1][7]!=A[1][8]!=A[1][9] && A[1][1]!=A[2][1]!=A[3][1]!=A[4][1]!=A[5][1]!=A[6][1]!=A[7][1]!=A[8][1]!=A[9][1] && A[1][1]+A[1][2]+A[1][3]+A[1][4]+A[1][5]+A[1][6]+A[1][7]+A[1][8]+A[1][9]==45 && A[1][1]+A[2][1]+A[3][1]+A[4][1]+A[5][1]+A[6][1]+A[7][1]+A[8][1]+A[9][1]==45)
{
B[j]=A[j];
}
}
}
}
//prima riga
printf("La soluzione è: \n");
printf("%d \t", B[1][1] );
printf("%d \t", B[1][2] );
printf("%d \t", B[1][3] );
printf("%d \t", B[1][4] );
printf("%d \t", B[1][5] );
printf("%d \t", B[1][6] );
printf("%d \t", B[1][7] );
printf("%d \t", B[1][8] );
printf("%d \t \n", B[1][9] );
//seconda riga
printf("%d \t", B[2][1] );
printf("%d \t", B[2][2] );
printf("%d \t", B[2][3] );
printf("%d \t", B[2][4] );
printf("%d \t", B[2][5] );
printf("%d \t", B[2][6] );
printf("%d \t", B[2][7] );
printf("%d \t", B[2][8] );
printf("%d \t \n", B[2][9] );
//terza riga
printf("%d \t", B[3][1] );
printf("%d \t", B[3][2] );
printf("%d \t", B[3][3] );
printf("%d \t", B[3][4] );
printf("%d \t", B[3][5] );
printf("%d \t", B[3][6] );
printf("%d \t", B[3][7] );
printf("%d \t", B[3][8] );
printf("%d \t \n", B[3][9] );
//quarta riga
printf("%d \t", B[4][1] );
printf("%d \t", B[4][2] );
printf("%d \t", B[4][3] );
printf("%d \t", B[4][4] );
printf("%d \t", B[4][5] );
printf("%d \t", B[4][6] );
printf("%d \t", B[4][7] );
printf("%d \t", B[4][8] );
printf("%d \t \n", B[4][9] );
//quinta riga
printf("%d \t", B[5][1] );
printf("%d \t", B[5][2] );
printf("%d \t", B[5][3] );
printf("%d \t", B[5][4] );
printf("%d \t", B[5][5] );
printf("%d \t", B[5][6] );
printf("%d \t", B[5][7] ),
printf("%d \t", B[5][8] );
printf("%d \t \n", B[5][9] );
//sesta riga
printf("%d \t", B[6][1] );
printf("%d \t", B[6][2] );
printf("%d \t", B[6][3] );
printf("%d \t", B[6][4] );
printf("%d \t", B[6][5] );
printf("%d \t", B[6][6] );
printf("%d \t", B[6][7] );
printf("%d \t", B[6][8] );
printf("%d \t \n", B[6][9] );
//settima riga
printf("%d \t", B[7][1] );
printf("%d \t", B[7][2] );
printf("%d \t", B[7][3] );
printf("%d \t", B[7][4] );
printf("%d \t", B[7][5] );
printf("%d \t", B[7][6] );
printf("%d \t", B[7][7] );
printf("%d \t", B[7][8] );
printf("%d \t \n", B[7][9] );
//ottava riga
printf("%d \t", B[8][1] );
printf("%d \t", B[8][2] );
printf("%d \t", B[8][3] );
printf("%d \t", B[8][4] );
printf("%d \t", B[8][5] );
printf("%d \t", B[8][6] );
printf("%d \t", B[8][7] );
printf("%d \t", B[8][8] );
printf("%d \t \n", B[8][9] );
//nona riga
printf("%d \t", B[9][1] );
printf("%d \t", B[9][2] );
printf("%d \t", B[9][3] );
printf("%d \t", B[9][4] );
printf("%d \t", B[9][5] );
printf("%d \t", B[9][6] );
printf("%d \t", B[9][7] );
printf("%d \t", B[9][8] );
printf("%d \t \n", B[9][9] );
system("pause");
}
 
La prima cosa da dire e' che puoi usare dei cicli sia per l'acquisizione che per la stampa...
Seconda cosa, dovevi usare il tag CODE in questa sezione.
 
Stavo provando tramite l'utilizzo di 2 matrici di creare un programma che risolve i sudoku, so che ci sono metodi più semplici ma volevo capire cos'è sbagliato in questo programmino che ho fatto:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main()
{
int a;
int i;
int j;
int A[9][9];
int B[9][9];
//Prima fila
printf("ASSEGNA AD OGNI POSIZIONE UN VALORE, SE NON NE SEI A CONOSCENZA METTI 0 \n");
printf("Dimmi il numero in posizione [1][1]");
scanf("%d", &a);
A[1][1]=a;
printf("Dimmi il numero in posizione [1][2]");
scanf("%d", &a);
A[1][2]=a;
printf("Dimmi il numero in posizione [1][3]");
scanf("%d", &a);
A[1][3]=a;
printf("Dimmi il numero in posizione [1][4]");
scanf("%d", &a);
A[1][4]=a;
printf("Dimmi il numero in posizione [1][5]");
scanf("%d", &a);
A[1][5]=a;
printf("Dimmi il numero in posizione [1][6]");
scanf("%d", &a);
A[1][6]=a;
printf("Dimmi il numero in posizione [1][7]");
scanf("%d", &a);
A[1][7]=a;
printf("Dimmi il numero in posizione [1][8]");
scanf("%d", &a);
A[1][8]=a;
printf("Dimmi il numero in posizione [1][9]");
scanf("%d", &a);
A[1][9]=a;
//seconda fila
printf("Dimmi il numero in posizione [2][1]");
scanf("%d", &a);
A[2][1]=a;
printf("Dimmi il numero in posizione [2][2]");
scanf("%d", &a);
A[2][2]=a;
printf("Dimmi il numero in posizione [2][3]");
scanf("%d", &a);
A[2][3]=a;
printf("Dimmi il numero in posizione [2][4]");
scanf("%d", &a);
A[2][4]=a;
printf("Dimmi il numero in posizione [2][5]");
scanf("%d", &a);
A[2][5]=a;
printf("Dimmi il numero in posizione [2][6]");
scanf("%d", &a);
A[2][6]=a;
printf("Dimmi il numero in posizione [2][7]");
scanf("%d", &a);
A[2][7]=a;
printf("Dimmi il numero in posizione [2][8]");
scanf("%d", &a);
A[2][8]=a;
printf("Dimmi il numero in posizione [2][9]");
scanf("%d", &a);
A[2][9]=a;
//terza fila
printf("Dimmi il numero in posizione [3][1]");
scanf("%d", &a);
A[3][1]=a;
printf("Dimmi il numero in posizione [3][2]");
scanf("%d", &a);
A[3][2]=a;
printf("Dimmi il numero in posizione [3][3]");
scanf("%d", &a);
A[3][3]=a;
printf("Dimmi il numero in posizione [3][4]");
scanf("%d", &a);
A[3][4]=a;
printf("Dimmi il numero in posizione [3][5]");
scanf("%d", &a);
A[3][5]=a;
printf("Dimmi il numero in posizione [3][6]");
scanf("%d", &a);
A[3][6]=a;
printf("Dimmi il numero in posizione [3][7]");
scanf("%d", &a);
A[3][7]=a;
printf("Dimmi il numero in posizione [3][8]");
scanf("%d", &a);
A[3][8]=a;
printf("Dimmi il numero in posizione [3][9]");
scanf("%d", &a);
A[3][9]=a;
//quarta fila
printf("Dimmi il numero in posizione [4][1]");
scanf("%d", &a);
A[4][1]=a;
printf("Dimmi il numero in posizione [4][2]");
scanf("%d", &a);
A[4][2]=a;
printf("Dimmi il numero in posizione [4][3]");
scanf("%d", &a);
A[4][3]=a;
printf("Dimmi il numero in posizione [4][4]");
scanf("%d", &a);
A[4][4]=a;
printf("Dimmi il numero in posizione [4][5]");
scanf("%d", &a);
A[4][5]=a;
printf("Dimmi il numero in posizione [4][6]");
scanf("%d", &a);
A[4][6]=a;
printf("Dimmi il numero in posizione [4][7]");
scanf("%d", &a);
A[4][7]=a;
printf("Dimmi il numero in posizione [4][8]");
scanf("%d", &a);
A[4][8]=a;
printf("Dimmi il numero in posizione [4][9]");
scanf("%d", &a);
A[4][9]=a;
//seconda fila
printf("Dimmi il numero in posizione [5][1]");
scanf("%d", &a);
A[5][1]=a;
printf("Dimmi il numero in posizione [5][2]");
scanf("%d", &a);
A[5][2]=a;
printf("Dimmi il numero in posizione [5][3]");
scanf("%d", &a);
A[5][3]=a;
printf("Dimmi il numero in posizione [5][4]");
scanf("%d", &a);
A[5][4]=a;
printf("Dimmi il numero in posizione [5][5]");
scanf("%d", &a);
A[5][5]=a;
printf("Dimmi il numero in posizione [5][6]");
scanf("%d", &a);
A[5][6]=a;
printf("Dimmi il numero in posizione [5][7]");
scanf("%d", &a);
A[5][7]=a;
printf("Dimmi il numero in posizione [5][8]");
scanf("%d", &a);
A[5][8]=a;
printf("Dimmi il numero in posizione [5][9]");
scanf("%d", &a);
A[5][9]=a;
//seconda fila
printf("Dimmi il numero in posizione [6][1]");
scanf("%d", &a);
A[6][1]=a;
printf("Dimmi il numero in posizione [6][2]");
scanf("%d", &a);
A[6][2]=a;
printf("Dimmi il numero in posizione [6][3]");
scanf("%d", &a);
A[6][3]=a;
printf("Dimmi il numero in posizione [6][4]");
scanf("%d", &a);
A[6][4]=a;
printf("Dimmi il numero in posizione [6][5]");
scanf("%d", &a);
A[6][5]=a;
printf("Dimmi il numero in posizione [6][6]");
scanf("%d", &a);
A[6][6]=a;
printf("Dimmi il numero in posizione [6][7]");
scanf("%d", &a);
A[6][7]=a;
printf("Dimmi il numero in posizione [6][8]");
scanf("%d", &a);
A[6][8]=a;
printf("Dimmi il numero in posizione [6][9]");
scanf("%d", &a);
A[6][9]=a;
//settima fila
printf("Dimmi il numero in posizione [7][1]");
scanf("%d", &a);
A[7][1]=a;
printf("Dimmi il numero in posizione [7][2]");
scanf("%d", &a);
A[7][2]=a;
printf("Dimmi il numero in posizione [7][3]");
scanf("%d", &a);
A[7][3]=a;
printf("Dimmi il numero in posizione [7][4]");
scanf("%d", &a);
A[7][4]=a;
printf("Dimmi il numero in posizione [7][5]");
scanf("%d", &a);
A[7][5]=a;
printf("Dimmi il numero in posizione [7][6]");
scanf("%d", &a);
A[7][6]=a;
printf("Dimmi il numero in posizione [7][7]");
scanf("%d", &a);
A[7][7]=a;
printf("Dimmi il numero in posizione [7][8]");
scanf("%d", &a);
A[7][8]=a;
printf("Dimmi il numero in posizione [7][9]");
scanf("%d", &a);
A[7][9]=a;
//ottava fila
printf("Dimmi il numero in posizione [8][1]");
scanf("%d", &a);
A[8][1]=a;
printf("Dimmi il numero in posizione [8][2]");
scanf("%d", &a);
A[8][2]=a;
printf("Dimmi il numero in posizione [8][3]");
scanf("%d", &a);
A[8][3]=a;
printf("Dimmi il numero in posizione [8][4]");
scanf("%d", &a);
A[8][4]=a;
printf("Dimmi il numero in posizione [8][5]");
scanf("%d", &a);
A[8][5]=a;
printf("Dimmi il numero in posizione [8][6]");
scanf("%d", &a);
A[8][6]=a;
printf("Dimmi il numero in posizione [8][7]");
scanf("%d", &a);
A[8][7]=a;
printf("Dimmi il numero in posizione [8][8]");
scanf("%d", &a);
A[8][8]=a;
printf("Dimmi il numero in posizione [8][9]");
scanf("%d", &a);
A[8][9]=a;
//nona fila
printf("Dimmi il numero in posizione [9][1]");
scanf("%d", &a);
A[9][1]=a;
printf("Dimmi il numero in posizione [9][2]");
scanf("%d", &a);
A[9][2]=a;
printf("Dimmi il numero in posizione [9][3]");
scanf("%d", &a);
A[9][3]=a;
printf("Dimmi il numero in posizione [9][4]");
scanf("%d", &a);
A[9][4]=a;
printf("Dimmi il numero in posizione [9][5]");
scanf("%d", &a);
A[9][5]=a;
printf("Dimmi il numero in posizione [9][6]");
scanf("%d", &a);
A[9][6]=a;
printf("Dimmi il numero in posizione [9][7]");
scanf("%d", &a);
A[9][7]=a;
printf("Dimmi il numero in posizione [9][8]");
scanf("%d", &a);
A[9][8]=a;
printf("Dimmi il numero in posizione [9][9]");
scanf("%d", &a);
A[9][9]=a;
for(i=1; i<10; i++)
for(j=1; j<10; j++)
{
if(A[j]==0)
{
for(A[j]=1; A[j]<10; A[j]++)
{
if(A[1][1]!=A[1][2]!=A[1][3]!=A[1][4]!=A[1][5]!=A[1][6]!=A[1][7]!=A[1][8]!=A[1][9] && A[1][1]!=A[2][1]!=A[3][1]!=A[4][1]!=A[5][1]!=A[6][1]!=A[7][1]!=A[8][1]!=A[9][1] && A[1][1]+A[1][2]+A[1][3]+A[1][4]+A[1][5]+A[1][6]+A[1][7]+A[1][8]+A[1][9]==45 && A[1][1]+A[2][1]+A[3][1]+A[4][1]+A[5][1]+A[6][1]+A[7][1]+A[8][1]+A[9][1]==45)
{
B[j]=A[j];
}
}
}
}
//prima riga
printf("La soluzione è: \n");
printf("%d \t", B[1][1] );
printf("%d \t", B[1][2] );
printf("%d \t", B[1][3] );
printf("%d \t", B[1][4] );
printf("%d \t", B[1][5] );
printf("%d \t", B[1][6] );
printf("%d \t", B[1][7] );
printf("%d \t", B[1][8] );
printf("%d \t \n", B[1][9] );
//seconda riga
printf("%d \t", B[2][1] );
printf("%d \t", B[2][2] );
printf("%d \t", B[2][3] );
printf("%d \t", B[2][4] );
printf("%d \t", B[2][5] );
printf("%d \t", B[2][6] );
printf("%d \t", B[2][7] );
printf("%d \t", B[2][8] );
printf("%d \t \n", B[2][9] );
//terza riga
printf("%d \t", B[3][1] );
printf("%d \t", B[3][2] );
printf("%d \t", B[3][3] );
printf("%d \t", B[3][4] );
printf("%d \t", B[3][5] );
printf("%d \t", B[3][6] );
printf("%d \t", B[3][7] );
printf("%d \t", B[3][8] );
printf("%d \t \n", B[3][9] );
//quarta riga
printf("%d \t", B[4][1] );
printf("%d \t", B[4][2] );
printf("%d \t", B[4][3] );
printf("%d \t", B[4][4] );
printf("%d \t", B[4][5] );
printf("%d \t", B[4][6] );
printf("%d \t", B[4][7] );
printf("%d \t", B[4][8] );
printf("%d \t \n", B[4][9] );
//quinta riga
printf("%d \t", B[5][1] );
printf("%d \t", B[5][2] );
printf("%d \t", B[5][3] );
printf("%d \t", B[5][4] );
printf("%d \t", B[5][5] );
printf("%d \t", B[5][6] );
printf("%d \t", B[5][7] ),
printf("%d \t", B[5][8] );
printf("%d \t \n", B[5][9] );
//sesta riga
printf("%d \t", B[6][1] );
printf("%d \t", B[6][2] );
printf("%d \t", B[6][3] );
printf("%d \t", B[6][4] );
printf("%d \t", B[6][5] );
printf("%d \t", B[6][6] );
printf("%d \t", B[6][7] );
printf("%d \t", B[6][8] );
printf("%d \t \n", B[6][9] );
//settima riga
printf("%d \t", B[7][1] );
printf("%d \t", B[7][2] );
printf("%d \t", B[7][3] );
printf("%d \t", B[7][4] );
printf("%d \t", B[7][5] );
printf("%d \t", B[7][6] );
printf("%d \t", B[7][7] );
printf("%d \t", B[7][8] );
printf("%d \t \n", B[7][9] );
//ottava riga
printf("%d \t", B[8][1] );
printf("%d \t", B[8][2] );
printf("%d \t", B[8][3] );
printf("%d \t", B[8][4] );
printf("%d \t", B[8][5] );
printf("%d \t", B[8][6] );
printf("%d \t", B[8][7] );
printf("%d \t", B[8][8] );
printf("%d \t \n", B[8][9] );
//nona riga
printf("%d \t", B[9][1] );
printf("%d \t", B[9][2] );
printf("%d \t", B[9][3] );
printf("%d \t", B[9][4] );
printf("%d \t", B[9][5] );
printf("%d \t", B[9][6] );
printf("%d \t", B[9][7] );
printf("%d \t", B[9][8] );
printf("%d \t \n", B[9][9] );
system("pause");
}
La seconda è che parti dalla posizione 2 invece che 1. Gli array iniziano da 0 non 1
 
La seconda è che parti dalla posizione 2 invece che 1. Gli array iniziano da 0 non 1

Giusto, non ci avevo pensato.. ho cambiato ma non funziona comunque, qualche altra idea?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main()
{
int a;
int i;
int j;
int A[8][8];
int B[8][8];
printf("ASSEGNA AD OGNI POSIZIONE UN VALORE, SE NON NE SEI A CONOSCENZA METTI 0 \n");
//prima fila
printf("Dimmi il numero in posizione [0][0]");
scanf("%d", &a);
A[0][0]=a;
printf("Dimmi il numero in posizione [0][1]");
scanf("%d", &a);
A[0][1]=a;
printf("Dimmi il numero in posizione [0][2]");
scanf("%d", &a);
A[0][2]=a;
printf("Dimmi il numero in posizione [0][3]");
scanf("%d", &a);
A[0][3]=a;
printf("Dimmi il numero in posizione [0][4]");
scanf("%d", &a);
A[0][4]=a;
printf("Dimmi il numero in posizione [0][5]");
scanf("%d", &a);
A[0][5]=a;
printf("Dimmi il numero in posizione [0][6]");
scanf("%d", &a);
A[0][6]=a;
printf("Dimmi il numero in posizione [0][7]");
scanf("%d", &a);
A[0][7]=a;
printf("Dimmi il numero in posizione [0][8]");
scanf("%d", &a);
A[0][8]=a;
//seconda fila
printf("Dimmi il numero in posizione [1][0]");
scanf("%d", &a);
A[1][0]=a;
printf("Dimmi il numero in posizione [1][1]");
scanf("%d", &a);
A[1][1]=a;
printf("Dimmi il numero in posizione [1][2]");
scanf("%d", &a);
A[1][2]=a;
printf("Dimmi il numero in posizione [1][3]");
scanf("%d", &a);
A[1][3]=a;
printf("Dimmi il numero in posizione [1][4]");
scanf("%d", &a);
A[1][4]=a;
printf("Dimmi il numero in posizione [1][5]");
scanf("%d", &a);
A[1][5]=a;
printf("Dimmi il numero in posizione [1][6]");
scanf("%d", &a);
A[1][6]=a;
printf("Dimmi il numero in posizione [1][7]");
scanf("%d", &a);
A[1][7]=a;
printf("Dimmi il numero in posizione [1][8]");
scanf("%d", &a);
A[1][8]=a;
//terza fila
printf("Dimmi il numero in posizione [2][0]");
scanf("%d", &a);
A[2][0]=a;
printf("Dimmi il numero in posizione [2][1]");
scanf("%d", &a);
A[2][1]=a;
printf("Dimmi il numero in posizione [2][2]");
scanf("%d", &a);
A[2][2]=a;
printf("Dimmi il numero in posizione [2][3]");
scanf("%d", &a);
A[2][3]=a;
printf("Dimmi il numero in posizione [2][4]");
scanf("%d", &a);
A[2][4]=a;
printf("Dimmi il numero in posizione [2][5]");
scanf("%d", &a);
A[2][5]=a;
printf("Dimmi il numero in posizione [2][6]");
scanf("%d", &a);
A[2][6]=a;
printf("Dimmi il numero in posizione [2][7]");
scanf("%d", &a);
A[2][7]=a;
printf("Dimmi il numero in posizione [2][8]");
scanf("%d", &a);
A[2][8]=a;
//quarta fila
printf("Dimmi il numero in posizione [3][0]");
scanf("%d", &a);
A[3][0]=a;
printf("Dimmi il numero in posizione [3][1]");
scanf("%d", &a);
A[3][1]=a;
printf("Dimmi il numero in posizione [3][2]");
scanf("%d", &a);
A[3][2]=a;
printf("Dimmi il numero in posizione [3][3]");
scanf("%d", &a);
A[3][3]=a;
printf("Dimmi il numero in posizione [3][4]");
scanf("%d", &a);
A[3][4]=a;
printf("Dimmi il numero in posizione [3][5]");
scanf("%d", &a);
A[3][5]=a;
printf("Dimmi il numero in posizione [3][6]");
scanf("%d", &a);
A[3][6]=a;
printf("Dimmi il numero in posizione [3][7]");
scanf("%d", &a);
A[3][7]=a;
printf("Dimmi il numero in posizione [3][8]");
scanf("%d", &a);
A[3][8]=a;
//quinta fila
printf("Dimmi il numero in posizione [4][0]");
scanf("%d", &a);
A[4][0]=a;
printf("Dimmi il numero in posizione [4][1]");
scanf("%d", &a);
A[4][1]=a;
printf("Dimmi il numero in posizione [4][2]");
scanf("%d", &a);
A[4][2]=a;
printf("Dimmi il numero in posizione [4][3]");
scanf("%d", &a);
A[4][3]=a;
printf("Dimmi il numero in posizione [4][4]");
scanf("%d", &a);
A[4][4]=a;
printf("Dimmi il numero in posizione [4][5]");
scanf("%d", &a);
A[4][5]=a;
printf("Dimmi il numero in posizione [4][6]");
scanf("%d", &a);
A[4][6]=a;
printf("Dimmi il numero in posizione [4][7]");
scanf("%d", &a);
A[4][7]=a;
printf("Dimmi il numero in posizione [4][8]");
scanf("%d", &a);
A[4][8]=a;
//sesta fila
printf("Dimmi il numero in posizione [5][0]");
scanf("%d", &a);
A[5][0]=a;
printf("Dimmi il numero in posizione [5][1]");
scanf("%d", &a);
A[5][1]=a;
printf("Dimmi il numero in posizione [5][2]");
scanf("%d", &a);
A[5][2]=a;
printf("Dimmi il numero in posizione [5][3]");
scanf("%d", &a);
A[5][3]=a;
printf("Dimmi il numero in posizione [5][4]");
scanf("%d", &a);
A[5][4]=a;
printf("Dimmi il numero in posizione [5][5]");
scanf("%d", &a);
A[5][5]=a;
printf("Dimmi il numero in posizione [5][6]");
scanf("%d", &a);
A[5][6]=a;
printf("Dimmi il numero in posizione [5][7]");
scanf("%d", &a);
A[5][7]=a;
printf("Dimmi il numero in posizione [5][8]");
scanf("%d", &a);
A[5][8]=a;
//settima fila
printf("Dimmi il numero in posizione [6][0]");
scanf("%d", &a);
A[6][0]=a;
printf("Dimmi il numero in posizione [6][1]");
scanf("%d", &a);
A[6][1]=a;
printf("Dimmi il numero in posizione [6][2]");
scanf("%d", &a);
A[6][2]=a;
printf("Dimmi il numero in posizione [6][3]");
scanf("%d", &a);
A[6][3]=a;
printf("Dimmi il numero in posizione [6][4]");
scanf("%d", &a);
A[6][4]=a;
printf("Dimmi il numero in posizione [6][5]");
scanf("%d", &a);
A[6][5]=a;
printf("Dimmi il numero in posizione [6][6]");
scanf("%d", &a);
A[6][6]=a;
printf("Dimmi il numero in posizione [6][7]");
scanf("%d", &a);
A[6][7]=a;
printf("Dimmi il numero in posizione [6][8]");
scanf("%d", &a);
A[6][8]=a;
//ottava fila
printf("Dimmi il numero in posizione [7][0]");
scanf("%d", &a);
A[7][0]=a;
printf("Dimmi il numero in posizione [7][1]");
scanf("%d", &a);
A[7][1]=a;
printf("Dimmi il numero in posizione [7][2]");
scanf("%d", &a);
A[7][2]=a;
printf("Dimmi il numero in posizione [7][3]");
scanf("%d", &a);
A[7][3]=a;
printf("Dimmi il numero in posizione [7][4]");
scanf("%d", &a);
A[7][4]=a;
printf("Dimmi il numero in posizione [7][5]");
scanf("%d", &a);
A[7][5]=a;
printf("Dimmi il numero in posizione [7][6]");
scanf("%d", &a);
A[7][6]=a;
printf("Dimmi il numero in posizione [7][7]");
scanf("%d", &a);
A[7][7]=a;
printf("Dimmi il numero in posizione [7][8]");
scanf("%d", &a);
A[7][8]=a;
//nona fila
printf("Dimmi il numero in posizione [8][0]");
scanf("%d", &a);
A[8][0]=a;
printf("Dimmi il numero in posizione [8][1]");
scanf("%d", &a);
A[8][1]=a;
printf("Dimmi il numero in posizione [8][2]");
scanf("%d", &a);
A[8][2]=a;
printf("Dimmi il numero in posizione [8][3]");
scanf("%d", &a);
A[8][3]=a;
printf("Dimmi il numero in posizione [8][4]");
scanf("%d", &a);
A[8][4]=a;
printf("Dimmi il numero in posizione [8][5]");
scanf("%d", &a);
A[8][5]=a;
printf("Dimmi il numero in posizione [8][6]");
scanf("%d", &a);
A[8][6]=a;
printf("Dimmi il numero in posizione [8][7]");
scanf("%d", &a);
A[8][7]=a;
printf("Dimmi il numero in posizione [8][8]");
scanf("%d", &a);
A[8][8]=a;
for(i=1; i<10; i++)
for(j=1; j<10; j++)
{
if(A[j]==0)
{
for(A[j]=1; A[j]<10; A[j]++)
{
if(A[1][1]!=A[1][2]!=A[1][3]!=A[1][4]!=A[1][5]!=A[1][6]!=A[1][7]!=A[1][8]!=A[1][9] && A[1][1]!=A[2][1]!=A[3][1]!=A[4][1]!=A[5][1]!=A[6][1]!=A[7][1]!=A[8][1]!=A[9][1] && A[1][1]+A[1][2]+A[1][3]+A[1][4]+A[1][5]+A[1][6]+A[1][7]+A[1][8]+A[1][9]==45 && A[1][1]+A[2][1]+A[3][1]+A[4][1]+A[5][1]+A[6][1]+A[7][1]+A[8][1]+A[9][1]==45)
{
B[j]=A[j];
}
}
}
}
printf("La soluzione è: \n");
//prima riga
printf("%d \t", B[0][0] );
printf("%d \t", B[0][1] );
printf("%d \t", B[0][2] );
printf("%d \t", B[0][3] );
printf("%d \t", B[0][4] );
printf("%d \t", B[0][5] );
printf("%d \t", B[0][6] );
printf("%d \t", B[0][7] );
printf("%d \t", B[0][8] );
//seconda riga
printf("%d \t", B[1][0] );
printf("%d \t", B[1][1] );
printf("%d \t", B[1][2] );
printf("%d \t", B[1][3] );
printf("%d \t", B[1][4] );
printf("%d \t", B[1][5] );
printf("%d \t", B[1][6] );
printf("%d \t", B[1][7] );
printf("%d \t", B[1][8] );
//terza riga
printf("%d \t", B[2][0] );
printf("%d \t", B[2][1] );
printf("%d \t", B[2][2] );
printf("%d \t", B[2][3] );
printf("%d \t", B[2][4] );
printf("%d \t", B[2][5] );
printf("%d \t", B[2][6] );
printf("%d \t", B[2][7] );
printf("%d \t", B[2][8] );
//quarta riga
printf("%d \t", B[3][0] );
printf("%d \t", B[3][1] );
printf("%d \t", B[3][2] );
printf("%d \t", B[3][3] );
printf("%d \t", B[3][4] );
printf("%d \t", B[3][5] );
printf("%d \t", B[3][6] );
printf("%d \t", B[3][7] );
printf("%d \t", B[3][8] );
//quinta riga
printf("%d \t", B[4][0] );
printf("%d \t", B[4][1] );
printf("%d \t", B[4][2] );
printf("%d \t", B[4][3] );
printf("%d \t", B[4][4] );
printf("%d \t", B[4][5] );
printf("%d \t", B[4][6] );
printf("%d \t", B[4][7] );
printf("%d \t", B[4][8] );
//sesta riga
printf("%d \t", B[5][0] );
printf("%d \t", B[5][1] );
printf("%d \t", B[5][2] );
printf("%d \t", B[5][3] );
printf("%d \t", B[5][4] );
printf("%d \t", B[5][5] );
printf("%d \t", B[5][6] );
printf("%d \t", B[5][7] ),
printf("%d \t", B[5][8] );
//settima riga
printf("%d \t", B[6][0] );
printf("%d \t", B[6][1] );
printf("%d \t", B[6][2] );
printf("%d \t", B[6][3] );
printf("%d \t", B[6][4] );
printf("%d \t", B[6][5] );
printf("%d \t", B[6][6] );
printf("%d \t", B[6][7] );
printf("%d \t", B[6][8] );
//ottava riga
printf("%d \t", B[7][0] );
printf("%d \t", B[7][1] );
printf("%d \t", B[7][2] );
printf("%d \t", B[7][3] );
printf("%d \t", B[7][4] );
printf("%d \t", B[7][5] );
printf("%d \t", B[7][6] );
printf("%d \t", B[7][7] );
printf("%d \t", B[7][8] );
//nona riga
printf("%d \t", B[8][0] );
printf("%d \t", B[8][1] );
printf("%d \t", B[8][2] );
printf("%d \t", B[8][3] );
printf("%d \t", B[8][4] );
printf("%d \t", B[8][5] );
printf("%d \t", B[8][6] );
printf("%d \t", B[8][7] );
printf("%d \t", B[8][8] );
system("pause");
}
 
Stavo provando tramite l'utilizzo di 2 matrici di creare un programma che risolve i sudoku, so che ci sono metodi più semplici ma volevo capire cos'è sbagliato in questo programmino che ho fatto:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main()
{
int a;
int i;
int j;
int A[9][9];
int B[9][9];
//Prima fila
printf("ASSEGNA AD OGNI POSIZIONE UN VALORE, SE NON NE SEI A CONOSCENZA METTI 0 \n");
printf("Dimmi il numero in posizione [1][1]");
scanf("%d", &a);
A[1][1]=a;
printf("Dimmi il numero in posizione [1][2]");
scanf("%d", &a);
A[1][2]=a;
printf("Dimmi il numero in posizione [1][3]");
scanf("%d", &a);
A[1][3]=a;
printf("Dimmi il numero in posizione [1][4]");
scanf("%d", &a);
A[1][4]=a;
printf("Dimmi il numero in posizione [1][5]");
scanf("%d", &a);
A[1][5]=a;
printf("Dimmi il numero in posizione [1][6]");
scanf("%d", &a);
A[1][6]=a;
printf("Dimmi il numero in posizione [1][7]");
scanf("%d", &a);
A[1][7]=a;
printf("Dimmi il numero in posizione [1][8]");
scanf("%d", &a);
A[1][8]=a;
printf("Dimmi il numero in posizione [1][9]");
scanf("%d", &a);
A[1][9]=a;
//seconda fila
printf("Dimmi il numero in posizione [2][1]");
scanf("%d", &a);
A[2][1]=a;
printf("Dimmi il numero in posizione [2][2]");
scanf("%d", &a);
A[2][2]=a;
printf("Dimmi il numero in posizione [2][3]");
scanf("%d", &a);
A[2][3]=a;
printf("Dimmi il numero in posizione [2][4]");
scanf("%d", &a);
A[2][4]=a;
printf("Dimmi il numero in posizione [2][5]");
scanf("%d", &a);
A[2][5]=a;
printf("Dimmi il numero in posizione [2][6]");
scanf("%d", &a);
A[2][6]=a;
printf("Dimmi il numero in posizione [2][7]");
scanf("%d", &a);
A[2][7]=a;
printf("Dimmi il numero in posizione [2][8]");
scanf("%d", &a);
A[2][8]=a;
printf("Dimmi il numero in posizione [2][9]");
scanf("%d", &a);
A[2][9]=a;
//terza fila
printf("Dimmi il numero in posizione [3][1]");
scanf("%d", &a);
A[3][1]=a;
printf("Dimmi il numero in posizione [3][2]");
scanf("%d", &a);
A[3][2]=a;
printf("Dimmi il numero in posizione [3][3]");
scanf("%d", &a);
A[3][3]=a;
printf("Dimmi il numero in posizione [3][4]");
scanf("%d", &a);
A[3][4]=a;
printf("Dimmi il numero in posizione [3][5]");
scanf("%d", &a);
A[3][5]=a;
printf("Dimmi il numero in posizione [3][6]");
scanf("%d", &a);
A[3][6]=a;
printf("Dimmi il numero in posizione [3][7]");
scanf("%d", &a);
A[3][7]=a;
printf("Dimmi il numero in posizione [3][8]");
scanf("%d", &a);
A[3][8]=a;
printf("Dimmi il numero in posizione [3][9]");
scanf("%d", &a);
A[3][9]=a;
//quarta fila
printf("Dimmi il numero in posizione [4][1]");
scanf("%d", &a);
A[4][1]=a;
printf("Dimmi il numero in posizione [4][2]");
scanf("%d", &a);
A[4][2]=a;
printf("Dimmi il numero in posizione [4][3]");
scanf("%d", &a);
A[4][3]=a;
printf("Dimmi il numero in posizione [4][4]");
scanf("%d", &a);
A[4][4]=a;
printf("Dimmi il numero in posizione [4][5]");
scanf("%d", &a);
A[4][5]=a;
printf("Dimmi il numero in posizione [4][6]");
scanf("%d", &a);
A[4][6]=a;
printf("Dimmi il numero in posizione [4][7]");
scanf("%d", &a);
A[4][7]=a;
printf("Dimmi il numero in posizione [4][8]");
scanf("%d", &a);
A[4][8]=a;
printf("Dimmi il numero in posizione [4][9]");
scanf("%d", &a);
A[4][9]=a;
//seconda fila
printf("Dimmi il numero in posizione [5][1]");
scanf("%d", &a);
A[5][1]=a;
printf("Dimmi il numero in posizione [5][2]");
scanf("%d", &a);
A[5][2]=a;
printf("Dimmi il numero in posizione [5][3]");
scanf("%d", &a);
A[5][3]=a;
printf("Dimmi il numero in posizione [5][4]");
scanf("%d", &a);
A[5][4]=a;
printf("Dimmi il numero in posizione [5][5]");
scanf("%d", &a);
A[5][5]=a;
printf("Dimmi il numero in posizione [5][6]");
scanf("%d", &a);
A[5][6]=a;
printf("Dimmi il numero in posizione [5][7]");
scanf("%d", &a);
A[5][7]=a;
printf("Dimmi il numero in posizione [5][8]");
scanf("%d", &a);
A[5][8]=a;
printf("Dimmi il numero in posizione [5][9]");
scanf("%d", &a);
A[5][9]=a;
//seconda fila
printf("Dimmi il numero in posizione [6][1]");
scanf("%d", &a);
A[6][1]=a;
printf("Dimmi il numero in posizione [6][2]");
scanf("%d", &a);
A[6][2]=a;
printf("Dimmi il numero in posizione [6][3]");
scanf("%d", &a);
A[6][3]=a;
printf("Dimmi il numero in posizione [6][4]");
scanf("%d", &a);
A[6][4]=a;
printf("Dimmi il numero in posizione [6][5]");
scanf("%d", &a);
A[6][5]=a;
printf("Dimmi il numero in posizione [6][6]");
scanf("%d", &a);
A[6][6]=a;
printf("Dimmi il numero in posizione [6][7]");
scanf("%d", &a);
A[6][7]=a;
printf("Dimmi il numero in posizione [6][8]");
scanf("%d", &a);
A[6][8]=a;
printf("Dimmi il numero in posizione [6][9]");
scanf("%d", &a);
A[6][9]=a;
//settima fila
printf("Dimmi il numero in posizione [7][1]");
scanf("%d", &a);
A[7][1]=a;
printf("Dimmi il numero in posizione [7][2]");
scanf("%d", &a);
A[7][2]=a;
printf("Dimmi il numero in posizione [7][3]");
scanf("%d", &a);
A[7][3]=a;
printf("Dimmi il numero in posizione [7][4]");
scanf("%d", &a);
A[7][4]=a;
printf("Dimmi il numero in posizione [7][5]");
scanf("%d", &a);
A[7][5]=a;
printf("Dimmi il numero in posizione [7][6]");
scanf("%d", &a);
A[7][6]=a;
printf("Dimmi il numero in posizione [7][7]");
scanf("%d", &a);
A[7][7]=a;
printf("Dimmi il numero in posizione [7][8]");
scanf("%d", &a);
A[7][8]=a;
printf("Dimmi il numero in posizione [7][9]");
scanf("%d", &a);
A[7][9]=a;
//ottava fila
printf("Dimmi il numero in posizione [8][1]");
scanf("%d", &a);
A[8][1]=a;
printf("Dimmi il numero in posizione [8][2]");
scanf("%d", &a);
A[8][2]=a;
printf("Dimmi il numero in posizione [8][3]");
scanf("%d", &a);
A[8][3]=a;
printf("Dimmi il numero in posizione [8][4]");
scanf("%d", &a);
A[8][4]=a;
printf("Dimmi il numero in posizione [8][5]");
scanf("%d", &a);
A[8][5]=a;
printf("Dimmi il numero in posizione [8][6]");
scanf("%d", &a);
A[8][6]=a;
printf("Dimmi il numero in posizione [8][7]");
scanf("%d", &a);
A[8][7]=a;
printf("Dimmi il numero in posizione [8][8]");
scanf("%d", &a);
A[8][8]=a;
printf("Dimmi il numero in posizione [8][9]");
scanf("%d", &a);
A[8][9]=a;
//nona fila
printf("Dimmi il numero in posizione [9][1]");
scanf("%d", &a);
A[9][1]=a;
printf("Dimmi il numero in posizione [9][2]");
scanf("%d", &a);
A[9][2]=a;
printf("Dimmi il numero in posizione [9][3]");
scanf("%d", &a);
A[9][3]=a;
printf("Dimmi il numero in posizione [9][4]");
scanf("%d", &a);
A[9][4]=a;
printf("Dimmi il numero in posizione [9][5]");
scanf("%d", &a);
A[9][5]=a;
printf("Dimmi il numero in posizione [9][6]");
scanf("%d", &a);
A[9][6]=a;
printf("Dimmi il numero in posizione [9][7]");
scanf("%d", &a);
A[9][7]=a;
printf("Dimmi il numero in posizione [9][8]");
scanf("%d", &a);
A[9][8]=a;
printf("Dimmi il numero in posizione [9][9]");
scanf("%d", &a);
A[9][9]=a;
for(i=1; i<10; i++)
for(j=1; j<10; j++)
{
if(A[j]==0)
{
for(A[j]=1; A[j]<10; A[j]++)
{
if(A[1][1]!=A[1][2]!=A[1][3]!=A[1][4]!=A[1][5]!=A[1][6]!=A[1][7]!=A[1][8]!=A[1][9] && A[1][1]!=A[2][1]!=A[3][1]!=A[4][1]!=A[5][1]!=A[6][1]!=A[7][1]!=A[8][1]!=A[9][1] && A[1][1]+A[1][2]+A[1][3]+A[1][4]+A[1][5]+A[1][6]+A[1][7]+A[1][8]+A[1][9]==45 && A[1][1]+A[2][1]+A[3][1]+A[4][1]+A[5][1]+A[6][1]+A[7][1]+A[8][1]+A[9][1]==45)
{
B[j]=A[j];
}
}
}
}
//prima riga
printf("La soluzione è: \n");
printf("%d \t", B[1][1] );
printf("%d \t", B[1][2] );
printf("%d \t", B[1][3] );
printf("%d \t", B[1][4] );
printf("%d \t", B[1][5] );
printf("%d \t", B[1][6] );
printf("%d \t", B[1][7] );
printf("%d \t", B[1][8] );
printf("%d \t \n", B[1][9] );
//seconda riga
printf("%d \t", B[2][1] );
printf("%d \t", B[2][2] );
printf("%d \t", B[2][3] );
printf("%d \t", B[2][4] );
printf("%d \t", B[2][5] );
printf("%d \t", B[2][6] );
printf("%d \t", B[2][7] );
printf("%d \t", B[2][8] );
printf("%d \t \n", B[2][9] );
//terza riga
printf("%d \t", B[3][1] );
printf("%d \t", B[3][2] );
printf("%d \t", B[3][3] );
printf("%d \t", B[3][4] );
printf("%d \t", B[3][5] );
printf("%d \t", B[3][6] );
printf("%d \t", B[3][7] );
printf("%d \t", B[3][8] );
printf("%d \t \n", B[3][9] );
//quarta riga
printf("%d \t", B[4][1] );
printf("%d \t", B[4][2] );
printf("%d \t", B[4][3] );
printf("%d \t", B[4][4] );
printf("%d \t", B[4][5] );
printf("%d \t", B[4][6] );
printf("%d \t", B[4][7] );
printf("%d \t", B[4][8] );
printf("%d \t \n", B[4][9] );
//quinta riga
printf("%d \t", B[5][1] );
printf("%d \t", B[5][2] );
printf("%d \t", B[5][3] );
printf("%d \t", B[5][4] );
printf("%d \t", B[5][5] );
printf("%d \t", B[5][6] );
printf("%d \t", B[5][7] ),
printf("%d \t", B[5][8] );
printf("%d \t \n", B[5][9] );
//sesta riga
printf("%d \t", B[6][1] );
printf("%d \t", B[6][2] );
printf("%d \t", B[6][3] );
printf("%d \t", B[6][4] );
printf("%d \t", B[6][5] );
printf("%d \t", B[6][6] );
printf("%d \t", B[6][7] );
printf("%d \t", B[6][8] );
printf("%d \t \n", B[6][9] );
//settima riga
printf("%d \t", B[7][1] );
printf("%d \t", B[7][2] );
printf("%d \t", B[7][3] );
printf("%d \t", B[7][4] );
printf("%d \t", B[7][5] );
printf("%d \t", B[7][6] );
printf("%d \t", B[7][7] );
printf("%d \t", B[7][8] );
printf("%d \t \n", B[7][9] );
//ottava riga
printf("%d \t", B[8][1] );
printf("%d \t", B[8][2] );
printf("%d \t", B[8][3] );
printf("%d \t", B[8][4] );
printf("%d \t", B[8][5] );
printf("%d \t", B[8][6] );
printf("%d \t", B[8][7] );
printf("%d \t", B[8][8] );
printf("%d \t \n", B[8][9] );
//nona riga
printf("%d \t", B[9][1] );
printf("%d \t", B[9][2] );
printf("%d \t", B[9][3] );
printf("%d \t", B[9][4] );
printf("%d \t", B[9][5] );
printf("%d \t", B[9][6] );
printf("%d \t", B[9][7] );
printf("%d \t", B[9][8] );
printf("%d \t \n", B[9][9] );
system("pause");
}

Tralasciando gli errori di sintassi, è sbagliato l'approccio del programma. Un sudoku si può risolvere solo in 2 modi:

Ricorsione
Iterazione

Ti consiglio di dare uno sguardo alla pagina di wikipedia:

https://en.wikipedia.org/wiki/Sudoku_solving_algorithms
 
Pubblicità
Pubblicità
Indietro
Top