Ayuda con un programa de C#

Iniciado por RazaMex, 23 Febrero 2019, 07:07 AM

0 Miembros y 1 Visitante están viendo este tema.

RazaMex

Ayuda ,el programa ya esta bien, lo que quiero es que cuando yo ingrese un numero por ejemplo el 1, me aparece el elemento no existe por que no esta dentro del arreglo, y lo que quiero es que me ponga desea ingresar otro numero.

En el caso de que ingrese 4 que esta incluido en el arreglo me dice el elemento se encuentra en tal posición, y en ves de finalizar el programa me pregunte que si deseo buscar otro numero.

Mi pregunta es como podría hacer eso la verdad no se como, estoy aprendiendo apenas, gracias.

Código (csharp) [Seleccionar]


int[] arreglo=new int[] {4,6,3,10,15,23,56,78,9,54};
int i,numero;        
char dato = 'F';
Console.WriteLine("Digite un número a buscar dentro del arreglo");
numero=int.Parse(Console.ReadLine());
i=0;
while((dato=='F')&&(i<10))
        {        
if(arreglo[i] == numero)            
{      
dato = 'V';
}
      i++;
}
if(dato=='F'){
    Console.WriteLine("El elemento no existe");                                                      
             
}
 
    else if(dato == 'V')        
    {        
i--;
        Console.WriteLine("El elemento se encuentra en la posición:"+i);        
    }                          
                  Console.WriteLine("Presione una tecla para salir . . . ");
  Console.ReadKey(true);
}



Eleкtro

#1
¿Es un ejercicio y te han pedido hacerlo así mediante un búcle while para iterar los elementos del array?, ya que de lo contrario puedes simplificar mucho realizando una sola llamada a la función Array.IndexOf(), la cual te servirá tanto para obtener el índice de un elemento en ese array, como para determinar si un elemento existe o no (en tal caso, Array.IndexOf() devuelve el valor negativo '-1' indicando así que el elemento no existe / no se encontró).

Saludos.








RazaMex

Creo que me explique mal o no te entiendo, es que apenas estoy aprendiendo y no tengo idea de lo que es el Array.IndexOf(); lo siento, ya edite en lo que realmente necesito ayuda espero ahora si me entiendas, gracias.

Cita de: Eleкtro (aliviado) en 23 Febrero 2019, 16:29 PM
¿Es un ejercicio y te han pedido hacerlo así mediante un búcle while para iterar los elementos del array?, ya que de lo contrario puedes simplificar mucho realizando una sola llamada a la función Array.IndexOf(), la cual te servirá tanto para obtener el índice de un elemento en ese array, como para determinar si un elemento existe o no (en tal caso, Array.IndexOf() devuelve el valor negativo '-1' indicando así que el elemento no existe / no se encontró).

Saludos.

EdePC

Saludos,

- Échale un ojo a mi implementación:

Código (csharp) [Seleccionar]
using System;

public class Array {
  public static void Main() {

    int[] arreglo = { 4, 6, 3, 10, 15, 23, 56, 78, 9, 54 };
    int numero, posicion;
    bool existe;

    do {

      Console.WriteLine( "Digite un numero a buscar dentro del arreglo: " );
      numero = Convert.ToInt32( Console.ReadLine() );
      existe = false;

      for ( posicion = 0; posicion < arreglo.Length; posicion++ ) {
        if ( arreglo[posicion] == numero ) {
          existe = true;
          break;
        }
      }

      if ( existe ) {
        Console.WriteLine( "El elemento se encuentra en la posicion {0}", posicion );
      } else {
        Console.WriteLine( "El elemento no existe" );
      }

      Console.WriteLine( "Desea buscar otro numero s/n: " );
    } while ( Console.ReadLine() == "s" );
  }
}


