Ontem na faculdade aconteceu algo que muito provavelmente eu fiz e que o mestre ficou de cabelo em pé!
Ele pediu para criar um código de maneira que existam 2 funções sendo:
a primeira deve carregar valores numericos em um vetor;
e a segunda deve fazer a busca desse valor digitado, e caso ele não encontre nada deve ser retornado a -1 para que a mensagem "valor não encontrado" seja exibida.
Bom a questão é: na função que eu criei eu não estou retornando a valor algum, entretando acho que a função quando não especificado um valor de retorno, ela retorna a nada!
Mas está acontecendo algo impressionante do qual o mestre não conhecia e muito menos eu!
ele de alguma forma quando não encontra um valor, ele retorna a -1.
POR FAVOR ALGUÉM CONSEGUE ME EXPLICAR ISSO???????
Segue abaixo o código!
#include <stdio.h>
float vet[10], valor;
int i, verif;
void preenche(void);
int busca(float);
main()
{
int pos;
preenche();
do
{
//pos=99; -----esta linha eu comentei pois quiz forçar a variavel pos ter o numero 99 para ver se ela deixava de retornar a -1.
printf("Digite 0 para sair ou digite o valor que voce deseja procurar:\n");
scanf("%f",&valor);
if(valor==0.0)
{return 0;}
pos=busca(valor);
//printf("%i\n", pos);-----Essa linha eu comentei pois coloquei um printf para ter certeza do valor que ele estava retornando.
if(pos==-1)
{printf("O valor não foi encontrado.\n");}
}while(1);
system("pause");
}
//Funcao preenche
void preenche(void)
{
for (i=0; i<10; i++)
{
printf("Digite o valor %i\n", i+1);
scanf("%f",&vet[i]);
}
}
//Funcao busca
int busca(float valor)
{
verif=0;
for(i=0; i<10; i++)
{
if(vet[i]==valor)
{
verif=1;
printf("O valor e: %f\n", vet[i]);
printf("O valor está na posicao: %i\n", i);
}
}
if(verif!=0)
return i;
}
Pergunta
fjralberto
Pessoal bom dia;
Ontem na faculdade aconteceu algo que muito provavelmente eu fiz e que o mestre ficou de cabelo em pé!
Ele pediu para criar um código de maneira que existam 2 funções sendo:
a primeira deve carregar valores numericos em um vetor;
e a segunda deve fazer a busca desse valor digitado, e caso ele não encontre nada deve ser retornado a -1 para que a mensagem "valor não encontrado" seja exibida.
Bom a questão é: na função que eu criei eu não estou retornando a valor algum, entretando acho que a função quando não especificado um valor de retorno, ela retorna a nada!
Mas está acontecendo algo impressionante do qual o mestre não conhecia e muito menos eu!
ele de alguma forma quando não encontra um valor, ele retorna a -1.
POR FAVOR ALGUÉM CONSEGUE ME EXPLICAR ISSO???????
Segue abaixo o código!
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
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.