C# :: Aufgabe #102 :: Lösung #4

10 Lösungen Lösungen öffentlich
#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
vote_ok
von syzon (410 Punkte) - 22.07.2015 um 08:47 Uhr
Quellcode ausblenden C#-Code
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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2103468

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.