Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Sixtoex en 14 de Octubre 2014, 13:35

Título: Ejercicio c# obtener los divisores de un número entero
Publicado por: Sixtoex en 14 de Octubre 2014, 13:35
Bueno todavía no he dado los Arrays y creo que lo que quiero hacer, solamente se puede hacer con arrays, pero quiero saber si estoy en lo cierto :P

Escriba un programa que pida un número entero mayor que cero y que escriba sus divisores.

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace mispruebas2
{
    class Program
    {
        static void Main(string[] args)
        {

Console.Write("Dime el primer numero entero: ");
                string leerlineauno = Console.ReadLine();
                int convertirenterouno = int.Parse(leerlineauno);
                int resultado;
               
               

                for (int i = 1; i <= convertirenterouno;i++ )
                {
                    if (i <= convertirenterouno)
                    {
                        resultado = convertirenterouno % i;

                        if (resultado == 0)
                        {
                            Console.Write(" "+i+" ");
                           
                           
                        }
                        if(convertirenterouno < 0)
                        {

                            Console.WriteLine("¡Le he pedido un número entero mayor que cero!");
                        }
                       
                       
                        }
 

                    }
                   
                   
                }
                 
                }
        }

Es decir todo muy bien, pero si modifico esta línea:
Código: [Seleccionar]
Console.Write(" "+i+" ");y la cambio por esta:
Código: [Seleccionar]
Console.Write("Los divisores de"+convertirenterouno+"son "+i);Se repite la frase muchas veces (obvio) y yo lo que quiero es que solo se repita una vez es decir que si ingreso en la consola un valor de 200, quede así:

Los divisores de 200 son 1 2 4 5 8 10 20 25 40 50 100 200

Saludos y gracias :P
Título: Re:Duda Ejercicio c# divisores
Publicado por: Ogramar en 14 de Octubre 2014, 14:23
Hola, te recomendaría que siguieras este curso haciendo los ejercicios que se proponen en la parte de pseudocódigo en C# y saltándote la parte de tablas de decisión, creo que te puede ser de buena ayuda: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Para el programa que propones lo que creo que habría que hacer es lo siguiente:

La línea if(convertirenterouno < 0){Console.WriteLine("¡Le he pedido un número entero mayor que cero!");} ponerla fuera del bucle (antes del bucle)

Añadir el mensaje "Los divisores del número son: " antes del bucle (de esta manera sólo se te mostrará una vez).

Quedaría como esto:

Código: [Seleccionar]
Console.Write("Dime el primer numero entero: ");
string leerlineauno = Console.ReadLine();
int convertirenterouno = int.Parse(leerlineauno);
int resultado;
               
if(convertirenterouno < 0){Console.WriteLine("¡Le he pedido un número entero mayor que cero!");}
else {Console.WriteLine("Los divisores de"+convertirenterouno+"son: "); }

for (int i = 1; i <= convertirenterouno;i++ )            {
    if (i <= convertirenterouno)            {
        resultado = convertirenterouno % i;

                        if (resultado == 0)  { Console.Write(" "+i+" "); }
                        }
                    }
Título: Re:Duda Ejercicio c# divisores
Publicado por: Sixtoex en 14 de Octubre 2014, 14:38
 :D :D :D :D :D :D jajajjaaj

Enserio, no veo lo mas fácil   ;D ;D ;D ;D


Gracias :P