Ir para conteúdo
Fórum Script Brasil
  • 0

soma =a 45 /ajudem-me!


duarte_valente

Pergunta

Estou a trabalhar num jogo de Sudoku.

E quero verificar a vitoria do jogo, com as seguintes condiçoes:

para ganhar:

a soma dos numeros de cada linha tem de dar 45!

a soma dos numeros de cada coluna tem de dar 45!

a soma dos numeros de cada quadrado 45!

...ta me dar o seguinte error!!!

:tab redeclared as different kind of symbol

:previous definition of tab was here !!!!!???

#include <stdio.h>
int main()
{
    int vit_linhas(int*tab)
    {
        int i,j,soma;
        for(i=0;i<9;i++) //linha a linha
            soma=0;
        {
            for(j=0;j<9;j++) //coluna a coluna
                soma+=tab[9*i+j]; //somar todas as celulas
            if(soma!=45)
            return 0; //devolvemos diferente de vitoria
        }
        return 1; //devolvemos vitoria
    }
    int vit_colunas(int*tab)
    {
        int i,j,soma;
        for(i=0;i<9;i++) //coluna a coluna
            soma=0;
        {
            for(j=0;j<9;j++) //linha a linha
                soma+=tab[9*i+j]; //somar todas as celulas
            if(soma!=45) 
            return 0; //devolvemos a diferença de vitoria
        }
        return 1; //devolvemos vitoria
    }
    int vit_quadrados(int*tab)
    {
        char tab[81]={0};
        int i;
        for(i=0;i<8;i++)
        {
            if((i/9)%3==0) //linha 0,4,6
            {
                if(i%3==0) //coluna 0,4,6
                {
                    if(tab[i]+tab[i+1]+tab[i+2]+tab[i+9]+tab[i+10]+tab[i+11]+tab[i+18]+tab[i+19]+tab[i+20]!=45)
                    return 0;
                }
            }
        }
        return 1; //devolvemos a vitoria
    }
    return 0;
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
...ta me dar o seguinte error!!!

:tab redeclared as different kind of symbol

:previous definition of tab was here !!!!!???

duarte_valente, parece-me que o erro ser refere a esta parte do seu código:
...
    int vit_quadrados(int*tab)
    {
        char tab[81]={0};
...

Veja que a função tem como parâmetro tab sendo ponteiro de inteiros, enquanto que ao declarar a variável local tab, você a "redeclara" como sendo um vetor de caracter. Reveja esta parte do código.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...