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


Problem

13 /16


Zweites Hoch

Theory Click to read/hide

Ziel

Dano N Meißel. Finden Sie das zweitgrößte maximale Sequenzelement.

Diese Aufgabe ermöglicht zwei Interpretationen.
Wie, wenn wir eine Reihe von Zahlen bekommen: - Ja.Was ist die Antwort?
Durch "das zweitgrößte Element" oder einfach "das zweite Maximum" können Sie verstehen:
(1) Der Wert, der an der vorletzten Stelle wäre, wenn wir alle Bedeutungen auf der Standardeinstellung (je mehr oder gleich der vorherigen) gesetzt (verschieden) hätten. Die Antwort wäre dann 35 für den Auswahlprozess;
(2) der Wert des Elements, der größer als das Maximum ist. Dann ist die Antwort 20.
Wenn es nur ein maximales Element in der Reihe der Zahlen (alle andere als die andere), überschneiden sich beide Interpretationen und die Antwort wird für beide Fälle gleich sein, andernfalls wird die Antwort anders sein.

Mal sehen. Pseudocid)
Zwei Variablen werden verwendet, um die Antwort zu finden:
(1) максимум1 Maximaler Wert (erstes Maximum)
(2) максимум2 - Zweite max.

Ist der Änderungsbereich bekannt, so wird als Ausgangswerte (z.B. in einem Bereich von -1000 vor 1000 - Nimm die Nummer. -1001)
Ist der Bereich nicht bekannt, so können die ersten beiden Eingangszahlen in den Ausgangsgrößen aufgezeichnet werden. максимум1 und максимум2und dann diese beiden Variablen vergleichen.
Einführung N // Anzahl der Nummern
Einführung a, b
Maximal 1 = a
Maximal 2 = b
Wenn Lüftung a,
Maximal 1 = b
maximal2 = a

Als nächstes werden alle anderen Elemente berücksichtigt (die ersten beiden haben bereits geschaut, also beginnen wir mit dem 3.)
für i von 3 bis n
Einleitung
wenn ein Entlüftungsmaximum1 // größer ist 1
♪
Maximum2 = Maximum1 / ehemalige erste max
Maximum1 = a / erstes Maximum
Andere
/ Wechselelement höchstens 1
/ sie wird mit dem Maximum verglichen2
wenn eine Zeile maximal 2
♪
Maximum2 = a / akzeptieren Sie es als neues Maximum 2
/ max1 in diesem Fall
Alle
Alle
Knospen

Versuchen Sie diesen Algorithmus auf eigene Faust.

Problem

Dan. N Kitty. Finden Sie das zweitgrößte maximale Sequenzelement (das Element, das vorgeschaltet wäre, wenn die Eingabedaten durch Nichtabsicht klassifiziert würden).

Eingangsdaten
Nummer in Zeile 1 N (seufzt)- Ja.Nächster. N Zeilen in jeder Zeile einer ganzen Zahl von höchstens 105. Ich bin an der Form.

Ausgangsdaten
Lösen Sie das zweite maximale Element.

Beispiele
NeinEingangsdatenAusgangsdaten
17
10.
15
20
35.
14
35.
10.
35.
25.
10.
5.
7
11)
ANHANG
10.