Busqueda lineal en un arreglo

¿Has encontrado un error? ¿Tienes la solución? Deja tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por estudiante con únicamente conocimiento básico del lenguaje, no de programación.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <stdio.h>
#define TAMANIO 100
 
/* prototipo de la función */
int busquedaLineal( const int arreglo[], int llave, int tamanio );  
/* la función main comienza la ejecución del programa */
int main()
{   
   int a[ TAMANIO ]; /* crea el arreglo a */    int x; /* contador para inicializar los elementos de 0 a 99 del arreglo a */
   int llaveBusqueda; /* valor para localizar en el arreglo a */
   int elemento; /* variable para almacenar la ubicación de llaveBusqueda o -1 */
 
   /* crea los datos */   for ( x = 0; x < TAMANIO; x++ ) { 
      a[ x ] = 2 * x;
   } /* fin de for */
 
   printf( "Introduzca la llave de busqueda entera:n" );   scanf( "%d", &llaveBusqueda );
 
   /* intenta localizar llaveBusqueda en el arreglo a */
   elemento = busquedaLineal( a, llaveBusqueda, TAMANIO );
    /* despliega los resultados */
   if ( elemento != -1 ) {
      printf( "Encontre el valor en el elemento %dn", elemento );
   } /* fin de if */
   else {      printf( "Valor no encontradon" );
   } /* fin de else */
 
   return 0; /* indica terminación exitosa */
 } /* fin de main */
 
/* compara la llave con cada elemento del arreglo hasta que localiza el elemento
   o hasta que alcanza el final del arreglo; devuelve el subíndice del elemento
   si lo encontró o -1 si no lo encontró */int busquedaLineal( const int arreglo[], int llave, int tamanio )
{
   int n; /* contador */
 
   /* ciclo a través del arreglo */   for ( n = 0; n < tamanio; ++n ) {
 
      if ( arreglo[ n ] == llave ) { 
         return n; /* devuelve la ubicación de la llave */
      } /* fin de if */ 
   } /* fin de for */
 
   return -1; /* llave no encotrada */
 } /* fin de la función busquedaLineal */

Punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C <code lang="c">Código en C</code>
  • Si es lenguaje Pascal <code lang="pascal">Aquí dentro el código de Pascal</code>.

De esta manera el código coloreas el código.

Deja un comentario

Suscribirse a los comentarios.