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:
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:
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.