Πρόγραμμα C ++ για ανταλλαγή αριθμών με κυκλική σειρά με χρήση κλήσης με αναφορά

Αυτό το πρόγραμμα παίρνει τρεις ακέραιους αριθμούς από τον χρήστη και τα ανταλλάσσει με κυκλική σειρά χρησιμοποιώντας δείκτες.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού C ++:

  • Δείκτες C ++
  • C ++ Call by Reference: Χρήση δεικτών (με παραδείγματα)

Τρεις μεταβλητές που εισάγει ο χρήστης αποθηκεύονται στις μεταβλητές a, b και c αντίστοιχα.

Στη συνέχεια, αυτές οι μεταβλητές μεταφέρονται στη συνάρτηση cyclicSwap(). Αντί να περάσει τις πραγματικές μεταβλητές, οι διευθύνσεις αυτών των μεταβλητών περνούν.

Όταν αυτές οι μεταβλητές ανταλλάσσονται με κυκλική σειρά στη cyclicSwap()συνάρτηση, οι μεταβλητές a, b και c στη mainσυνάρτηση ανταλλάσσονται επίσης αυτόματα.

Παράδειγμα: Πρόγραμμα ανταλλαγής στοιχείων με χρήση κλήσης με αναφορά

 #include using namespace std; void cyclicSwap(int *a, int *b, int *c); int main() ( int a, b, c; cout <> a>> b>> c; cout << "Value before swapping: " << endl; cout << "a, b and c respectively are: " << a << ", " << b << ", " << c << endl; cyclicSwap(&a, &b, &c); cout << "Value after swapping numbers in cycle: " << endl; cout << "a, b and c respectively are: " << a << ", " << b << ", " << c << endl; return 0; ) void cyclicSwap(int *a, int *b, int *c) ( int temp; temp = *b; *b = *a; *a = *c; *c = temp; )

Παραγωγή

 Εισαγάγετε τιμή a, b και c αντίστοιχα: 1 2 3 Τιμή πριν από την ανταλλαγή: a = 1 b = 2 c = 3 Τιμή μετά την ανταλλαγή αριθμών σε κύκλο: a = 3 b = 1 c = 2

Παρατηρήστε ότι δεν έχουμε επιστρέψει τιμές από τη cyclicSwap()συνάρτηση.

ενδιαφέροντα άρθρα...