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

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.
#8
vote_ok
von jingyophuong (140 Punkte) - 18.10.2015 um 22:16 Uhr
Quellcode ausblenden C#-Code
class Program
    {
        static void Main(string[] args)
        {
            //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.
            Random zahlrandom = new Random();
            Console.Write("Geben Sie die Elementanzahl von Array ein ");


            string nString = Console.ReadLine();
            int n;
            if (!int.TryParse(nString, out n) && n <= 0)
            {
                Console.WriteLine("Error ! die Anzahl muss eine ganze positive Zahl sein");
            }
            else
            {

                int[] zahlArray = new int[n];
                
            for (int i = 0; i < zahlArray.Length; i++)
            {
                zahlArray[i] = zahlrandom.Next(5);
                Console.Write(zahlArray[i] + " ");

            }
                Console.WriteLine();
                int haufigsteZahl = haufigeZa(zahlArray, n);
            Console.WriteLine("Die häufigste Element von vorgegeben Array ist: " + haufigsteZahl);
                Console.ReadKey();

            }

            
           

        }
        public static int haufigeZa( int[] array, int n)
        {
            int haufigsteZahl = 0;
            int max = 0 ;
            int[] wiederholungsAnzahl = new int[n];
          
            bool[] test = new bool[n]; 

            for (int i = 0; i < array.Length; i++)
            { if (test[i] == false)
                {
                    for (int j = i + 1; j < array.Length; j++)
                    {
                        if (array[j] == array[i])
                        {
                            wiederholungsAnzahl[i] += 1; 
                            test[j] = true;
                        }
                    }
                    if (max < wiederholungsAnzahl[i])
                    {
                        max = wiederholungsAnzahl[i];
                        haufigsteZahl = array[i];
                    }
                    
                }
           
            }
            
          

            return haufigsteZahl ; 
        }
        
    }

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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