elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 00:42  


Tema destacado: Únete al Grupo Steam elhacker.NET

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Busqueda lineal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Busqueda lineal  (Leído 1,179 veces)
javier210186

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Busqueda lineal
« en: 3 Octubre 2011, 02:29 »

Cordial saludo, me estoy iniciando en C++ en la universidad y me ha tocado trabajar en un programa que, ordene y busque un elemento en una lista. El programa que tengo actualmente me corre, pero no me da el resultado esperado, que es el elemento a buscar en la posición que tiene,  he intentado de varias formas pero no puedo finalizar con la búsqueda correctamente.   El código es el siguiente, trabajo con turbo C 3.0


/*programa que muestra la puntuacion de las actividades de la unad*/
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
int main()
{
   clrscr();
   int estudiante[7]={0, 10,15, 8,14, 16, 13};
   int i, k,c,temp,valor ;          //c es el contador, temp variable temporal
   char  unidad[7]= {'u','n','i','d','a','d'};

      for (i=0; i<=6;i++)
      {
      printf ("%c",unidad );
      }

      for (k=1; k<7;k++)
      {
      printf ("\n la actividad %d es igual a  %d",k, estudiante[k] );
      }
printf("\n Procederemos a ordenar las notas del estudiante\n");


printf("Las notas del estudiante son\n  ");
      for (k=1; k<7;k++)
      {
      printf(" %d  ",estudiante[k]);
      }
         /*se aplica el algoritmo de la burbuja*/
      for (k=0; k<(7-1);k++)
         {
      for (c=k+1; c<7;c++)
      {
      if( estudiante[c]<estudiante[k]){
      temp=estudiante[c];
      estudiante[c]=estudiante[k];
      estudiante[k]=temp;
      }
         }
                  }
printf("\nlas notas ordenadas son:\n ");
for(k=0; k<7; k++){
printf(" %d", estudiante[k]);
}
printf("\n");

cout<<"\ndigite el numero a buscar\n";
cin>>valor;
for (k=0;k<7;k++);{
   if(valor==estudiante[k])
   cout<<"\n encontrado en la posicion\n"<<k+1<<endl;
else
cout<<"no existe en el arreglo";
}
getch();

return 0;
}


por favor colaboren me, es la ultima parte sobre búsqueda que no me arroja el resultado que es.


En línea
satu

Desconectado Desconectado

Mensajes: 263

Siempre aprendiendo


Ver Perfil WWW
Re: Busqueda lineal
« Respuesta #1 en: 3 Octubre 2011, 16:47 »

Hola

El error lo tienes aquí:
Código
cout<<"\ndigite el numero a buscar\n";
cin>>valor;
for (k=0;k<7;k++);{
if(valor==estudiante[k])
cout<<"\n encontrado en la posicion\n"<<k+1<<endl;
else
cout<<"no existe en el arreglo";
 
En el for te sobra el ; del final (el que tienes puesto delante de la llave)

Puedes sustituir todo ese trozo por este:
Código
cout<<"\ndigite el numero a buscar\n";
cin>>valor;
bool enc = false;
for (k=0; k<7 && !enc; k++)
   if(valor==estudiante[k])
       enc = true;
 
if(enc)
   cout<<"\nEncontrado en la posicion"<<k<<endl;
else
   cout<<"\nNo existe en el arreglo";
 

Además te recomiendo que te leas esto y no olvides poner el code entre las etiquetas de GeSHi (la tienes al lado del botón de elegir el tipo de fuente)

Saludos


« Última modificación: 3 Octubre 2011, 16:59 por Eternal Idol » En línea

Breakbeat como forma de vida
javier210186

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Busqueda lineal
« Respuesta #2 en: 5 Octubre 2011, 06:07 »

Cordial saludo, efectivamente me funciono, te agradezco por la colaboración, pues la profesora me había dicho que estaba malo, pero eso ya lo sabia. ya me había pasado mas de una tarde dándole vueltas . De nuevo muchas gracias. se nota que tienes grandes conocimientos en la materia. ojala fueras mi profesor en la universidad. tal ves entendería mejor.

En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
fuente regulada lineal
Electrónica
jrivero 0 527 Último mensaje 1 Julio 2005, 22:17
por jrivero
Amplificador Lineal Wifi
Electrónica
wiserlander 3 3,632 Último mensaje 24 Marzo 2007, 00:45
por wiserlander
Ayuda Algebra Lineal
Dudas Generales
Lauta 4 620 Último mensaje 7 Junio 2008, 03:13
por panaka
Cambiar imagen lineal « 1 2 3 »
Sugerencias y dudas sobre el Foro
dimitrix 35 4,804 Último mensaje 31 Julio 2008, 08:44
por sirdarckcat
Agenda de 1000 numeros con ordnacion shell y busqueda lineal
.NET
Sh¡kar! 0 694 Último mensaje 1 Junio 2010, 22:09
por Sh¡kar!
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines