Hack x Crack - Comunidad de Seguridad informática

Hack x Crack => Dudas Generales => Mensaje iniciado por: SMS en Octubre 12, 2014, 06:35:31 pm

Título: Duda no se hacer este ejercicio c# (Solucionado)
Publicado por: SMS en Octubre 12, 2014, 06:35:31 pm
Ya cree un tema parecido, pero es que no me dejaban responder para aclarar el tema -.-

A ver el ejercicio me pide que inserte  5 números por consola y sumar esos 5 numeros, YO YA HICE MI CODIGO, pero por mas que intento no me sale, es decir utilizo el metodo readline para leer una linea, pero no se como guardar ese valor para luego utilizarlo y poder sumar todos los numeros, osea no se la lógica, lo maximo que e conseguido es sumar el numero anterior + 25,

El objetivo es:

¿Cuántos valores va a introducir? 5
Escriba el número 1 : 25
Escriba el número 2 : 30
Escriba el número 3 : 10
Escriba el número 4 : 14
Escriba el número 5 : 23
La suma de los números que ha escrito es 102.0

No es un ejercicio por un PROFESOR, lo busque por la web ejercicios de bucle FOR, y me encontre esta página: http://www.mclibre.org/consultar/python/ejercicios/ej_for.html

Código: [Seleccionar]
for (int x = 5, y = 0; x > y;x-- )
            {
               
                Console.Write("Cuantos numeros se va introducir ");
                string cogernumero = Console.ReadLine();
                double enteronumero = double.Parse(cogernumero);
                double pruebauno = 0;
                double numeroanterior = enteronumero + pruebauno;
                pruebauno = numeroanterior;
               
            }

Intente con esto pero tampoco...

Código: C#
  1. [code]for (int x = 5, y = 0; x > y;x-- )
  2.             {
  3.                
  4.                 double e = 5;
  5.                
  6.               if(e == 1)
  7.               {
  8.                  
  9.                 Console.Write("Escriba el numero: ");
  10.                       string cogernumerouno = Console.ReadLine();
  11.                       double enteronumerouno = double.Parse(cogernumerouno);
  12.                    if(e == 2)
  13.                  
  14.                       Console.Write("Escriba el numero: ");
  15.                       string cogernumerodos = Console.ReadLine();
  16.                       double enteronumerodos = double.Parse(cogernumerodos);
  17.                  
  18.                   if (e == 3)
  19.                  
  20.                       Console.Write("Escriba el numero: ");
  21.                       string cogernumerotres = Console.ReadLine();
  22.                       double enteronumerotres = double.Parse(cogernumerotres);
  23.                  
  24.                   if (e == 4)
  25.                  
  26.                       Console.Write("Escriba el numero: ");
  27.                       string cogernumerocuatro = Console.ReadLine();
  28.                       double enteronumerocuatro = double.Parse(cogernumerocuatro);
  29.                  
  30.                   if (e == 5)
  31.                  
  32.                       Console.Write("Escriba el numero: ");
  33.                       string cogernumerocinco = Console.ReadLine();
  34.                       double enteronumerocinco = double.Parse(cogernumerocinco);
  35.  
  36.  
  37.                       double resultado = enteronumerouno + enteronumerodos + enteronumerotres + enteronumerocuatro + enteronumerocinco;
  38.                       Console.WriteLine(resultado);
  39.                      
  40.  
  41.  
  42.               }
  43.  
[/code]
Título: Re:Duda no se hacer este ejercicio c#
Publicado por: elpre en Octubre 13, 2014, 01:14:09 am
No sé si te valdrá ya que c# no sé, pero si te sirve de algo, te lo pongo en C que funcionar, funciona. Está todo con enteros, pero bueno, que eso lo pudes modificar
Código: [Seleccionar]
#include <stdio.h>

void main()
{
   int suma=0;
   int aixiliar=0;
   int numeros;
   int numero[numeros-1];
   int i;
   printf("\nCuantos numeros vas a escribir???: ");
   scanf("%d",&numeros);
   for(i=0;i<numeros;i++)
   {
      printf("\nIntroduce el numero %d: ",i+1);
      scanf("%d",&numero[i]);
      suma=numero[i]+suma;
   }
   printf("\nLa suma es: %d\n",suma);
   system("PAUSE");
}


Por lo que veo en tu primer código dentro del for estás haciendo que cada vez que vuelva al bule pregunte por el número de sumas que vas a hacer, por lo que eso tiene que estar fuera. Luego también haces que pruebauno sea 0 cada vez quiere que el bucle vuelve por lo que numeroanterior siempre va a ser 0+enteronumero.
En cuanto al segundo código no sé muy bien lo que haces. Pones que e=5 y haces una serie de if pero no haces nada más que ir siempre al último if, el de if e=5 ya que en ningún momento cambias ese valor.
Espero que te ayude
Título: Re:Duda no se hacer este ejercicio c#
Publicado por: SMS en Octubre 13, 2014, 10:44:04 am
Exactamente... muchisimas gracias amigo, ya entendí, lo que hacia el for era siempre poner a la variable el valor 0, lo que pasa es que a lo mejor me creía que si pongo una variable fuera del FOR, no la cuenta como local, pero veo que si  :P