Pesquisar número num vector em C
Dica publicada em C/C++ / Introdução
Pesquisar número num vector em C
Esta é uma dica para ajudar a encontrar um inteiro num vetor, indicando depois a posição desse número no vetor.
Para compilar basta guardar o código num arquivo e fazer:
$ cc nome_ficherio.c -o nome_executável
Espero que gostem *
#include<stdio.h>
int main()
{
int vec[5],i,x;
printf("\n nº a procurar no vector: ");
//inserir o nº a procurar no vector
scanf("%d",&x);
//ler vector
for(i=1;i<=5;i++)
scanf("%d",&vec[i]);
i=1;
//encontrar a posição de x no vector v
while(vec[i]!=x)
i++;
//mostrar a posição
printf("\nencontrado na pos %d",i);
return 0;
}
int main()
{
int vec[5],i,x;
printf("\n nº a procurar no vector: ");
//inserir o nº a procurar no vector
scanf("%d",&x);
//ler vector
for(i=1;i<=5;i++)
scanf("%d",&vec[i]);
i=1;
//encontrar a posição de x no vector v
while(vec[i]!=x)
i++;
//mostrar a posição
printf("\nencontrado na pos %d",i);
return 0;
}
Para compilar basta guardar o código num arquivo e fazer:
$ cc nome_ficherio.c -o nome_executável
Espero que gostem *
2º) Foi pra esses casos que o comando "for" foi inventado.
for ( i = 0; vec[i]!=x; i++);
3º) Se o número que a pessoa digitar não existir no vetor, o programa vai dar erro sempre pois você nunca verifica se o i é menor que o índice máximo do vetor.
Assim, um jeito melhor de apresentar o programa seria:
// Procurando o valor no vetor.
for ( i = 0; vec[i]!=x && i < 5; i++);
// Imprimindo a posição se o valor existir.
if ( i == 5 )
printf("O valor não existe no vetor.\n");
else
printf("\nencontrado na pos %d",i);