Erro undefined reference to ' '

1. Erro undefined reference to ' '

Luis Henrique Silva Do nascimento
Henriquesn

(usa Debian)

Enviado em 29/02/2016 - 17:45h

Tudo certo pessoal sou novo por aqui e também iniciando em programação C.
Estou com o seguinte problema:
A linha de código que escrevi parece ser compilado corretamente mas quando chega na função exibir ele não exibi nada e aparece Erro undefined reference to ' exibir', ja fiz, refiz e nada. Alguém saberia qual é o problema???


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define T 10

void aleatorio(int a[]);
void exibir(int b[]);
void bolha(int v[]);

main(){
int v[T];
aleatorio(v);
printf("\t===Antes da Ordenacao===\n");
exbir(v);
bolha(v);
printf("\t===Depois da Ordenacao===\n");
exibir(v);
system("pause");
}

void bolha(int v[]){
int i,j;
int temp;
for(j=0;j<T-1;j++) //responsável pelas “passagens” no vetor
for(i=0;i<T-1-j;i++) //responsável pelas comparações
if(v[i]>v[i+1]){
temp=v[i];
v[i]=v[i+1];
v[i+1]=temp;
}
}

void aleatorio(int a[]){
int n,i;
srand(time(NULL));
for(i=0;i<n;i++)
a[i]=rand()%T;
}

void exibir(int b[]){
int i;
for(i=0;i<T;i++)
printf(“v[%d]=%d\t”,i,b[i]);
}



  


2. Re: Erro undefined reference to ' '

André Rodrigues
andremuerto

(usa Slackware)

Enviado em 29/02/2016 - 17:58h

Olá Henrique.

Você reparou que o "exibir" chamado antes do "bolha" está faltando um "i"?
Esse aqui
printf("\t===Antes da Ordenacao===\n");
exbir(v);
bolha(v);


Isso foi erro de digitação ou esse é o problema mesmo? Se não for esse o problema, avise.



3. Re: Erro undefined reference to ' '

Paulo
paulo1205

(usa Ubuntu)

Enviado em 29/02/2016 - 18:06h

"exbir" não é a mesma coisa que "exibir".

Além disso, cuidado com o interior da função exibir(), pois você usou aspas inglesas (i.e. e , em vez de ") na chamada a printf(). Isso é comum quando se faz copy-and-paste de/para editores de texto com formatação automática, como o Microsoft Word ou o LibreOffice Writer.

E há outros problemas também, como a definição de main() com tipo de retorno implícito (não mais permitido no padrão mais recente da linguagem) e sem especificar argumentos (se você não quiser argumentos, use “void” dentro dos parênteses; se os quiser, deve usar exatamente dois argumentos, sendo primeiro do tipo int, e o segundo do tipo char **).


4. Re: Erro undefined reference to ' '

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/02/2016 - 18:42h

Se estiver no Windows© procure por um editor chamado Notepad++.
Se estiver no Linux dependerá de sua interface gráfica para um editor bom.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



5. Re: Erro undefined reference to ' '

Luis Henrique Silva Do nascimento
Henriquesn

(usa Debian)

Enviado em 29/02/2016 - 18:54h

andremuerto escreveu:

Olá Henrique.

Você reparou que o "exibir" chamado antes do "bolha" está faltando um "i"?
Esse aqui
printf("\t===Antes da Ordenacao===\n");
exbir(v);
bolha(v);


Isso foi erro de digitação ou esse é o problema mesmo? Se não for esse o problema, avise.


Pior que esse era parte do problema(erro de digitação, faltou atenção).
Mas ao executar ele trava e não exibe nada, aparece process returned -1073741819.
Porque a ideia é exibir os valores gerados aleatoriamente de forma ordenada.


6. Re: Erro undefined reference to ' '

Luis Henrique Silva Do nascimento
Henriquesn

(usa Debian)

Enviado em 29/02/2016 - 19:02h

paulo1205 escreveu:

"exbir" não é a mesma coisa que "exibir".

Além disso, cuidado com o interior da função exibir(), pois você usou aspas inglesas (i.e. e , em vez de ") na chamada a printf(). Isso é comum quando se faz copy-and-paste de/para editores de texto com formatação automática, como o Microsoft Word ou o LibreOffice Writer.

E há outros problemas também, como a definição de main() com tipo de retorno implícito (não mais permitido no padrão mais recente da linguagem) e sem especificar argumentos (se você não quiser argumentos, use “void” dentro dos parênteses; se os quiser, deve usar exatamente dois argumentos, sendo primeiro do tipo int, e o segundo do tipo char **).


É a questão das aspas é que escrevi na faculdade e joguei pro google docs e copiei direto pra cá.
sobre o main eu não sabia que precisava declarar bom saber. Então ficaria:

int main(void){
codigo
}




7. Re: Erro undefined reference to ' '

André Rodrigues
andremuerto

(usa Slackware)

Enviado em 29/02/2016 - 19:04h

Ele pode estar travando porque no método "aleatorio" você não define um valor limite para o for.
veja abaixo:
void aleatorio(int a[]){
int n,i;
srand(time(NULL));
for(i=0;i<n;i++)
a[i]=rand()%T;
}


Repare que você declara "n", mas não define um valor. Provavelmente ele está ficando com algum lixo de memória e por isso está executando esse for ai milhares e milhares de vezes.

Veja se não é isso.


8. Re: Erro undefined reference to ' '

Luis Henrique Silva Do nascimento
Henriquesn

(usa Debian)

Enviado em 29/02/2016 - 19:25h

Era isso mesmo utilizei o define T e foi exibido os valores na ordem.
Muito obrigado, vocês ajudaram muito. Continuar estudando, muita coisa não entendo ainda...
Sobre esses novos padrões. Tem algum site ou livro atual para indicar?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts