C ++ Nested Lop (mit Beispielen)

In diesem Tutorial lernen wir verschachtelte Schleifen in C ++ kennen. Wir werden lernen, verschachtelte for-, while- und do-while-Schleifen in einem Programm zu verwenden.

Eine Schleife innerhalb einer anderen Schleife wird als verschachtelte Schleife bezeichnet. Nehmen wir ein Beispiel,

Angenommen, wir möchten jeden Wochentag 3 Wochen lang durchlaufen.

Um dies zu erreichen, können wir eine verschachtelte Schleife erstellen, die dreimal (3 Wochen) wiederholt wird. Und innerhalb der Schleife können wir eine weitere Schleife erstellen, die 7 Mal (7 Tage) wiederholt wird. Beispielsweise,

Beispiel: Verschachtelt für Schleife

 // C++ program to display 7 days of 3 weeks #include using namespace std; int main() ( int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( cout << " Day:" << j << endl; ) ) return 0; )

Ausgabe

 Woche: 1 Tag: 1 Tag: 2 Tag: 3… Woche: 2 Tag: 1 Tag: 2 Tag: 3 …… 

Auf ähnliche Weise können wir verschachtelte Schleifen mit while und do … while erstellen.

Beispiel: Anzeigen eines Musters

 // C++ program to display a pattern // with 5 rows and 3 columns #include using namespace std; int main() ( int rows = 5; int columns = 3; for (int i = 1; i <= rows; ++i) ( for (int j = 1; j <= columns; ++j) ( cout << "* "; ) cout << endl; ) return 0; )

Ausgabe

 * * * * * * * * * * * * * * * * 

In diesem Programm iteriert die äußere Schleife von i == 1bis i == rows.

Die innere Schleife iteriert von j == 1bis j == columns. Innerhalb der inneren Schleife drucken wir das Zeichen '*'.

brechen Sie und setzen Sie Inside Nested Loops fort

Wenn wir eine break-Anweisung innerhalb der inneren Schleife verwenden, wird die innere Schleife beendet, nicht jedoch die äußere Schleife. Beispielsweise,

 int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( // break during the 2nd week if (i == 2) ( break; ) cout << " Day:" << j << endl; ) )

Ausgabe

 Woche: 1 Tag: 1 Tag: 2… Woche: 2 Woche: 3 Tag: 1 Tag: 2… 

Dieses Programm führt die innere Schleife nicht aus, wenn der Wert von i ist, 2dh es werden nicht die Tage der 2. Woche gedruckt. Die äußere Schleife, die die Wochen druckt, bleibt davon unberührt.

Wenn wir eine continue-Anweisung innerhalb der inneren Schleife verwenden, wird in ähnlicher Weise nur die aktuelle Iteration der inneren Schleife übersprungen. Die äußere Schleife bleibt unberührt. Beispielsweise,

 int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( // continue if the day is an odd number if (j%2 != 0) ( continue; ) cout << " Day:" << j << endl; ) )

Ausgabe

 Woche: 1 Tag: 2 Tag: 4 Tag: 6 Woche: 2 Tag: 2 Tag: 4 Tag: 6 Woche: 3 Tag: 2 Tag: 4 Tag: 6

Dieses Programm druckt nur die Tage, die gerade sind.

Immer wenn die days_in_week ungerade ist, continueüberspringt die Anweisung diese Iteration der inneren Schleife.

Interessante Beiträge...