(C++) For-Schleifenoperator. Musteraufgabe


Ziel
Finde die Summe aller Zahlen von 100 bis 500.

Wir schreiben ein Programm, das diese Herausforderung erfüllt, ohne die Formel zu verwenden. Wenn wir nur die Ergebnisse der Veränderung aufzeichnen. sz.
\(s=100+101+102+103+...+500\)

Wir werden viel Zeit auf dem Datensatz verbringen, weil der Computer nicht versteht, wie man viele Dinge in arithmetischen Begriffen verwendet, und wir müssen alle Zahlen von 100 bis 500 schreiben. Und der Wert eines solchen Programms wird vernachlässigbar sein. Vor allem, wenn wir unsere Zahlen ändern und eine andere Reichweite nehmen wollen.

Was machen wir?
Wenn wir auf die Platte oben aufmerksam machen, verwenden wir immer den Stack.+"
Sie können versuchen, Zahlen in die Variable hinzuzufügen. s nach und nach. Beispielsweise mit einem solchen Datensatz
s = s + i
Was haben wir getan:
(1) Auf der rechten Seite legen wir den Ausdruck fest s + iIch meine, wir nehmen die Bedeutung der Variablen. sund den variablen Wert hinzufügen i;
(2) Auf der linken Seite setzen wir den Namen der Variablensd.h. die gesamte richtige Berechnung bleibt in der gleichen Variable s, so werden wir die Bedeutung der Variablen ändern s
Nur die Bedeutung der Variable ändern i im richtigen Bereich. Dies kann durch den Zyklus geschehen for
Die Zahlen von 100 bis 500, die in unserem Bereich liegen, sollten auf der Linie zur Variable sein. i
Beispiel
Komm schon! Zu Beginn sollte die Variable s aufgehoben werden,
/ Im ersten Schritt wird die Zahl 100 zu Null addiert,
- Nicht die Erinnerung!
s = 0;
für (i = 100; i Ø = 500; i++++) / Zykluslinie, in welcher Größe i
s = s + i; // ändert seinen Wert von 100 auf 500 Schritt 1,
/ im Körper des Zyklus allmählich zu verändern s,
// den Wert der Variablen i,
/ und Ergebnis zurück zur Variablen s

Diese Entscheidung ist sehr ähnlich wie die Berechnung der Aktionsmenge:
= 0 + 100 = 100 \ s = 100 + 101 = 201, \ s = 201 + 102 = 303 \ \ \ \ \ \ \ \ \ \ \ \

Maximale Anzahl der Fälle

Als wir den Bewährungshelfer studierten, haben wir das Thema aufgeworfen, die maximale Anzahl von mehreren Chiels zu finden. Wir nutzten den folgenden Algorithmus in der Aufgabe von Maxim aus vier Zahlen:
1. Variablenwert zuordnen M Die erste der vier Variablen;
2. Ist der Wert der zweiten Größe größer als der der Größe Mum die Variable zu ersetzen die zweite Variable;
3. Ist der Wert der dritten Größe größer als der der Größe Mum die Variable zu ersetzen M die dritte Variable;
4. wenn die vierte Größe größer als die Größe ist Mum die Variable zu ersetzen die vierte Variable.

Es ist klar, dass jede Zahl (für sie markiert) XWir haben die Variable verglichen. Mwie folgt:
Pseudocod
Einführung X
Wenn (M-Kanal X),
M = X

Der Schlüssel zu diesem Code ist zu bestimmen, was die Variable die primäre Bedeutung hat. M
In der Regel, in der Aufgabe, ein Maximum oder Minimum zu finden, der Primärwert der Größe M Entsprechend der gleichen ersten Nummer.
So muss der obige Code 1 mal weniger als die Anzahl der Zahlen implementiert werden (d.h. die erste Zahl sollte als primärer Variablenwert eingeführt und beibehalten werden. M)
Wenn wir eine Reihe von Zahlen von der Tastatur kommen (z.B. AC) nWir können einen Zyklus organisieren.от 2 до ndie gleiche Variable verwenden, um die Nummer zu speichern.

Versuchen Sie, ein Programm auf eigene Faust zu schreiben.

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.

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.