Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: nolasco281 en 27 Abril 2014, 17:07 pm



Título: Busqueda por indice (Solucionado)
Publicado por: nolasco281 en 27 Abril 2014, 17:07 pm
Hola como estan.

tengo un peque~no problema que no se como buscar por indice

Ejemplo que escriba el indice y me devuelva el valor que hay en ese indice


Tengo como buscar el indice, donde se encuentra un numero.

Ejemplo ingreso el numero y me dice en que indice esta.

Código
  1. cout << ("Ingrese el valor que desea buscar");
  2.        cin >> buscar;
  3.  
  4.        for (int i = 0; i < Tam; i++) //Tam = tama~no del arreglo
  5.        {
  6.             if(Datos[i] == buscar)
  7.             {
  8.                 cout << ("El valor se encuenta en el indice: " + i);
  9.                 //break; // Rompe el ciclo y solo lo busca 1 vez en caso que se desee buscar si hay mas de 1 se quita el breake
  10.             }
  11.             else if(Datos[i] != buscar)
  12.             {
  13.                 cout << ("El dato no existe");
  14.                 //break;
  15.             }  
  16.        }

se que no debe de cambiar mucho pero la mayoria de ejemplos que encuentro en la red busca el numero y me devuelve el indice

Gracias saludos.


Título: Re: Busqueda por indice
Publicado por: vangodp en 27 Abril 2014, 17:59 pm
Es esto?

Código
  1. #include <iostream>
  2. #include <windows.h>
  3.  
  4. using namespace std;
  5.  
  6. int main () {
  7. system ( "MODE CON cols=100 lines=50" );
  8.  
  9. const int TAM = 10;
  10. int Datos[TAM] = {10,20,30,40,50,60,70,80,90,100};
  11. int buscar = 0;
  12.  
  13. cout << ( "Ingrese el valor que desea buscar" );
  14. cin >> buscar;
  15.  
  16. for ( int i = 0; i < TAM; i++ ) { //Tam = tama~no del arreglo
  17. if ( Datos[i] == buscar ) {
  18. cout << "\nEl valor se encuenta en el indice: " << i << "\n" << endl ;
  19. //break; // Rompe el ciclo y solo lo busca 1 vez en caso que se desee buscar si hay mas de 1 se quita el breake
  20. } else
  21. if ( Datos[i] != buscar ) {
  22. cout << "El dato no existe" << endl;
  23. //break;
  24. }
  25. }
  26.  
  27. cin.ignore();
  28. return 0;
  29. }
  30.  

O.o

¿Por que se pone la cadena literal en medio de ()? ¿("sirve para algo")?


Título: Re: Busqueda por indice
Publicado por: nolasco281 en 27 Abril 2014, 18:06 pm
Hola

Si eso lo tengo pero lo que quiero es ingresar el indice y que busque el valor que hay en ese indice

Ejemplo ingreso el indice 0 y debo de obtener 10 tomando como ejemplo el arreglo que pusiste.

Gracias por responder.

Respondiendo

¿Por que se pone la cadena literal en medio de ()? ¿("sirve para algo")?

no tiene nada especial solo que aveces me sirve para concatenar datos.


Título: Re: Busqueda por indice
Publicado por: Blaster en 27 Abril 2014, 18:12 pm
Lo podrias hacer algo asi

Código
  1. cout << ("Ingrese el valor que desea buscar: ");
  2. cin >> pos;
  3.  
  4.   for (int i = 0; i < len; i++)
  5.      if (i == pos){
  6.        cout << "En el indice ingresado esta: " << Datos[i];
  7.        break;
  8.       }

Saludos..


Título: Re: Busqueda por indice
Publicado por: nolasco281 en 27 Abril 2014, 18:21 pm
Viejo sos un genio  ;-)

nesecitaba ese empujon.

te dejo la muestra de que tu ayuda me sirvio

(http://3.bp.blogspot.com/-AxCwiNJHlcs/U10uPmuo84I/AAAAAAAAAss/GPlEMBrhzFI/s1600/Fror.png)

Mil gracias.

Pd: no encontraba nada ni en ingles ni en espa~nol.

De nuevo gracias. saludos.


Título: Re: Busqueda por indice
Publicado por: amchacon en 27 Abril 2014, 20:03 pm
¿Por que se pone la cadena literal en medio de ()? ¿("sirve para algo")?
Para nada, lo habrá puesto porque está acostumbrado al printf.


Título: Re: Busqueda por indice
Publicado por: noele1995 en 27 Abril 2014, 22:29 pm
Lo podrias hacer algo asi

Código
  1. cout << ("Ingrese el valor que desea buscar: ");
  2. cin >> pos;
  3.  
  4.   for (int i = 0; i < len; i++)
  5.      if (i == pos){
  6.         cout << "En el indice ingresado esta: " << Datos[i];
  7.         break;
  8.      }

Saludos..

Seria mejor asi, estas haciendo un for para acabar usando pos...

Código
  1. cout << "Ingrese el valor que desea buscar: ";
  2. cin >> pos;
  3. if (pos < len)
  4.   cout << "En el indice ingresado esta: " << Datos[pos];

Saludos


Título: Re: Busqueda por indice
Publicado por: nolasco281 en 28 Abril 2014, 00:51 am
noele1995

tambien funciono y sin ningun problema.

: )

Gracias y saludos.