Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- #include <time.h>
- int matriz[9][9];
- void inicializaMatriz();
- void imprimeMatriz();
- void geraMatrizJogo();
- int checaLinha(int linha, int coluna, int valor);
- int checaColuna(int linha, int coluna, int valor);
- int checaSecao(int linha, int coluna, int valor);
- int conta();
- int main()
- {
- inicializaMatriz();
- srand(time(NULL));
- geraMatrizJogo();
- getch();
- }
- void inicializaMatriz()
- {
- int i, j;
- for(i = 0; i < 9; i++)
- {
- for(j = 0; j < 9; j++)
- {
- matriz[i][j] = 0;
- }
- }
- }
- void geraMatrizJogo()
- {
- int i, j, val_i, val_j, max_i, max_j, valor, qntd;
- val_i = 0;
- val_j = 0;
- max_i = 9;
- max_j = 9;
- for(i = val_i; i < max_i; i++)
- {
- }
- }
- void imprimeMatriz()
- {
- int i, j;
- printf("\n=============================\n");
- for(i = 0; i < 9; i++)
- {
- for(j = 0; j < 9; j++)
- {
- printf(" %d ", matriz[i][j]);
- if((j + 1) % 3 == 0)
- printf("|");
- }
- if((i + 1) % 3 == 0)
- printf("\n=============================");
- printf("\n");
- }
- }
- int checaLinha(int linha, int coluna, int valor)
- {
- int i, cont = 0;
- for(i = 0; i < 9; i++)
- {
- if(matriz[linha][i] == valor && i != coluna)
- cont++;
- }
- return cont;
- }
- int checaColuna(int linha, int coluna, int valor)
- {
- int i, cont = 0;
- for(i = 0; i < 9; i++)
- {
- if(matriz[i][coluna] == valor && i != linha)
- cont++;
- }
- return cont;
- }
- int checaSecao(int linha, int coluna, int valor)
- {
- int i, j, inicioLinha, inicioColuna, maxLinha, maxColuna, cont = 0;
- if(linha >= 0 && linha <= 2)
- {
- inicioLinha = 0;
- maxLinha = 2;
- if(coluna >= 0 && coluna <= 2)
- {
- inicioColuna = 0;
- maxColuna = 2;
- }
- else if(coluna >= 3 && coluna <= 5)
- {
- inicioColuna = 3;
- maxColuna = 5;
- }
- else
- {
- inicioColuna = 6;
- maxColuna = 8;
- }
- }
- else if(linha >= 3 && linha <= 5)
- {
- inicioLinha = 3;
- maxLinha = 5;
- if(coluna >= 0 && coluna <= 2)
- {
- inicioColuna = 0;
- maxColuna = 2;
- }
- else if(coluna >= 3 && coluna <= 5)
- {
- inicioColuna = 3;
- maxColuna = 5;
- }
- else
- {
- inicioColuna = 6;
- maxColuna = 8;
- }
- }
- else
- {
- inicioLinha = 6;
- maxLinha = 8;
- if(coluna >= 0 && coluna <= 2)
- {
- inicioColuna = 0;
- maxColuna = 2;
- }
- else if(coluna >= 3 && coluna <= 5)
- {
- inicioColuna = 3;
- maxColuna = 5;
- }
- else
- {
- inicioColuna = 6;
- maxColuna = 8;
- }
- }
- for(i = inicioLinha; i <= maxLinha; i++)
- {
- for(j = inicioColuna; j <= maxColuna; j++)
- {
- if(matriz[i][j] == valor && (i != linha && j != coluna))
- cont++;
- }
- }
- return cont;
- }
- int conta(r)
- {
- int i, j, cont = 0;
- for(i = 0; i < 9; i++)
- {
- for(j = 0; j < 9; j++)
- {
- if(checaColuna(i, j, matriz[i][j]) == 0 && checaLinha(i, j, matriz[i][j]) == 0 && checaSecao(i, j, matriz[i][j]))
- cont++;
- }
- }
- return cont;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement