Errors in an game sudoku

Hi guys,
I try programming an game (sudoku 9x9) but when i compile the program i see this 2 errors ([Linker error] undefined reference to `__cpu_features_init' and ld returned 1 exit status) and i cant know why.

Please help me.

Thanks all, Duartespot

//SUDOKU 9x9

#include <stdio.h>
#include <stdlib.h>
#define N 9

int main()
{
int tabela1[N][N] =
{{0, 6, 0, 1, 0, 4, 0, 5, 0},
{ 0, 0, 8, 3, 0, 5, 6, 0, 0},
{ 2, 0, 0, 0, 0, 0, 0, 0, 1},
{ 8, 0, 0, 4, 0, 7, 0, 0, 6},
{ 0, 0, 6, 0, 0, 0, 3, 0, 0},
{ 7, 0, 0, 9, 0, 1, 0, 0, 4},
{ 5, 0, 0, 0, 0, 0, 0, 0, 2},
{ 0, 0, 7, 2, 0, 6, 9, 0, 0},
{ 0, 4, 0, 5, 0, 8, 0, 7, 0}};

int desenhar_tabela()
{
int i,j;
printf(" 1 2 3 4 5 6 7 8 9 \n");
printf("+--------+--------+--------+\n");

for (i = 0; i < N; i++)
printf("|");
for (j = 0; j < N; j++)
{
if (tabela1[i][j] != 0)
printf(" %d ", tabela1[i][j]);
else
printf(" ");
if (j % 3 == 2)
printf("|");
}
if (i % 3 == 2)
printf("\n+---------+---------+---------+");
printf("\n");

int ver_tabela(int linha, int coluna, int numero)
{
if (tabela1[linha][coluna]==0)
return 1;
else
return 0;
}

int tentar_colocar(int i, int j, int k)
{
int c,l;
for (l = 0; l < N; l++)
{
if (tabela1[l][j] == k)
return 0;
}
for (c = 0; c < N; c++)
{
if (tabela1[i][c] == k)
return 0;
}
for (l = i - i % 3; l < i - i % 3 +3; l++)
for (c = j - j % 3; c < j - j % 3 + 3; c++)
{
if (tabela1[l][c] == k)
return 0;
}
tabela1[i][j] = k;
desenhar_tabela();
return 1;
}

int coordenada_valida(int linha, int coluna)
{
if(linha>=0 && linha <9 && coluna>=0 && coluna <9)
return 1;
else
return 0;
}

int numero_valido(int numero)
{
if(numero>0 && numero <=9)
return 1;
else
return 0;

}

int existe_coluna(int coluna, int numero)
{
for (i=0; i<N; i++)
{
if (tabela1[i][coluna] == numero)
return 1;
}
}

int existe_linha(int linha, int numero)
{
for (j=0; j<N; j++)
{
if (tabela1[j][linha] == numero)
return 1;
}
}

int escreve(int linha, int coluna, int numero)
{
tabela1[linha][coluna]=numero;
}

void jogo()
{
int linha,coluna,numero;
printf("Introduza 0(ZERO) para sair");
if (coordenada_valida(linha-1, coluna-1)==1)
{
printf("Coordenada Valida\n");
if (numero_valido(numero)==1)
{
printf("Numero valido\n");
if (ver_tabela(linha-1, coluna-1, numero)==1)
{
printf("Posicao vazia\n");
if (tentar_colocar(linha-1, coluna-1, numero)==1)
{
printf("Quadrante OK\n");
escreve(linha-1,coluna-1,numero);
printf("Gravado\n");
system("cls");
}
else
{
printf("Nao foi possivel, ja existe na linha ou na coluna ou no mesmo quadrante\n");
}
}
else
{
printf("Posicao ja esta ocupada\n");
}
}
else
{
printf("Numero invalido\n");
}
}
else
{
printf("Coordenada invalida\n");
}
}

int terminar()
{
for (i=0;i<N;i++)
for (j=0;j<N;j++)
if (tabela1[i][j]==0)
return 1;
}

void gerar_matriz()
{
int linha,coluna,numero;
desenhar_tabela();

printf("Introduza uma linha: ");
scanf("%d", &linha);

printf("Introduza uma coluna: ");
scanf("%d", &coluna);

printf("Introduza o numero: ");
scanf("%d", &numero);

jogo();
}

int main()
{
printf("SUDOKU\n\n\n");
printf("REGRAS DO JOGO\n");
printf("O objetivo do jogo e completar a matriz principal utilizando\n");
printf("numeros de 1 a 9. Para completa-los, seguiremos a seguinte regra: \n");
printf("Nao podem haver numeros repetidos nas linhas horizontais e verticais, \n");
printf("assim como nas submatrizes.\n\n\n");
while(terminar()!=0)
{
gerar_matriz();
terminar();
}
}

system("PAUSE");
return 0;
}
}
Topic archived. No new replies allowed.