C:\Users\EdSon\Desktop>csc /nologo array.cs && array.exe
Digite un número a buscar dentro del arreglo:
14
El elemento no existe
Desea buscar otro número s/n:
s
Digite un número a buscar dentro del arreglo:
10
El elemento se encuentra en la posición 3
Desea buscar otro número s/n:
s
Digite un número a buscar dentro del arreglo:
158
El elemento no existe
Desea buscar otro número s/n:
s
Digite un número a buscar dentro del arreglo:
4
El elemento se encuentra en la posición 0
Desea buscar otro número s/n:
n

C:\Users\EdSon\Desktop>

RazaMex

Muchísimas gracias, es lo que necesitaba, la únicas dudas amigo es para que sirve el break; que creo que es para finalizar un bucle y seguir con otro, y para que es el .Length :))





Cita de: EdePC en 24 Febrero 2019, 03:59 AM
Saludos,

- Échale un ojo a mi implementación:

Código (csharp) [Seleccionar]
using System;

public class Array {
  public static void Main() {

    int[] arreglo = { 4, 6, 3, 10, 15, 23, 56, 78, 9, 54 };
    int numero, posicion;
    bool existe;

    do {

      Console.WriteLine( "Digite un numero a buscar dentro del arreglo: " );
      numero = Convert.ToInt32( Console.ReadLine() );
      existe = false;

      for ( posicion = 0; posicion < arreglo.Length; posicion++ ) {
        if ( arreglo[posicion] == numero ) {
          existe = true;
          break;
        }
      }

      if ( existe ) {
        Console.WriteLine( "El elemento se encuentra en la posicion {0}", posicion );
      } else {
        Console.WriteLine( "El elemento no existe" );
      }

      Console.WriteLine( "Desea buscar otro numero s/n: " );
    } while ( Console.ReadLine() == "s" );
  }
}


C:\Users\EdSon\Desktop>csc /nologo array.cs && array.exe
Digite un número a buscar dentro del arreglo:
14
El elemento no existe
Desea buscar otro número s/n:
s
Digite un número a buscar dentro del arreglo:
10
El elemento se encuentra en la posición 3
Desea buscar otro número s/n:
s
Digite un número a buscar dentro del arreglo:
158
El elemento no existe
Desea buscar otro número s/n:
s
Digite un número a buscar dentro del arreglo:
4
El elemento se encuentra en la posición 0
Desea buscar otro número s/n:
n

C:\Users\EdSon\Desktop>


EdePC

- break, permite salir el bucle, es como un escape, lo utilizo para que no siga buscando.

- .Length, es una propiedad que devuelve la cantidad de elementos, útil para Arrays o similares.

- Como está empezando, te recomendaría este e-book gratuito en español:
https://openlibra.com/es/book/introduccion-a-la-programacion-con-c-2

-- Y mejor aún si te haces este libro muy completo (español, de pago):
https://profesorezequielruizgarcia.files.wordpress.com/2016/06/como-programar-en-c-segunda-edicion-deitel.pdf

- Siempre es bueno leer un pequeño libro, guía o tutorial, para ver más o menos la capacidad del Lenguaje y que hilos tirar para resolver problemas o buscar más documentación. Luego tener un buen libro de referencia completa o tener cierta destreza buscando en Internet.

RazaMex

Muchas Gracias amigo, me sirvió de mucho

Cita de: EdePC en 24 Febrero 2019, 15:23 PM
- break, permite salir el bucle, es como un escape, lo utilizo para que no siga buscando.

- .Length, es una propiedad que devuelve la cantidad de elementos, útil para Arrays o similares.

- Como está empezando, te recomendaría este e-book gratuito en español:
https://openlibra.com/es/book/introduccion-a-la-programacion-con-c-2

-- Y mejor aún si te haces este libro muy completo (español, de pago):
https://profesorezequielruizgarcia.files.wordpress.com/2016/06/como-programar-en-c-segunda-edicion-deitel.pdf

- Siempre es bueno leer un pequeño libro, guía o tutorial, para ver más o menos la capacidad del Lenguaje y que hilos tirar para resolver problemas o buscar más documentación. Luego tener un buen libro de referencia completa o tener cierta destreza buscando en Internet.