3
« en: 23 de Octubre 2014, 17:51 »
Perdón, se me pasó por alto publicar la solución, les estoy muy agradecido por su ayuda.
Este problema lo solucioné de esta manera:
using System;
public class Clase_Alternante
{
private String a;
public String A
{
get { return a; }
set { a = value; }
}
public int AlternantePar()
{
int fooInt;
int fooVerificador;
int i;
int j;
int cont;
i = 0;
j = 0;
fooInt = 0;
fooVerificador = 0;
cont = 0;
for (i = 0; i < a.Length; i = i + cont)
{
for (j = i; j <= i + cont; j++)
{
fooInt = Convert.ToInt32(Convert.ToString(a[j]));
if (((cont % 2) == 1) && ((fooInt % 2) == 1))
{
fooVerificador = fooVerificador + 1;
}
else
if (((cont % 2) == 0) && ((fooInt % 2) == 0))
{
fooVerificador = fooVerificador + 1;
}
}
cont = cont + 1;
}
if (fooVerificador == a.Length) Console.WriteLine("El Número {0} Si es M-ALTERNANTE ", a);
else Console.WriteLine("El Número {0} NO es M-ALTERNANTE", a);
return 0;
}
//----------------------------------------------------------------------
public int AlternanteImpar()
{
int fooInt;
int fooVerificador;
int i;
int j;
int cont;
i = 0;
j = 0;
fooInt = 0;
fooVerificador = 0;
cont = 0;
for (i = 0; i < a.Length; i = i + cont)
{
for (j = i; j <= i + cont; j++)
{
fooInt = Convert.ToInt32(Convert.ToString(a[j]));
if (((cont % 2) == 1) && ((fooInt % 2) == 0))
{
fooVerificador = fooVerificador + 1;
}
else
if (((cont % 2) == 0) && ((fooInt % 2) == 1))
{
fooVerificador = fooVerificador + 1;
}
}
cont = cont + 1;
}
if (fooVerificador == a.Length) Console.WriteLine("El Número {0} Si es M-ALTERNANTE ", a);
else Console.WriteLine("El Número {0} NO es M-ALTERNANTE", a);
return 0;
}
}
=========================================
using System;
public class Clase_Control
{
public void Control()
{
Clase_Alternante Numero;
Numero = new Clase_Alternante();
char op;
do
{
Console.Clear();
Console.WriteLine("Ingrese un Número");
Numero.A = Console.ReadLine();
if ((Numero.A[0] % 2) == 0) // debe iniciar en par
{
Numero.AlternantePar();
}
else
{
Numero.AlternanteImpar();
}
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Desea ingresar otro Número S/N");
op = Convert.ToChar(Console.ReadLine());
} while (char.ToUpper(op) == 'S');
}
}
===========================================
using System;
public class Alternante_Main
{
public static void Main(string[] args)
{
Clase_Control Principal; // Numero debe iniciar con par
Principal = new Clase_Control();
Principal.Control();
}
}
Les estoy muy agradecido por su ayuda,
Saludos,