Η C++ περιέχει παραδείγματα

E C Periechei Paradeigmata



Ο τύπος δεδομένων συμβολοσειράς στη C++ μας επιτρέπει να εφαρμόσουμε πολλές συναρτήσεις για να εκτελέσουμε διάφορες δραστηριότητες με τις συμβολοσειρές. Το αν η υποσυμβολοσειρά περιέχεται ή όχι στην αρχική συμβολοσειρά μπορεί να προσδιοριστεί ελέγχοντάς την. Η γλώσσα C++ μας διευκολύνει με διάφορες συναρτήσεις που βοηθούν να βρούμε αν η συμβολοσειρά περιέχει την υποσυμβολοσειρά ή όχι. Η συνάρτηση contain() είναι μία από αυτές που βοηθά στην εκτέλεση αυτής της εργασίας. Αυτή η δυνατότητα είναι διαθέσιμη μόνο στη C++ 23. Θα μάθουμε λεπτομερώς πώς αυτή η συνάρτηση contain() μας επιτρέπει να βρούμε εάν η υποσυμβολοσειρά υπάρχει ή όχι στην αρχική συμβολοσειρά.

Παράδειγμα 1:

Σε αυτήν την περίπτωση, πρέπει να εργαστούμε με συμβολοσειρές και δεδομένα εισόδου ή εξόδου, ώστε να παρέχονται τα αρχεία κεφαλίδας 'iostream' και 'string'. Επομένως, αυτά τα αρχεία κεφαλίδας πρέπει να συμπεριληφθούν εδώ. Στη συνέχεια, δεν χρειάζεται πλέον να συμπεριλάβουμε αυτό το 'std' με κάθε συνάρτηση ανεξάρτητα στον κώδικά μας, επειδή έχουμε ήδη συμπεριλάβει το 'namespace std' με τη βοήθεια της λέξης-κλειδιού 'using'. Εδώ, τότε καλείται η συνάρτηση 'main()'. Στη συνέχεια, η μεταβλητή 'string' με το όνομα 'originalString' αρχικοποιείται με κάποια συμβολοσειρά. Στη συνέχεια, αρχικοποιούμε μια άλλη μεταβλητή 'string' με το όνομα 'word' με C++.

Τώρα, κάτω από αυτό, χρησιμοποιούμε το 'cout' και εκτυπώνουμε αυτήν την αρχική συμβολοσειρά. Μετά από αυτό, δηλώνουμε το 'int Result' και τοποθετούμε τη συνάρτηση 'contains()' για να ελέγξουμε αν το 'originalString' περιέχει τη λέξη ή όχι. Τοποθετούμε το 'αν' κάτω από αυτό,. Περνάμε το «Αποτέλεσμα» στο «αν». Εάν η αρχική συμβολοσειρά περιέχει τη δευτερεύουσα συμβολοσειρά, αποδίδει τη δήλωση που προσθέσαμε μετά το 'if'. Στην περίπτωση που η συμβολοσειρά δεν περιέχει τη δευτερεύουσα συμβολοσειρά, αποδίδεται η πρόταση που παρουσιάζεται μετά το 'άλλο'.







Κωδικός 1:

#include

#include

χρησιμοποιώντας το namespace std ;

ενθ κύριος ( )

{

συμβολοσειρά originalString = 'Μου αρέσει ο προγραμματισμός C++' ;

λέξη συμβολοσειρά = 'C++' ;

cout << 'Η συμβολοσειρά είναι =' << originalString << endl << endl ;

ενθ Αποτέλεσμα = originalString. περιέχει ( λέξη ) ;

αν ( Αποτέλεσμα )

{

cout << 'Η λέξη που βρέθηκε στη συμβολοσειρά που είναι =' << λέξη << endl ;

}

αλλού

{

cout << 'Η λέξη δεν βρέθηκε στη συμβολοσειρά' << endl ;

}

ΕΠΙΣΤΡΟΦΗ 0 ;

}

Παραγωγή:



