Module: (C++) For-Schleifenoperator. Musteraufgabe


Problem

10 /16


Das Minimum ist nicht von allen

Theory Click to read/hide

Maximal nicht alle

Wenn wir das Maximum (Minimum) nicht unter allen Eingangszahlen finden müssen, sondern nur unter den Zahlen, die eine bestimmte Bedingung erfüllen, muss berücksichtigt werden, dass die erste Zahl, die wir für den Primärwert des Maximums (Minimum) nehmen, nicht immer unseren Anforderungen entspricht.

Wenn wir beispielsweise die maximale negative Zahl suchen, mit einem Datensatz: Wir bekommen maximal 5 zu Beginn und es ist positiv und negativ. Und daher die Bedingung X > M Es wird immer falsch sein.

Infolgedessen reicht es im Algorithmus der vorherigen Aufgabe nicht aus, eine Überprüfung der negativen Zahl hinzuzufügen, sondern zu berücksichtigen, dass die erste Zahl die erforderliche Bedingung (in diesem Fall negativ) nicht erfüllen kann.

Dies kann durch Hinzufügen der folgenden Bedingungen innerhalb des Zyklus korrigiert werden:

Pseudocod
Ist X negativ,
Wenn M grad = 0 oder M À X,
M = X

Im CodeM >= 0 LeistungM = Х auch wenn zunächst variabel Es gab einen Wert, der bekanntermaßen größer ist als die anderen (in unserem Beispiel der Wert von gleich 5).

Ist der Bereich der Änderungen in den Zahlen bekannt, so kann die minimale (maximale) Anzahl des angegebenen Bereichs als Startwert des Maximums (mindestens) herangezogen werden.

Problem

Die Zahl N und eine Sequenz von N Zahlen. Es ist notwendig, eine minimale gerade Zahl unter den angegebenen N Zahlen abzuleiten.

Eingabe
In der ersten Zeile wird die Zahl N eingegeben - die Anzahl der Zahlen.  (\(N<=100\)). Als nächstes kommen N Zahlen nacheinander pro Zeile (alle Zahlen sind ganze Zahlen, die Modulo 10 000 nicht überschreiten). Unter N Zahlen gibt es mindestens eine gerade Zahl.

Ausgabe
Zeigt eine minimale gerade Zahl unter allen N Zahlen an.

 

Beispiele
Eingabe Ausgabe
1 5
-2
1
2
3
0
-2