Jump to content
Fórum Script Brasil
  • 0

Dúvida Função em C


Question

Nobres colegas,

venho pedir socorro! Tenho uma dúvida, que para para muitos possa ser banal, mas é o seguinte:

Estou a fazer um jogo de caça-palavras em C, e criei uma procedimento que joga as palavras sorteadas por outra função, dentro da matriz de char, pois bem, criei uma função para sortear numeros de 1 às 5, que serão as posição que a palavra vai ficar na matriz( tipo 1 na horizontal, 2 na vertical...etc). E um erro aparece e não consigo decifar, segue o código a baixo:

ERRO: [Linker error] undefined reference to `sorteiaPosicao'

ld returned 1 exit status

void sorteiaPocisao(int p){
    int posicao;  
     
    srand(time(NULL));
    posicao = rand() % 5;
    p = posicao;
    }
    
void preencheMatrizPalavras(char mat[10][10]){
     int l,i,j,posicao,comprimento;
     char palavra[50];
     sorteiaPalavra(palavra);
     comprimento = strlen(palavra);
          
    sorteiaPosicao(posicao);
     if(posicao == 1){
         for(j=0;j<10;j++){
            for(i=0;i<10;i++){
               mat[i][j] = palavra[i];
            }
         }
     } 
            else if(posicao == 2){
                 for(j=0;j<10;j++){
                    for(i=0;i<10;i++){
                       mat[i][j] = palavra[i];
                 
                        }
                 }
            }
                 else if(posicao == 3){
                      for(j=0;j<10;j++){
                         for(i=0;i<10;i++){
                            if(i==j){
                               mat[i][j] = palavra[i];
                               }     
                         }
                      }
                 }
                      else if(posicao == 4){
                           for(i=10;i>0;i--){
                              for(j=10;j>0;j--){
                                 if(i==j){
                                 mat[i][j] = palavra[j];
                                 }
                              }
                           }
                      }
                           else{
                                i=10;
                                   for(j=0;j<10;j++){
                                   mat[i][j] = palavra[i];
                                   }
                           }  
}

void sorteiaPalavra(char palavra[]){

    int num;

    srand(time(NULL));

    num = rand() % 15;
        switch(num){
            case 0: strcpy (palavra,"n"); break;
            case 1: strcpy (palavra,"flash"); break;
            case 2: strcpy (palavra,"ajax"); break;
            case 3: strcpy (palavra,"lanterna"); break;
            case 4: strcpy (palavra,"aquaman"); break;
            case 5: strcpy (palavra,"pacman"); break;
            case 6: strcpy (palavra,"enduro"); break;
            case 7: strcpy (palavra,"topgear"); break;
            case 8: strcpy (palavra,"monopolio"); break;
            case 9: strcpy (palavra,"sonic"); break;
            case 10: strcpy (palavra,"ramones"); break;
            case 11: strcpy (palavra,"metalica"); break;
            case 12: strcpy (palavra,"raimundos"); break;
            case 13: strcpy (palavra,"replicantes"); break;
            case 14: strcpy (palavra,"acdc"); break;
                }
}

Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
Simples ^^

Olha o nome da tua função:

sorteiaPocisao

Olha o nome agora da chamada da função:

sorteiaPosicao

Coloque-os iguais.

Não sei se o teu código está funciona, mas quanto ao erro de compilação, é isso.

Valeu mesmo...Olha que olhei pra esse código um tempão e não vi isto....

Quanto ao código tá funcionando, mas não tá jogando a palavra na matriz, vou revisar...se tiver alguma idéia pode mandar....

Se precisar de algo é só avisar...

Muito obrigado Nobre amigo!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148944
    • Total Posts
      644982
×
×
  • Create New...