Gå till innehållet

Lösningsförslag till uppgift 5.23

int[] tal = { 1, 2, 2, 3, 3};

int maxAntal = 0;

// Ta reda på hur många gånger det vanligaste talet förekommer
for (int i = 0; i < tal.Length; i++)
{

    // Hur många gånger finns talet i arrayen?
    int antal = 0;
    for (int j = 0; j < tal.Length; j++)
    {
        if (tal[i] == tal[j])
        {
            antal++;
        }
    }
    if (antal > maxAntal)
    {
        maxAntal = antal;
    }
}

Console.WriteLine("Följande tal är vanligast:");
// Kolla vilka tal som förekommer maxAntal gånger
for (int i = 0; i < tal.Length; i++)
{
    bool taletFinnsTidigare = false;

    // Skriv bara ut talet första gången
    for (int j = 0; j < i; j++)
    {
        if (tal[i] == tal[j])
        {
            taletFinnsTidigare = true;
            break;
        }
    }
    if (taletFinnsTidigare)
    {
        continue;
    }

    // Hur många gånger finns talet i arrayen?
    int antal = 1;
    for (int j = i + 1; j < tal.Length; j++)
    {
        if (tal[i] == tal[j])
        {
            antal++;
        }
    }

    if (antal == maxAntal)
    {
        Console.WriteLine(tal[i]);
    }
}