Αυτό το αποτέλεσμα δείχνει ότι η υποσυμβολοσειρά που βρίσκουμε στην αρχική συμβολοσειρά με τη βοήθεια της συνάρτησης contain() βρίσκεται μέσα στην αρχική συμβολοσειρά και εμφανίζεται εδώ.







Παράδειγμα 2:

Το 'iostream' και το 'string' είναι τα αρχεία κεφαλίδας που εισαγάγαμε σε αυτόν τον κώδικα. Περιλαμβάνεται επίσης ο χώρος ονομάτων 'std'. Στη συνέχεια, η main() καλείται εδώ. Στη συνέχεια, αρχικοποιούμε τη μεταβλητή 'string' που ονομάζεται 'str_1' προσθέτοντας ορισμένα δεδομένα συμβολοσειράς. Στη συνέχεια, αρχικοποιούμε τη μεταβλητή 'string' που ονομάζεται 'str_2' με 'Rain'.

Κάτω από αυτό, εκτυπώνουμε την αρχική συμβολοσειρά χρησιμοποιώντας τη συνάρτηση 'cout'. Για να προσδιορίσουμε εάν υπάρχει ή όχι το 'str_2' στο 'str_1', δηλώνουμε το 'int Outcome' και εισάγουμε τη μέθοδο contain() εδώ. Παρακάτω, τοποθετούμε το «αν» και περνάμε το «Αποτέλεσμα» στο «αν». Προσθέτουμε την πρόταση 'cout' μετά την απόδοση 'if' εάν η αρχική συμβολοσειρά έχει την υποσυμβολοσειρά. Διαφορετικά, αποδίδεται η δήλωση «cout» που έρχεται μετά το «άλλο».



Κωδικός 2:

#include

#include

χρησιμοποιώντας το namespace std ;

ενθ κύριος ( )

{

συμβολοσειρά str_1 = 'Ο καιρός είναι δροσερός έξω' ;

συμβολοσειρά str_2 = 'Βροχή' ;

cout << 'Η συμβολοσειρά είναι =' << str_1 << endl << endl ;

ενθ Αποτέλεσμα = str_1. περιέχει ( str_2 ) ;

αν ( Αποτέλεσμα )

{

cout << 'Η λέξη που βρέθηκε στη συμβολοσειρά που είναι =' << str_2 << endl ;

}

αλλού

{

cout << 'Η λέξη δεν βρέθηκε στη συμβολοσειρά' << endl ;

}

ΕΠΙΣΤΡΟΦΗ 0 ;

}

Παραγωγή:

Αυτό αποδίδει ότι η υποσυμβολοσειρά που βρίσκουμε στην αρχική συμβολοσειρά με τη βοήθεια της συνάρτησης contain() δεν βρίσκεται μέσα στην αρχική συμβολοσειρά και ως αποτέλεσμα αποδίδεται εδώ.

Παράδειγμα 3:

Εισάγουμε τα αρχεία κεφαλίδας 'iostream' και 'string' σε αυτόν τον κώδικα. Στη συνέχεια, κάτω από αυτό, χρησιμοποιούμε το 'namespace std'. Στη συνέχεια, η main() καλείται εδώ. Τώρα, αρχικοποιούμε τις δύο μεταβλητές του τύπου δεδομένων 'string' με τα ονόματα 'myString_1' και 'myString_2', αντίστοιχα, και εκχωρούμε την αρχική συμβολοσειρά από την οποία θέλουμε να βρούμε τη δευτερεύουσα συμβολοσειρά στη μεταβλητή 'myString_1' και η δευτερεύουσα συμβολοσειρά έχει εκχωρηθεί στη μεταβλητή 'myString_2'.

Μετά από αυτό, εμφανίζουμε την αρχική συμβολοσειρά βάζοντας το 'myString_1' στη δήλωση 'cout' και στη συνέχεια τοποθετώντας το 'if' στην οποία χρησιμοποιούμε τη μέθοδο 'contains()' που ελέγχει εάν η δεδομένη συμβολοσειρά περιέχει την υποσυμβολοσειρά. Εάν η υποσυμβολοσειρά υπάρχει στην αρχική συμβολοσειρά, με τη βοήθεια του 'cout', αποδίδουμε το αποτέλεσμα.

Τοποθετούμε δύο εντολές «cout» στις οποίες η μία τοποθετείται μετά το «αν» και η άλλη προστίθεται μετά το μέρος «άλλο». Εάν η αρχική συμβολοσειρά περιέχει την υποσυμβολοσειρά, το 'cout' μετά το 'if' θα αποδοθεί. Εάν η δευτερεύουσα συμβολοσειρά δεν βρεθεί ή η αρχική συμβολοσειρά δεν έχει τη δευτερεύουσα συμβολοσειρά, το 'cout' μετά το 'else' θα αποδοθεί.

Κωδικός 3:

#include

#include

χρησιμοποιώντας το namespace std ;

ενθ κύριος ( )

{

συμβολοσειρά myString_1 = 'Γεια! Γεια σου Κόσμο' ;

συμβολοσειρά myString_2 = 'Γειά σου' ;

cout << 'Η πλήρης συμβολοσειρά είναι' << myString_1 << endl ;

αν ( myString_1. περιέχει ( myString_2 ) ) {

cout << 'Η συμβολοσειρά βρέθηκε =' << myString_2 << endl ;

}

αλλού {

cout << 'Η συμβολοσειρά δεν βρέθηκε εδώ' << endl ;

}



ΕΠΙΣΤΡΟΦΗ 0 ;

}

Παραγωγή:

Αυτό το αποτέλεσμα δείχνει ότι η υποσυμβολοσειρά που αναζητούμε μέσα στην αρχική συμβολοσειρά χρησιμοποιώντας τη μέθοδο contain() βρίσκεται μέσα στην αρχική συμβολοσειρά και εμφανίζεται εδώ.

Παράδειγμα 4:

Τα αρχεία κεφαλίδας 'iostream' και 'string' εισάγονται σε αυτόν τον κώδικα. Η συνάρτηση main() καλείται στη συνέχεια εδώ αφού χρησιμοποιήσουμε το 'namespace std' από κάτω. Οι αρχικοποιήσεις των δύο μεταβλητών του τύπου δεδομένων 'string' ονομάζονται 's_1' και 's_2', αντίστοιχα. Η αρχική συμβολοσειρά από την οποία θέλουμε να ανακαλύψουμε τη δευτερεύουσα συμβολοσειρά εκχωρείται τώρα στη μεταβλητή 's_1' και η δευτερεύουσα συμβολοσειρά δίνεται στη μεταβλητή 's_2'. Η αρχική συμβολοσειρά εμφανίζεται στη συνέχεια εισάγοντας το 's_1' στη δήλωση 'cout'.

Στη συνέχεια, προσθέτουμε τον όρο 'if' όπου χρησιμοποιούμε τη μέθοδο contain() για να προσδιορίσουμε εάν η παρεχόμενη συμβολοσειρά περιέχει την υποσυμβολοσειρά. Αποδίδουμε την έξοδο χρησιμοποιώντας 'cout' εάν η υποσυμβολοσειρά υπάρχει στην αρχική συμβολοσειρά. Προστίθενται δύο δηλώσεις 'cout', μία μετά το 'if' και μία άλλη μετά το τμήμα 'else' του κώδικα. Το 'cout' που ακολουθεί το 'if' αποδίδεται εάν η υποσυμβολοσειρά υπάρχει στην αρχική συμβολοσειρά. Διαφορετικά, το 'cout' που ακολουθεί το 'else' αποδίδεται εάν η υποσυμβολοσειρά δεν μπορεί να εντοπιστεί στην αρχική συμβολοσειρά.

Κωδικός 4:

#include

#include

χρησιμοποιώντας το namespace std ;

ενθ κύριος ( )

{

συμβολοσειρά s_1 = 'Γεια! Είμαι ο Τζακ εδώ'' ;

συμβολοσειρά s_2 = 'Πέτρος' ;

cout << 'Η πλήρης συμβολοσειρά είναι =' << s_1 << endl ;

αν ( s_1. περιέχει ( s_2 ) ) {

cout << 'Η συμβολοσειρά βρέθηκε =' << s_2 << endl ;

}

αλλού {

cout << 'Η συμβολοσειρά δεν βρέθηκε =' << s_2 << endl ;

}

ΕΠΙΣΤΡΟΦΗ 0 ;

}

Παραγωγή:

Όπως φαίνεται από αυτό το αποτέλεσμα, η υποσυμβολοσειρά που αναζητήσαμε στο αρχικό κείμενο χρησιμοποιώντας τη μέθοδο contain() δεν βρίσκεται στον κώδικα.

Παράδειγμα 5:

Εδώ, θα χρησιμοποιήσουμε τη βιβλιοθήκη 'boost' και θα βρούμε αν η συμβολοσειρά περιέχει την υποσυμβολοσειρά ή όχι. Σε αυτή τη μέθοδο 'boost', χρησιμοποιούμε επίσης τη συνάρτηση contain(). Έτσι, συμπεριλαμβάνουμε επίσης το αρχείο κεφαλίδας 'boost/algorithm/string.hpp' μαζί με τα αρχεία κεφαλίδας 'iostream' και 'string' σε αυτόν τον κώδικα. Στη συνέχεια, τοποθετούμε το 'std' και καλούμε τη μέθοδο main() εδώ.

Στη συνέχεια, δηλώνουμε τις μεταβλητές που είναι 'StringData1' και 'StringData2' του τύπου δεδομένων 'string' και αρχικοποιούμε τα δεδομένα συμβολοσειράς εδώ. Η μεταβλητή 'c_result' του τύπου δεδομένων 'bool' αρχικοποιείται με το 'boost::algorithm::contains()' και περνάμε τα 'StringData1' και 'StringData2' σε αυτή τη συνάρτηση. Αυτό βρίσκει επίσης τη δευτερεύουσα συμβολοσειρά στην αρχική συμβολοσειρά και αποθηκεύει το αποτέλεσμα Boolean στη μεταβλητή 'c_result'.

Τώρα, τοποθετούμε το 'c_result==1' στο 'if' παρακάτω. Εάν η Boolean τιμή του 'c_result' είναι '1', εμφανίζεται η δήλωση μετά το 'if'. Διαφορετικά, μετακινείται προς το μέρος 'άλλο' και παρακάμπτει τη δήλωση που υπάρχει μετά το 'αν' και αποδίδει τη δήλωση του μέρους 'άλλο'.

Κωδικός 5:

#include

#include

#include

χρησιμοποιώντας το namespace std ;

ενθ κύριος ( ) {

συμβολοσειρά StringData1 = 'Το πρώτο μου πρόγραμμα' ;

συμβολοσειρά StringData2 = 'πρώτα' ;

bool c_result = ώθηση :: algorithm :: περιέχει ( StringData1 , StringData2 ) ;

αν ( c_αποτέλεσμα == 1 )

{

cout << 'Η χορδή ' << ''' << StringData1 << ''' << 'περιέχει' << StringData2 << endl ;

}

αλλού

{

cout << 'Η δεδομένη λέξη δεν υπάρχει στη συμβολοσειρά.' ;

}

ΕΠΙΣΤΡΟΦΗ 0 ;

}

Παραγωγή:

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

συμπέρασμα

Εξερευνήσαμε τη μέθοδο contain() που παρέχεται από τη γλώσσα C++ λεπτομερώς. Αναφέραμε επίσης ότι η συνάρτηση contain() είναι διαθέσιμη μόνο στο 'C+++ 23'. Εξερευνήσαμε αν η συνάρτηση contain() βοηθά στην εύρεση της υποσυμβολοσειράς στην αρχική συμβολοσειρά ή αν βοηθά στον έλεγχο του αν η συμβολοσειρά περιέχει την υποσυμβολοσειρά ή όχι και αποδώσαμε το αποτέλεσμα ανάλογα.