PROBLEMA Programma in c che risolve il sudoku

sandrulino

Nuovo Utente
3
0
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");
}
 
M

Mursey

Ospite
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.
 

Hobet

Utente Attivo
609
222
CPU
i5 6600k
Dissipatore
AIO H100
Scheda Madre
ASUS z170 Deluxe
HDD
1 WD Blue 1 TB; evo 850 500gb
RAM
Vengeance 4x4
GPU
GTX 1070ti MSI
Audio
Nope
Monitor
MG278Q
Case
750D Corsair
Net
Fastweb 200/30
OS
PucyBuntu
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
 
  • Mi piace
Reazioni: Mursey

sandrulino

Nuovo Utente
3
0
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");
}
 

rodhellas

Utente Èlite
1,522
427
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
HDD
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
GPU
Gigabyte GTX 960 OC
Audio
Integrata
Monitor
SyncMaster 223BW
PSU
Antec HCG-520M
Case
Meshify C
Net
Gigabit Fastweb
OS
Windows 10 64bit
  • Mi piace
Reazioni: Mursey

Hobet

Utente Attivo
609
222
CPU
i5 6600k
Dissipatore
AIO H100
Scheda Madre
ASUS z170 Deluxe
HDD
1 WD Blue 1 TB; evo 850 500gb
RAM
Vengeance 4x4
GPU
GTX 1070ti MSI
Audio
Nope
Monitor
MG278Q
Case
750D Corsair
Net
Fastweb 200/30
OS
PucyBuntu
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
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili