23 Ιουνίου, 2024

Βοηθητικές ασκήσεις C++

Άσκηση C++: Αντιστροφή συμβολοσειράς

C++ programming exercises

Αντιστροφή συμβολοσειράς

Κώδικας:

#include <iostream>
#include <string>

std::string reverseString(const std::string& str) {
    std::string reversed;
    
    for (int i = str.length() - 1; i >= 0; i--) {
        reversed += str[i];
    }
    
    return reversed;
}

int main() {
    std::string input;
    std::cout << "Εισαγάγετε μια συμβολοσειρά: ";
    std::getline(std::cin, input);
    
    std::string reversedString = reverseString(input);
    std::cout << "αντίστρεφετε η συμβολοσειρά: " << reversedString << std::endl;
    
    return 0;
}

Εξήγηση:

Σε αυτή την άσκηση, έχουμε την αποστολή να αντιστρέψουμε μια δεδομένη συμβολοσειρά. Ορίζουμε μια συνάρτηση reverseString που λαμβάνει ως παράμετρο μια σταθερή αναφορά σε μια συμβολοσειρά.

Μέσα στη συνάρτηση, δημιουργούμε μια κενή συμβολοσειρά αντίστροφη για να αποθηκεύσουμε την αντίστροφη συμβολοσειρά. Επαναλαμβάνουμε τη συμβολοσειρά εισόδου ξεκινώντας από τον τελευταίο χαρακτήρα και προσθέτουμε κάθε χαρακτήρα στην αντίστροφη συμβολοσειρά χρησιμοποιώντας τον τελεστή +=.

Μόλις ολοκληρωθεί ο βρόχος, έχουμε αντιστρέψει τη συμβολοσειρά. Επιστρέφουμε την αντίστροφη συμβολοσειρά από τη συνάρτηση.

Στην κύρια συνάρτηση, ζητάμε από τον χρήστη να εισαγάγει μια συμβολοσειρά χρησιμοποιώντας std::getline και να την αποθηκεύσει στη μεταβλητή εισόδου. Στη συνέχεια, καλούμε τη συνάρτηση reverseString, περνώντας στη συμβολοσειρά εισόδου. Η συνάρτηση επιστρέφει την αντίστροφη συμβολοσειρά, την οποία αποθηκεύουμε στη μεταβλητή reversedString.

Τέλος, εκτυπώνουμε την αντίστροφη συμβολοσειρά χρησιμοποιώντας το std::cout για να εμφανίσουμε το αποτέλεσμα.

Αυτή η άσκηση είναι ένα απλό παράδειγμα χειρισμού συμβολοσειρών στη C++. Βοηθά στην εξάσκηση στην εργασία με συμβολοσειρές, στην αναζήτηση χαρακτήρων και στη χρήση συνένωσης συμβολοσειρών για την αντιστροφή της συμβολοσειράς.

Το αποτέλεσμα θα είναι:

Εισαγάγετε μια συμβολοσειρά: Hello, World!
αντίστρεφετε η συμβολοσειρά: !dlroW ,olleH

Αφήστε το σχόλιο σας