Localização de um número dado

1. Localização de um número dado

Everton Eduardo Vilela
duhvilela

(usa Debian)

Enviado em 22/09/2010 - 10:43h


Eu tinha que montar um algoritmo de busca, ou busca sequêncial(linear), ai montei dessa forma, mais não
sei se está correto, gostaria de uma opinião de vocês, se o meu algoritmo tem a ver mesmo com o exercício.

1)Dado o vetor {4,27,456,730,56,21,2,78}, Faça um algoritmo de busca para localização de um número dado.


#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main()
{
int x, i;
int y[8]={4,27,456,730,56,21,2,78};
setlocale(LC_ALL,"");

/* ============= mostrar o vetor ============================ */
for ( i=0 ; i<8 ; i++){ printf("\n [%d]: %d",i,y[i]);}

/* ============== Armazenar o valor =========================== */
printf("\n\n Digite qualquer numero:"); scanf("%d",&x);

/* ============== Procurando o valor no vetor. ============= */
for (i=0; y[i]!=x && i<8; i++);

/* ======= Imprimindo a posição se o valor existir. == ===== */
if (i==8)
printf("O Valor procurado não foi encontrado \n");
else
printf("\n encontrado na posição: %d",i);
getch();
}





  


2. Re: Localização de um número dado

Ezequias Rocha
Ezequias Rocha

(usa Ubuntu)

Enviado em 22/09/2010 - 11:29h

Aparentemente, sua rotina cumpre a função pedida. Poderá haver diferenças apenas na mostra da posição correspondente ao valor digitado, se a primeira posição for considerada 0 (zero) ou 1 (um) durante a mostra do resultado.
Houve algum problema durante a implementação?


Embraces!


3. Re: Localização de um número dado

Everton Eduardo Vilela
duhvilela

(usa Debian)

Enviado em 22/09/2010 - 17:49h

Por estar trabalhando com um vetor de 8 posições, tive que limitar no for para i<8, antes tava usando i<=7 aí ele não correspondia e no último valor do vetor, posição 7 ele sobrescrevia e quando pesquisava um valor diferente, ele achava em uma posição que nem existe nesse vetor, por exemplo pesquisava 500 ele achava na posição 9, mais se o vetor só tem 8 posições locura rs aí defini para i<8 no for e resolveu.


4. Re: Localização de um número dado

Ezequias Rocha
Ezequias Rocha

(usa Ubuntu)

Enviado em 23/09/2010 - 08:21h

Entendido.
Eu tentei explicar que, o usuário pode preferir que o resultado seja mostrado da seguinte maneira:
- 1 para a primeira posição (y[0]);
- 2 para a segunda posição (y[1]);
- 3 para a terceira posição (y[2]);
.
.
.

ao invés de:
- 0 para a primeira posição (y[0]);
- 1 para a segunda posição (y[1]);
- 2 para a terceira posição (y[2]);
.
.
.


Embraces!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts