Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "es9.h"
- int verifica_riga(int campo[][DIM], int riga) {
- int occ[DIM] = {0};
- int c;
- if (riga < 0 || riga >= DIM) {
- return 0;
- }
- for(c = 0; c < DIM; c++){
- if(campo[riga][c] >= 1 && campo[riga][c] <= DIM){
- occ[campo[riga][c]-1]++;
- }
- }
- for(c = 0; c < DIM; c++){
- if(occ[c] != 1){
- return 0;
- }
- }
- return 1;
- }
- int verifica_colonna(int campo[][DIM], int colonna) {
- int occ[DIM] = {0};
- int c;
- if (colonna < 0 || colonna >= DIM){
- return 0;
- }
- for(c = 0; c < DIM; c++){
- if(campo[c][colonna] >= 1 && campo[c][colonna] <= DIM){
- occ[campo[c][colonna]-1]++;
- }
- }
- for(c = 0; c < DIM; c++){
- if(occ[c] != 1){
- return 0;
- }
- }
- return 1;
- }
- int verifica_riquadro(int campo[][DIM], int riga, int colonna) {
- int occ[9] = {0};
- int I,J,a;
- if(riga < 0 || riga > 6 || colonna < 0 || colonna > 6 ){
- return 0;
- }
- for(I = riga; I < riga+3; I++){
- for(J = colonna; J < colonna+3; J++){
- if(campo[I][J] >= 1 && campo[I][J] <= 9){
- occ[campo[I][J] - 1]++;
- }
- }
- }
- for(a = 0; a < 9; a++){
- if(occ[a] != 1){
- return 0;
- }
- }
- return 1;
- }
- int verifica_campo(int campo[][DIM]) {
- int i,j,r,c,a;
- a = 0;
- for(i = 0; i < DIM; i++){
- if(verifica_riga(campo,i) != 1){
- a = 1;
- }
- }
- for(j = 0; j < DIM; j++){
- if(verifica_colonna(campo,j) != 1){
- a = 1;
- }
- }
- for(r = 0; r < DIM; r = r+3){
- for(c = 0; c < DIM; c = c+3){
- if(verifica_riquadro(campo,r,c) != 1){
- a = 1;
- }
- }
- }
- if (a == 0){
- return 1;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment