C# :: Aufgabe #102 :: Lösung #4
10 Lösungen
#102
Das Häufigste Element in einem Array
Anfänger - C#
von klhlubek19
- 16.07.2015 um 13:46 Uhr
Schreiben Sie ein Programm, das aus einem Array das häufigste Element findet. Sollte es mehrere gleicher Anzahl finden, so darf irgend ein Element dieser Häufigsten ausgegeben werden.
#4
von syzon (410 Punkte)
- 22.07.2015 um 08:47 Uhr
using System;
namespace Häufigstes_Element_im_Array
{
class Program
{
static void Main(string[] args)
{
//Einlesen der Größe des Arrays
int anzahlElemente;
Console.WriteLine("Bitte die Anzahl der Elemente des Arrays angeben: ");
while (!int.TryParse(Console.ReadLine(), out anzahlElemente))
Console.WriteLine("Bitte eine Ganzzahl eingeben!");
//Randomarray erstellen
var random = new Random();
var stringChars = new char[anzahlElemente];
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (int i = 0; i < stringChars.Length; i++)
{
stringChars[i] = chars[random.Next(chars.Length)];
}
//Feststellung Häufigkeit
string[,] häufigkeitArray = new string[anzahlElemente, 2];
for (int i = 0; i < anzahlElemente; i++)
{
häufigkeitArray[i, 0] = Convert.ToString(stringChars[i]);
häufigkeitArray[i, 1] = "1";
}
for (int i = 0; i < anzahlElemente - 1; i++)
{
for (int j = 0; j < anzahlElemente - 1; j++)
{
if (häufigkeitArray[i, 0].Equals(häufigkeitArray[j + 1, 0]))
{
häufigkeitArray[i, 1] += "1";
}
}
}
//Feststellung häufigstes Element
string häufigstesElement = "";
int anzahlHäufigstesElement = 0;
for (int i = 0; i < häufigkeitArray.GetLength(0) - 1; i++)
{
if (häufigkeitArray[i, 1].Length > anzahlHäufigstesElement)
{
anzahlHäufigstesElement = häufigkeitArray[i, 1].Length;
häufigstesElement = häufigkeitArray[i, 0];
}
}
//Ausgabe
Console.WriteLine("Die Anzahl der generierten Elemente beträgt: " + anzahlElemente + ".");
Console.WriteLine("Das am häufigsten vorkommende Element des Arrays ist: " + häufigstesElement + ".");
Console.WriteLine("Dieses Element kommt " + anzahlHäufigstesElement + " mal vor.");
Console.ReadLine();
}
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
