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

Σε αυτό το σεμινάριο, θα μάθουμε για ένθετους βρόχους στο C ++ με τη βοήθεια παραδειγμάτων. Θα μάθουμε επίσης για το διάλειμμα και θα συνεχίσουμε στο Nested Loop.

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

Ας υποθέσουμε ότι θέλουμε να περάσουμε κάθε μέρα της εβδομάδας για 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; )

Παραγωγή

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

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

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

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

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

Παράδειγμα: διάλειμμα Inside Nested Loops

 #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) ( // break during the 2nd week if (i == 2) ( break; ) cout << " Day:" << j << endl; ) ) )

Παραγωγή

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

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

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

Παράδειγμα: συνέχεια στο Inside Nested Loops

 #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) ( // 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δήλωση παραλείπει την επανάληψη του εσωτερικού βρόχου.

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