C ++ Nested Lop (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθουμε για ένθετους βρόχους στο C ++. Θα μάθουμε να χρησιμοποιούμε ένθετα για, ενώ και κάνουμε… ενώ βρόχους σε ένα πρόγραμμα.

Ένας βρόχος εντός ενός άλλου βρόχου ονομάζεται ένθετος βρόχος. Ας πάρουμε ένα παράδειγμα,

Ας υποθέσουμε ότι θέλουμε να περάσουμε κάθε μέρα της εβδομάδας για 3 εβδομάδες.

Για να το επιτύχουμε, μπορούμε να δημιουργήσουμε έναν ένθετο βρόχο για να επαναλάβουμε τρεις φορές (3 εβδομάδες). Και μέσα στο βρόχο, μπορούμε να δημιουργήσουμε έναν άλλο βρόχο για επανάληψη 7 φορές (7 ημέρες). Για παράδειγμα,

Παράδειγμα: Ένθετο για βρόχο

 // 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; )

Παραγωγή

 Εβδομάδα: 1 Ημέρα: 1 Ημέρα: 2 Ημέρα: 3… Εβδομάδα: 2 Ημέρα: 1 Ημέρα: 2 Ημέρα: 3…… 

Μπορούμε να δημιουργήσουμε ένθετους βρόχους με ενώ και να κάνουμε… ενώ με παρόμοιο τρόπο.

Παράδειγμα: Εμφάνιση μοτίβου

 // 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; )

Παραγωγή

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

Σε αυτό το πρόγραμμα, ο εξωτερικός βρόχος επαναλαμβάνεται από i == 1έως i == rows.

Ο εσωτερικός βρόχος επαναλαμβάνει από j == 1προς j == columns. Μέσα στον εσωτερικό βρόχο, εκτυπώνουμε τον χαρακτήρα '*'.

σπάστε και συνεχίστε Inside Nested Loops

Όταν χρησιμοποιούμε μια δήλωση διακοπής μέσα στον εσωτερικό βρόχο, τερματίζει τον εσωτερικό βρόχο αλλά όχι τον εξωτερικό βρόχο. Για παράδειγμα,

 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; ) )

Παραγωγή

 Εβδομάδα: 1 Ημέρα: 1 Ημέρα: 2… Εβδομάδα: 2 Εβδομάδα: 3 Ημέρα: 1 Ημέρα: 2… 

Αυτό το πρόγραμμα δεν εκτελεί τον εσωτερικό βρόχο όταν η τιμή του i είναι 2δηλαδή δεν εκτυπώνει τις ημέρες της 2ης εβδομάδας. Ο εξωτερικός βρόχος που εκτυπώνει τις εβδομάδες δεν επηρεάζεται.

Ομοίως, όταν χρησιμοποιούμε μια δήλωση συνέχισης μέσα στον εσωτερικό βρόχο, παραλείπει την τρέχουσα επανάληψη του εσωτερικού βρόχου μόνο. Ο εξωτερικός βρόχος δεν επηρεάζεται. Για παράδειγμα,

 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; ) )

Παραγωγή

 Εβδομάδα: 1 Ημέρα: 2 Ημέρα: 4 Ημέρα: 6 Εβδομάδα: 2 Ημέρα: 2 Ημέρα: 4 Ημέρα: 6 Εβδομάδα: 3 Ημέρα: 2 Ημέρα: 4 Ημέρα: 6

Αυτό το πρόγραμμα εκτυπώνει μόνο εκείνες τις ημέρες που είναι ακόμη.

Όποτε το days_in_week είναι περίεργο, η continueδήλωση παραλείπει την επανάληψη του εσωτερικού βρόχου.

ενδιαφέροντα άρθρα...