Laden...

Ermitteln, ob die erste Zahl einer Liste am größten ist, aber bestimmten Wert ignorieren

Erstellt von wokie vor 10 Jahren Letzter Beitrag vor 10 Jahren 857 Views
Thema geschlossen
W
wokie Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren
Ermitteln, ob die erste Zahl einer Liste am größten ist, aber bestimmten Wert ignorieren

Hallo,

Ich bin noch ein C# Anfänger.
Vlt. kann mir ja jemand bei folgendem Problem helfen:

Ich möchte durch ein Zahlenarray durchloopen und herausfinden, ob der erste Wert (hier 5) kleiner oder gleich der nachfolgenden Werte ist. Dies stellt mit der foreach-Schleife kein Problem dar.
Ich möchte aber, dass die Schleife eine Ausnahme(hier 1) akzeptiert, sodass die Schleife bei meinem Beispiel nicht bei der 1 stoppt, sondern erst bei der 3.
Der Counter soll also nicht 3 sondern 6 ergeben.

Vielen Dank im Voraus!

            int[] myArr = new int[] { 5, 7, 8, 1, 10, 9 , 3 };

            int Counter = 0;

            foreach (int element in myArr)
            {
                if (myArr[0] <= element)
                    Counter++;
                else break;
            }
C
80 Beiträge seit 2010
vor 10 Jahren

Hallo wokie,

ich weiß zwar nicht, was du mit deiner Lösung erreichen willst, aber was spricht dagegen, das Array aufsteigend zu sortieren?

Einfach mit

Array.Sort()

das Array sortieren und dann sind die Elemente der Größe nach aufsteigend sortiert. Die Anzahl der Elemente wäre dann die Länge des Arrays. Außerdem ist es nicht logisch zu sagen, dass in deinem Beispiel 1 ≤ dem aktuellen Element ist, weil es einfach nicht zutrifft, d.h. du würdest dein Ergebnis verfälschen.

W
wokie Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren

Vielen Dank für deine Antwort,

In meinem Fall darf die Liste aber nicht sortiert werden.
Mir geht's wirklich definitiv um diese erste (eine) Ausnahme, die beim Schleifendurchlauf akzeptiert werden muss.

Vlt. gibt es ja doch ieine Lösung.

Vielen Dank!

C
80 Beiträge seit 2010
vor 10 Jahren

Du kannst natürlich zusätzlich einen zweiten Counter einfügen, der die Anzahl der Versuche protokolliert. Wenn dieser Counter also < 2 ist, dann gilt deine Ausnahme, ansonsten bist du definitiv beim zweiten Versuch.

W
wokie Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren

Das ist es!

Vielen Dank!

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo wokie,

einen zweiten Counter brauchst du gar nicht. Es reicht, wenn du die if-Abfrage so ergänzt, dass der Vergleichswert ungleich des Ausnahmewerts sein muss.

Das sind allerdings sehr elementare Grundlagen. Bitte beachte daher [Hinweis] Wie poste ich richtig? Punkt 1.1.1

herbivore

Thema geschlossen