>> DAVID J. MALAN: Ας υποθέσουμε ότι θέλουμε να γράψουμε ένα πρόγραμμα που ζητάει απ 'όλους στην
ένα δωμάτιο για την ηλικία τους, και στη συνέχεια εκτυπώνει πόσο παλιά αυτοί οι άνθρωποι θα είναι μια
έτους, τότε;
Τώρα, προφανώς η αριθμητική γι 'αυτό πρόβλημα πρόκειται να είναι αρκετά
απλό.
Αλλά το ενδιαφέρον ερώτημα είναι, αν δεν γνωρίζει εκ των προτέρων πόσα άτομα
πρόκειται να είναι σε αυτό το δωμάτιο, πώς θα μπορούσαμε να πάμε για την αποθήκευση
όλες τις ηλικίες τους;
Λοιπόν, ας ρίξουμε μια ματιά.
>> Ας ξεκινήσουμε με την πρώτη ειδοποίηση της χρήστη, όπως έχω κάνει εδώ, για την
αριθμός των ατόμων στο δωμάτιο, χρησιμοποιώντας getInt και ένας βρόχος do-ενώ για να
πάρετε έναν ακέραιο n.
Ας υποθέσουμε ότι θέλουμε τώρα να ζητήσει από κάθε τέτοια άτομο στο δωμάτιο για την ηλικία τους.
Λοιπόν, το ένστικτό μου θα ήταν να χρησιμοποιήσετε ένα βρόχο για να το κάνουμε αυτό με αποτέλεσμα, αλλά θεωρώ επίσης
χρειάζονται ένα μέρος για να αποθηκεύουν ηλικιών αυτών των ανθρώπων.
Και η πρώτη μου ένστικτα θα υπήρχε να χρησιμοποιήσει μια μεταβλητή για την πρώτη
την ηλικία του ατόμου, μια άλλη μεταβλητή για την ηλικία του δεύτερου ατόμου,
είδος κατά μήκος των γραμμών.
Ηλικία Int -
καλά, ας το ονομάσουμε 1 για το πρώτο πρόσωπο.
Int ηλικία των 2 ετών για το δεύτερο άτομο.
Int ηλικία 3 για το τρίτο άτομο.
>> Αλλά περιμένετε ένα λεπτό, ίσως δεν είναι αυτή ο καλύτερος δρόμος για να πάει κάτω.
Επειδή δεν ξέρω εκ των προτέρων γραφή και την κατάρτιση αυτού του προγράμματος το πώς
πολλοί χρήστες θα υπάρξουν.
Και επιπλέον, αν υπάρχει όσο 100 χρήστες, δηλώνοντας 100 μεταβλητές
είδος παραδόξως ονομάστηκε έτσι δεν αισθάνονται σαν το πολύ καλύτερο σχεδιασμό.
>> Καλά, ευτυχώς, υπάρχει ένα άλλο τύπο μεταβλητής που ονομάζεται μια σειρά που
μας επιτρέπει να αποθηκεύσετε οποιοδήποτε αριθμό ints μέσα από αυτό, ακόμη και αν δεν ξέρουμε
κατά τη σύνταξη του προγράμματος μου, πόσες όπως ints θα πάμε να χρειαστεί.
Έτσι, ας κάνουν πίσω και να διαγράψετε αυτά αρκετές ints, και αντί να αντικαταστήσει
με μια μεταβλητή που ονομάζεται, λένε, ηλικιών, στον πληθυντικό.
Αλλά ας διευκρινιστεί περαιτέρω σε αυτή τη γραμμή κώδικα σε αγκύλες ότι εμείς
θέλουν ν ints.
Και ως εκ τούτου, θα είμαστε συλλογικά αναφέρονται σε αυτές τις ints τις ηλικίες.
>> Τώρα, ακριβώς σε μια στιγμή που θα είναι σε θέση να πάρει σε καθένα από τα ints στην παρούσα συστοιχία
παρόμοια με τον τρόπο της αγκύλη σημειογραφία, ξεκινώντας από 0.
Οπότε ας προχωρήσουμε τώρα σε ένα βρόχο για να προτρέψει τους χρήστες για τις ηλικίες τους.
Για int παίρνω 0.
Ι είναι μικρότερο από το Ν, ο αριθμός των ατόμων στην αίθουσα, εγώ συν συν.
>> Και τώρα μέσα σε αυτό το βρόχο, ας πούμε printf ηλικία του ατόμου αριθμό, ποσοστό που
είναι ένα σύμβολο κράτησης θέσης, κόμμα.
Και τώρα, αντί να αρχίζουν να μετρούν από 0 στο ίδιο το πρόγραμμα, ας σε
τουλάχιστον προσαύξηση Ι κατά 1, έτσι ώστε μια κανονική άτομο που χρησιμοποιεί αυτό το πρόγραμμα
δεν πρέπει να μετράνε σαν ένα επιστήμονας υπολογιστών δύναμη.
Ας κάνουμε τώρα τις ηλικίες, βραχίονα I, έτσι διευκρινίζοντας ότι το i-οστό ηλικία μας
συστοιχία των ηλικιών πρόκειται να πάρει η τιμή επιστροφής της getInt.
>> Τώρα, κάτω από αυτό το βρόχο, ας προχωρήσουμε να υποθέσουμε ότι κάποια στιγμή περνάει.
Και ας προχωρήσουμε τώρα σε άλλο βρόχο με την ηλικία στην πραγματικότητα ο καθένας στο δωμάτιο
κατά ένα έτος.
Έτσι και πάλι, για int παίρνω 0, το Ι είναι μικρότερο από το Ν, ο αριθμός των ατόμων στην
δωμάτιο, μου συν συν.
>> Και τώρα στο εσωτερικό αυτού του βρόχου, ας πούμε printf ένα χρόνο από τώρα τον αριθμό άτομο,
τοις εκατό που είναι ένα σύμβολο κράτησης θέσης, θα να είναι, επί τοις εκατό Ι είναι ένα άλλο
κράτησης θέσης ετών.
Και στη συνέχεια να συνδέσετε σε αυτές κράτησης θέσης, ας πρώτα να πω ότι συν
1, έτσι ώστε και πάλι θα αρχίσετε να μετράτε για το χρήστη από 1.
Και τότε ας συνδέσετε την ηλικία αυτού του ατόμου ως ηλικίες βραχίονα I συν 1, με τον τρόπο αυτό
προσδιορίζοντας πάει να πάρει το i-οστό ηλικία μας συστοιχία των ηλικιών, προσθέστε 1 σε αυτό, και στη συνέχεια
εισάγετε το ποσό αυτό στο σύμβολο κράτησης θέσης μας, κοντά paren, ερωτηματικό.
>> Ας τώρα να μεταγλωττίσετε το πρόγραμμα με make ηλικίες, και ας το τρέξει με τελεία
μειώσει τις ηλικίες.
Και ας υποθέσουμε ότι υπάρχουν μόνο τρεις άτομα σε ένα δωμάτιο, και κάποιος είναι 18,
κάποιος είναι 19, κάποιος είναι 20.
Λοιπόν, σε ένα χρόνο, κάθε ένα από αυτούς τους λαούς πρόκειται να είναι 19, 20, και 21,
αντιστοίχως.