Οι πίνακες είναι μια απλή και αποτελεσματική μορφή παραγγελίας αποθήκευσης δεδομένων. Χρησιμοποιούνται σχεδόν σε κάθε πρόγραμμα υπολογιστή. Στις περισσότερες περιπτώσεις, οι πληροφορίες σε αυτές δημιουργούνται κατά τη λειτουργία της εφαρμογής. Αλλά μερικές φορές πρέπει να εισαγάγετε έναν πίνακα, έχοντας λάβει δεδομένα από τη μία ή την άλλη πηγή.
Απαραίτητη
- - πρόγραμμα επεξεργασίας κειμένου ή IDE ·
- - Μεταγλωττιστής C ++.
Οδηγίες
Βήμα 1
Εισαγάγετε έναν πίνακα που ζητά δεδομένα από τον χρήστη. Υπολογίστε ή ζητήστε τον αριθμό των στοιχείων που θέλετε να εισαγάγετε. Δημιουργήστε μια σειρά από το απαιτούμενο μέγεθος. Προσθέστε έναν βρόχο στην επιθυμητή θέση στον κώδικα προγράμματος για να επαναλάβετε όλα τα στοιχεία. Σε έναν βρόχο, ρωτήστε τα δεδομένα για κάθε στοιχείο, ελέγχοντας αν η είσοδος είναι σωστή. Μπορούν να χρησιμοποιηθούν διάφορα μέσα για την εκτέλεση της εισαγωγής δεδομένων. Η χρήση των λειτουργιών σάρωσης και wscanf της βιβλιοθήκης C είναι ο κλασικός τρόπος. Ωστόσο, αυτές οι λειτουργίες δεν είναι ασφαλείς. Μια υπερχείλιση buffer μπορεί να οδηγήσει σε σφάλμα ασφαλείας. Οι ροές C ++ παρέχουν βολική και ασφαλή είσοδο, αλλά έχουν επίσης μειονεκτήματα. Το απλούστερο παράδειγμα πλήρωσης ενός πίνακα χρησιμοποιώντας ένα τυπικό αντικείμενο εισαγωγής μπορεί να μοιάζει με αυτό: int aNumbers [10] για (int i = 0; i <10; i ++) {std:: cout
Βήμα 2
Εισαγάγετε τον πίνακα από το αρχείο. Χρησιμοποιήστε μορφοποιημένες συναρτήσεις εισαγωγής (fscanf, fwscanf) και ροή αντικειμένων (όπως ifstream) για να εφαρμόσετε απλούς αλγόριθμους ανάγνωσης. Παρακολούθηση σφαλμάτων εισαγωγής με τις κακές, αποτυχημένες, καλές μεθόδους κατάστασης κατά τη χρήση ροών. Ένα απλό παράδειγμα ανάγνωσης δεδομένων από ένα αρχείο μπορεί να μοιάζει με αυτό: int aNumbers [10]; std:: ifstream oFileStream ("filename.txt"); if (! oFileStream.fail ()) {για (int i = 0; (i> aNumbers ;} other std:: cout
Βήμα 3
Εισαγάγετε τον πίνακα απευθείας στον κωδικό προγράμματος ως στατικά δεδομένα. Χρησιμοποιήστε τις κυριολεκτικές σειρές για να αρχικοποιήσετε τις αντίστοιχες μεταβλητές. Για παράδειγμα, ένας πίνακας τιμών int απροσδιόριστου μήκους, το οποίο είναι ένα στατικό μέλος της κλάσης και δηλώνεται ως: class CMyClass {… static const int m_anMyArray; …}; Πρέπει να αρχικοποιηθεί ως εξής: const int CMyClass:: m_anMyArray = {10, 20, 30, 40}; Χρησιμοποιώντας αυτήν τη μέθοδο, μπορείτε να εισαγάγετε πίνακες δομών οποιασδήποτε πολυπλοκότητας στον πηγαίο κώδικα των προγραμμάτων.