Βρόχοι επανάληψης στη C και οι εσωτερικοί βρόχοι – Παράδειγμα
C και οι εσωτερικοί βρόχοι: Συχνά σε αλγόριθμους προγραμματισμού χρειάζεται μία εντολή επανάληψης να εκτελεστεί στον βρόχο μίας άλλης. Τότε λέμε ότι έχουμε εμφωλευμένες επαναλήψεις. Στις περιπτώσεις των εμφωλευμένων βρόχων ισχύουν οι παρακάτω κανόνες:
- Ο εσωτερικός βρόχος πρέπει να βρίσκεται ολόκληρος μέσα στον εξωτερικό. Ο βρόχος που ξεκινάει τελευταίος πρέπει να ολοκληρώνεται πρώτος.
- Η είσοδος σε κάθε βρόχο υποχρεωτικά γίνεται από την αρχή του.
- Δε μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή, ως μετρητής δύο ή περισσοτέρων βρόχων που ο ένας βρίσκεται στο εσωτερικό του άλλου.
Ας δούμε ένα παράδειγμα με δύο εμφωλευμένους βρόχους επανάληψης for
/* χρήση εξαρτημένων εσωτερικών βρόχων */ #include <stdio.h> #define GRAMMES 5 #define STILES 5 main(){ int row; char ch; for (row = 0; row < GRAMMES; row++){ for (ch = ’A’ + row; ch < ’A’ + STILES; ch++) printf(" %c", ch); printf("\n"); } }
Το αποτέλεσμα θα είναι :
ABCDE
BCDE
CDE
DE
E
Βλέπουμε, δηλ., ότι αλλάζει σε κάθε εκτέλεση του εσωτερικού βρόχου η αρχική τιμή του βρόχου αυτού, ενώ η συνθήκη ελέγχου και η αύξηση μένουν οι ίδιες.
Οι Αληθείς και οι Ψευδείς Τιμές
Ακολουθεί ένα παράδειγμα :
/* οι αληθείς και οι ψευδείς τιμές στη C */ #include <stdio.h> main(){ int true, false; true = (5 > 2); /* τιμή μιας αληθούς σχέσης */ false = (5 == 2); /* τιμή μιας ψευδούς σχέσης */ printf("αληθής = %d; ψευδής = %d \n", true, false); }