.
else if (strOpcionElegida == "C")
{
Console.Write("Digite número entre 2 y 5000:\n");
string strNum = "";
strNum = Console.ReadLine();
int iNum = int.Parse(strNum);
if ((iNum < 2) || (iNum > 5000))
{
Console.Write("ERROR: número fuera del rango.\n");
}
else
{
//El numero está dentro del rango
int[] Fibonacci = new int[iNum];
Fibonacci[0] = 0;
Fibonacci[1] = 1;
int iElementoActual = 0;
int i = 2;
bool bYaCompletoVectorFibonacci = false;
while (bYaCompletoVectorFibonacci != true) //OJO: Cambié la lógica de la pregunta del while, porque (como lo dejamos en clase) me estaba insertado un elemento adicional.
{
iElementoActual = Fibonacci[i - 1] + Fibonacci[i - 2];
if (iElementoActual > iNum)
{
bYaCompletoVectorFibonacci = true; //Esto hará que se rompa el ciclo.
}
else //iElementoActual sigue siendo menor o igual, entonces lo asigno al vector (entonces, OJO: Solo asigno al vector si es menor o igual al límite leído).
{
Fibonacci[i] = iElementoActual;
i++;
}
} //while
//En este punto, la variable i, tiene la cantidad de elementos, entonces,
//declararé un vector de solo esos elementos (para que no me queden posiciones sobrantes).
int[] VectorFibonacciFILTRADO = new int[i];
//Y ahora lo lleno.
for (int v = 0; v < i; v++)
{
VectorFibonacciFILTRADO[v] = Fibonacci[v];
Console.Write("Elemento [" + v.ToString() + "]=" + VectorFibonacciFILTRADO[v].ToString() + "\n");
}
Console.Write("Presione una tecla para continuar (regresar al menú)...\n");
Console.ReadKey();
}//if-else
} //if con opciones de menú leídas (A, C, S).
} //Ciclo principal (while) que controla el menú
COMPARTIR