Μετάθεση στοιχείων πίνακα (λύση χωρίς δείκτες) στη 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 License
Εκπαιδευτικό υλικό από τον Αθανάσιο Σταυρακούδη σας παρέχετε κάτω από την άδεια Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.