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
-
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.
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: Console.Write(" "+i+" ");y la cambio por esta: 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
-
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:
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+" "); }
}
}
-
:D :D :D :D :D :D jajajjaaj
Enserio, no veo lo mas fácil ;D ;D ;D ;D
Gracias :P