C# :: Aufgabe #312

1 Lösung Lösung öffentlich

Anzahl an Nachbar-Dupletten in einem Array

Anfänger - C# von thunderbird - 28.04.2020 um 09:38 Uhr
Es sollen die Anzahl von den Nachbar-Dubletten eines Zahlen-Arrays ermittelt werden. Die Nachbar-Dubletten sind gleiche benachbarte Zahlen in einem Array.
Es soll außerdem auf folgendes geachtet werden: Die Nachbar-Dubletten sind genau nur für zwei benachbarte Mitglieder definiert - sollte ein drittes Mitglied dabei benachbart sein, wird es nicht mitgezählt, weil es noch einen gleichen Nachbar braucht.

Beispiel:
Array = [3,3,7] : Ausgabe = 1
Array = [3,3,3] : Ausgabe = 1 (Mitglieder von Index 0 und 1 sind benachbart, Index 2 braucht auch ein Nachbar aber hat keinen)
Array = [3,3,3,3] : Ausgabe = 2
Array = [0, 3, 3, 3, 2, 7, 7, 7, 7, 3, 2, 1, 1, -2, 4, 4, 8, 9, 8, 6 ] : Ausgabe = 5

Zusatzanforderungen:
- Unter 30 Zeilen Code
- Variable Länge der Arrays
- Alle reellen Zahlen werden akzeptiert

Lösungen:

vote_ok
von Hermes_DE (80 Punkte) - 28.04.2020 um 16:33 Uhr
Ich hab das jetzt so gelöst, dass man eine beliebige Länge des Arrays eingeben kann.
Danach füllt er das Array mit zufälligen Zahlen von 0-9.

Quellcode ausblenden C#-Code
using System;
namespace NachbarDupletten
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Wie lang soll das Array sein?");
            int länge = Convert.ToInt32(Console.ReadLine());
            int[] zahlen = new int[länge]; Random random = new Random(); int paare = 0;
            for(int i = 0; i < zahlen.Length; i++)
            {
                zahlen[i] = random.Next(0,10);
                Console.Write(zahlen[i]);
            }
            for (int i = 0; i < zahlen.Length; i++) {
                try {
                    if (zahlen[i] == zahlen[i + 1])
                    {
                        paare++;
                    }
                    i++;
                }catch (Exception) { }
            }
            Console.WriteLine("\nZahlenpaare: " + paare);
        }
    }
}