Está en la página 1de 2

using System;

using System.Collections.Generic;
using System.IO;

public class ContadorHuecos


{
public static void Main(string[] args)
{
ContarHuecos("numeros.txt", 0.3, 0.8);
ContarHuecos("numeros2.txt", 0.2, 0.7);
}

public static void ContarHuecos(string archivo, double alfa, double beta)


{
try
{
StreamReader reader = new StreamReader(archivo);
Dictionary<int, int> huecos = new Dictionary<int, int>();
int tamañoHuecoActual = 0;

while (!reader.EndOfStream)
{
double numero = double.Parse(reader.ReadLine());
if (numero >= alfa && numero <= beta)
{
if (tamañoHuecoActual >= 0)
{
if (huecos.ContainsKey(tamañoHuecoActual))
huecos[tamañoHuecoActual]++;
else
huecos[tamañoHuecoActual] = 1;

tamañoHuecoActual = 0;
}
}
else
{
tamañoHuecoActual++;
}
}

if (tamañoHuecoActual >= 0)
{
if (huecos.ContainsKey(tamañoHuecoActual))
huecos[tamañoHuecoActual]++;
else
huecos[tamañoHuecoActual] = 1;
}

Console.WriteLine("Resultados para " + archivo + ":");


int sumaTotal = 0;
foreach (int tamaño in huecos.Keys)
{
int cantidad = huecos[tamaño];
Console.WriteLine("Número de veces de tamaño " + tamaño + ": " +
cantidad);
sumaTotal += tamaño * cantidad;
}
Console.WriteLine("Suma total: " + sumaTotal);
reader.Close();
}
catch (FileNotFoundException)
{
Console.WriteLine("¡El archivo " + archivo + " no se encontró!");
}
catch (FormatException)
{
Console.WriteLine("¡Error al leer números del archivo!");
}
}
}

También podría gustarte