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