Gå til indholdet

N188 Summering: Find Række

Du har en fil med kommaseparerede tal, hvor hver linje repræsenterer en række af tal. Din opgave er at skrive et C#-program, der læser denne fil og finder den række, som har det højeste gennemsnit af tal.

Eksempel på filindhold:

1,4,5
5,6,3
2,3,4

Gem filen i eksempelvis c:\temp\data.csv.

Forventet Output:
Programmet skal udskrive linjenummeret og det højeste gennemsnit. For ovenstående eksempel vil output være:

Række 2 har det højeste gennemsnit: 4.66667

Retningslinjer: 1. Læs hver linje i filen som en string. 2. Opdel hver linje i enkelte tal ved at bruge kommaet som separator. 3. Konverter disse tal fra string til int og beregn gennemsnittet for hver række. 4. Gem det højeste gennemsnit og tilhørende rækkenummer undervejs i læsningen. 5. Efter alle linjerne er blevet læst og behandlet, udskriv rækkenummeret og det højeste gennemsnit.

Tip

Brug File.ReadAllLines til at læse filen og string.Split til at opdele hver linje.

Klik for at se et forslag til en løsning
string filePath = "c:\\temp\\data.txt";
var lines = File.ReadAllLines(filePath);
double highestAverage = 0;
int lineNumber = 0;

for (int i = 0; i < lines.Length; i++)
{
    var numbers = lines[i].Split(',');
    double sum = 0;
    foreach (var num in numbers)
    {
        sum += double.Parse(num);
    }
    double average = sum / numbers.Length;
    if (average > highestAverage)
    {
        highestAverage = average;
        lineNumber = i + 1;
    }
}

Console.WriteLine($"Række {lineNumber} har det højeste gennemsnit: {highestAverage}");

Denne kode læser en fil, opdeler hver linje i tal, beregner gennemsnittet for hver linje og finder det højeste gennemsnit. Husk at erstatte filePath med den faktiske sti til din fil.