Μετάθεση στοιχείων πίνακα (λύση χωρίς δείκτες) στη C++
Ένα πρόγραμμα που α) διαβάζει N αριθμούς και τους τοποθετεί σε πίνακα, β) μεταθέτει τα στοιχεία του πίνακα κατά μία θέση, δηλαδή κάνει το πρώτο δεύτερο, το δεύτερο τρίτο κτλ, και το τελευταίο (που περισσεύει) το βάζει πρώτο και γ) τυπώνει τους δύο πίνακες (αρχικό και τελικό) για σύγκριση.
#include <iostream> #define NMAX 1000 using namespace std; int main() { int a[NMAX], b[NMAX]; int N, i=0; while (cin >> a[i] && i < NMAX) { i++; } N = i; b[0] = a[N-1]; for (i=1; i < N; i++) { b[i] = a[i-1]; } cout << "Result : "<< endl; cout << "i\t a[i]\t b[i]" << endl; for (i=0; i < N; i++) { cout << i << "\t " << a[i] << "\t " << b[i] << endl; } return 0; }
Μεταγλώττιση και δοκιμαστική εκτέλεση:
astavrak@zeus:~$ g++ program.cpp astavrak@zeus:~$ ./a.out 14 43 17 21 Result : i a[i] b[i] 0 14 21 1 43 14 2 17 43 3 21 17 astavrak@zeus:~$
Συνδεθείτε για περισσότερες δυνατότητες αλληλεπίδρασης,
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
Εκπαιδευτικό υλικό από τον
Αθανάσιο Σταυρακούδη
σας παρέχετε κάτω από την άδεια
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.