Foros del Web » Programación para mayores de 30 ;) » .NET »

Ayuda con código c#

Estas en el tema de Ayuda con código c# en el foro de .NET en Foros del Web. Hola a todos, necesito una ayuda para el siguiente problema, estoy recien empezando con esto d ela programación y tengo esta problema que dbo resolver ...
  #1 (permalink)  
Antiguo 03/02/2011, 18:20
 
Fecha de Ingreso: febrero-2011
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Mensaje Ayuda con código c#

Hola a todos,

necesito una ayuda para el siguiente problema, estoy recien empezando con esto d ela programación y tengo esta problema que dbo resolver el enunciado dice:

haber si ustedes me pueden ayudar.


Un número tiene dígitos en aumento, si cada dígito es mayor o igual que el dígito que está a su izquierda, por ejemplo 45579. Hay exactamente 219 números con dígitos en aumento entre 1 y 999. ¿Cuantos números con dígitos en aumento hay entre 1 y 999.999?.


si alguien pudiese ayudarme, tengo este código en C# pero el resultado me da 495



static void Main(string[] args)
{
int i, j, contador = 0, digder = 0, digizq = 0, sw = 0;
int final = 999;
string aux;
for (i = 1; i <= final; i++)
{
aux = Convert.ToString(i);
if (aux.Length > 1)
{
for (j = 1; j < aux.Length; j++)
{
digder = Convert.ToInt32(aux.Substring(aux.Length - j, 1));
digizq = Convert.ToInt32(aux.Substring(aux.Length - (j + 1), 1));
if (digder >= digizq) sw = 1;
else sw = 0;
}

if (sw == 1) contador++;
}





Saludos!
  #2 (permalink)  
Antiguo 04/02/2011, 08:37
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 16 años, 3 meses
Puntos: 22
Respuesta: Ayuda con código c#

El problema que veo es como obtienes el digito de la derecha y el de la izquierda, yo lo haria de la siguiente manera
Código C#:
Ver original
  1. digder = Convert.ToInt32(aux.Substring(j, 1));
  2. digizq = Convert.ToInt32(aux.Substring(j - 1, 1));

Saludos
  #3 (permalink)  
Antiguo 04/02/2011, 11:28
 
Fecha de Ingreso: febrero-2011
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Ayuda con código c#

Tema Solucionado gracias a mi amigo Heimish2000, el Código es el Siguiente:


static bool CompruebaNumero (String num)
{
bool esCreciente = true;
int j = 1;
int digder = 0, digizq = 0

while ((esCreciente) && (j<num.Length))
{
digder = Convert.ToInt32(num.Substring(j, 1));
digizq = Convert.ToInt32(num.Substring((j - 1), 1));
if (digder < digizq)
{
esCreciente = false;
}
j++;
}

return esCreciente;
}

static void Main(string[] args)
{
int i, contador = 0;
int final = 999;
string aux;

for (i = 1; i <= final; i++)
{
aux = Convert.ToString(i);
if (CompruebaNumero(aux))
contador++;
}
}


Gracias por responder de todas formas

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:32.