Test Foro de elhacker.net SMF 2.1

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 (cpp) [Seleccionar]
cout << ("Ingrese el valor que desea buscar");
       cin >> buscar;
       
       for (int i = 0; i < Tam; i++) //Tam = tama~no del arreglo
       {
            if(Datos[i] == buscar)
            {
                cout << ("El valor se encuenta en el indice: " + i);
                //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
            }
            else if(Datos[i] != buscar)
            {
                cout << ("El dato no existe");
                //break;
            }  
       }


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 (cpp) [Seleccionar]

#include <iostream>
#include <windows.h>

using namespace std;

int main () {
system ( "MODE CON cols=100 lines=50" );

const int TAM = 10;
int Datos[TAM] = {10,20,30,40,50,60,70,80,90,100};
int buscar = 0;

cout << ( "Ingrese el valor que desea buscar" );
cin >> buscar;

for ( int i = 0; i < TAM; i++ ) { //Tam = tama~no del arreglo
if ( Datos[i] == buscar ) {
cout << "\nEl valor se encuenta en el indice: " << i << "\n" << endl ;
//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
} else
if ( Datos[i] != buscar ) {
cout << "El dato no existe" << endl;
//break;
}
}

cin.ignore();
return 0;
}


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
Cita de: vangodp en 27 Abril 2014, 17:59 PM

¿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 (cpp) [Seleccionar]
cout << ("Ingrese el valor que desea buscar: ");
cin >> pos;

  for (int i = 0; i < len; i++)
     if (i == pos){
       cout << "En el indice ingresado esta: " << Datos[i];
       break;
      }


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
Cita de: vangodp en 27 Abril 2014, 17:59 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
Cita de: Blaster en 27 Abril 2014, 18:12 PM
Lo podrias hacer algo asi

Código (cpp) [Seleccionar]
cout << ("Ingrese el valor que desea buscar: ");
cin >> pos;

  for (int i = 0; i < len; i++)
     if (i == pos){
        cout << "En el indice ingresado esta: " << Datos[i];
        break;
     }


Saludos..

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

Código (cpp) [Seleccionar]
cout << "Ingrese el valor que desea buscar: ";
cin >> pos;
if (pos < len)
  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.