elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda con c# y arreglos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con c# y arreglos  (Leído 1,192 veces)
Extravagan

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Ayuda con c# y arreglos
« en: 8 Febrero 2016, 01:13 am »

Trato de hacer un programa que inserte 10 números, todos mayores a 1000.me los sume y muestre los numeros mayores a 5000

Por el momento no sé como hacer para que me muestre los numeros mayores a 5000

Llevo esto del programa
Código
  1. int[] numero = new int[10];
  2.            int suma;                  
  3.            int cont;
  4.  
  5.  
  6.            for (cont = 0; cont <= 9; cont++)      
  7.            {
  8.                Console.Write("Introduce el dato numero {0}: ", cont + 1);
  9.                numero[cont] = int.Parse(Console.ReadLine());
  10.            }
  11.  
  12.            suma = 0;            
  13.            for (cont = 0; cont <= 9; cont++)
  14.                suma += numero[cont];
  15.  
  16.            Console.WriteLine("Su suma es {0}", suma);
  17.            Console.WriteLine();
  18.  
  19.  
  20.                if (numero[cont] > 5000)
  21.                {
  22.                    Console.WriteLine("{0}", numero);
  23.                    Console.ReadLine();
  24.                }
  25.  
  26.  
  27.  
  28.  
  29.            Console.ReadLine();


No me marca ningun error, pero al momento de ejecutarlo ya me marca el error

Alguna sugerencia?


« Última modificación: 8 Febrero 2016, 08:16 am por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.708



Ver Perfil
Re: Ayuda con c# y arreglos
« Respuesta #1 en: 8 Febrero 2016, 08:53 am »

Cuando formules una pregunta de programación donde te da un error, como mínimo trata de mencionar el tipo de excepción exacta que te muestra el compiler y la linea donde ocurre, es un dato esencial para ahorrarle tiempo a los demás, al ayudarte y analizar el código.

Tienes un Array de 10 elementos y en .Net los índices están basados en Cero por lo que el rango accesible de índices para ese Array es 0-9, pero el valor de cont es 10, esto causa que en la condicional if (numero[cont] > 5000) se exceden los límites posibles del Array al intentar acceder a un elemento inexistente con ese índice 10.

Te sugiero hacerlo de la siguiente manera:
Código
  1. int[] values = new int[10];
  2. int sum = 0;
  3.  
  4. for (int index = 0; index <= (values.Length - 1); index++) {
  5. Console.Write("Introduce el valor [{0}]: ", index + 1);
  6. values[index] = int.Parse(Console.ReadLine());
  7. }
  8. Console.WriteLine();
  9.  
  10. for (int index = 0; index <= (values.Length - 1); index++) {
  11. sum += values(index);
  12. }
  13. Console.WriteLine("La suma de valores es: {0}", sum);
  14. Console.WriteLine();
  15.  
  16. Console.WriteLine("Valores mayores de 5.000:", sum);
  17. foreach (int value in values) {
  18. if ((value > 5000)) {
  19. Console.WriteLine("{0}", value);
  20. }
  21.  
  22. }
  23.  
  24. Console.ReadLine();

Si no se trata de ningún ejercicio, entonces te sugiero usar LINQ para simplificar el código:
Código
  1. int[] values = new int[10];
  2.  
  3. for (int index = 0; index <= (values.Length - 1); index++) {
  4. Console.Write("Introduce el valor [{0}]: ", index + 1);
  5. values[index] = int.Parse(Console.ReadLine());
  6. }
  7. Console.WriteLine();
  8.  
  9. Console.WriteLine("La suma de valores es: {0}", values.Sum());
  10. Console.WriteLine();
  11.  
  12. Console.WriteLine("Valores mayores de 5.000:");
  13. Console.WriteLine(string.Join(Environment.NewLine, from value in values where value > 5000 select value));
  14.  
  15. Console.ReadLine();

Saludos


« Última modificación: 8 Febrero 2016, 09:17 am por Eleкtro » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con arreglos
Java
Slayer_Zero 3 2,012 Último mensaje 20 Junio 2012, 08:23 am
por s00rk
Ayuda arreglos
Java
iChris 2 1,797 Último mensaje 22 Septiembre 2012, 09:07 am
por horny3
Ayuda con arreglos.
Programación C/C++
acega 8 2,216 Último mensaje 6 Marzo 2013, 02:46 am
por rir3760
Ayuda en trabajo de Arreglos/Matrices
Programación C/C++
JoseBerru 6 2,358 Último mensaje 6 Mayo 2016, 05:06 am
por WHK
Ayuda Ejercicio C++ sin usar arreglos
Programación C/C++
t4n07 3 1,438 Último mensaje 28 Junio 2016, 21:58 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines