Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Reseko

Páginas: [1]
1
Bueno, al final me dieron un empujón y logré saber que era lo que estaba fallando.

El while estaba contando hasta la longitud del array pero no estaba contando con que el índice de los arrays van desde el 0 hasta el Length -1 (array de 10 = índice desde 0-9), con lo cuál siempre se pasaba buscando en el array y siempre daba el mismo error.

2
Hola a todos, estoy intentando hacer un ejercicio para practicar arrays. Tienes que introducir 10 números y luego el usuario ir preguntando y comprobar si existe ese número o no en el array.

El tema es que intentaba utilizar las instrucciones try y catch para controlar las excepciones por si el usuario introduce letras en lugar de números pero no logro hacerlo funcionar. Lo que sucede es que si introduzco un número que no está dentro del array me dice "formato incorrecto" cuando debería avisar de que ese número no está en el array.

Alguien me puede indicar lo que estoy haciendo mal? Le he dado vueltas y vueltas pero la verdad es que no se porqué no funciona.

El código es un poco mierder pero estoy empezando así que no me lo tengáis mucho en cuenta  ;)

Muchas gracias y un saludo.

Código: [Seleccionar]
/* Pide al usuario 10 enteros largos. A continuación, deberás pedirle un
 * número y decirle si estaba entre los datos iniciales, luego pedirle otro y
 * así sucesivamente, hasta que teclee la palabra "fin" en vez de un número
 *
*/


using System;

class programa
{
    static void Main()
    {
            long[] numeros = new long[10];
            string respuesta = "";
            long numeroUsuario = 0;
            bool encontrado = false;
                   
           
            for (int i = 0; i < numeros.Length; i++)
            {
                Console.Write("Dime el número {0}: ", i+1);
                numeros[i] = Convert.ToInt64(Console.ReadLine());
            }
            do
            {

                try
                {
                    Console.WriteLine();
                    Console.Write ("Dime el número que quieres encontrar: ");
                    respuesta = Console.ReadLine();
                    encontrado = false;
                    int i = 0;
                   
                    if (respuesta != "fin")
                    {
                        numeroUsuario = Convert.ToInt64(respuesta);

/*                        foreach (long numero  in numeros)
                        {
                            if (numero == numeroUsuario)
                                encontrado = true;
                        }
*/

                        do
                        {
                            if (numeroUsuario == numeros[i])
                            {
                                encontrado = true;
                            }
                            i++;
                        }
                        while (i <= numeros.Length && !encontrado);
                       
                        if (encontrado)
                        {
                            Console.WriteLine("Número encontrado");
                        }
                        else
                        {
                            Console.WriteLine(encontrado);
                            Console.WriteLine("Numero NO encontrado");
                        }
                    }
                }
                catch (Exception)
                {
                    Console.Write("Formato incorrecto");
                }
               
            }
            while (respuesta != "fin");
    }
}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".