Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Λειτουργία σε C για παλίνδρομες

palindromes είναι φράσεις ή λέξεις που διαβάζουν με τον ίδιο τρόπο προς τα εμπρός και προς τα πίσω . Ενώ ένας άνθρωπος μπορεί να διαβάσει απλώς την φράση για να διαπιστωθεί αν είναι ή όχι είναι ένα παλίνδρομο , ένα πρόγραμμα ηλεκτρονικού υπολογιστή πρέπει να ελέγξει την αντιστροφή του φράση , και να κάνουν συγκρίσεις με βάση την αξία της κάθε έκδοσης . Στη συνέχεια, το πρόγραμμα μπορεί να αποφασίσει εάν ή όχι μια φράση είναι παλίνδρομο . Παλίνδρομο Λειτουργία μοτίβου
Η

Μια βασική λειτουργία παλίνδρομη ελέγχου θα μπορούσε να λάβει μια πρόταση ως επιχείρημα , και ελέγξτε ότι πρόταση για να δούμε αν έχει εμπρός και όπισθεν : έλεγχος

bool palindromCheck (string )

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

στο πλαίσιο της διαδικασίας , πρέπει να υπάρχει ένας τρόπος για να αντιστραφεί η σειρά . Ένας προγραμματιστής μπορεί να το πετύχουν αυτό με την ανάγνωση της φράσης επιχείρημα αντίστροφα , και την αποθήκευσή του σε μια άλλη μεταβλητή συμβολοσειράς :

new_phrase string?

Int i = ( int ) checking.length ( ) - 1 ?

για ( i ? i > = 0 ? i - )

{

new_phrase.append (έλεγχος [ i ] ) ?

}

Αν και ίσως δεν είναι η πιο αποτελεσματική μέθοδος , αυτό για loop δείχνει ξεκάθαρα τι συμβαίνει : οι βρόχοι ξεκινά στο τέλος του " ελέγχου " πρόταση, και εργάζεται προς τα πίσω , προσαρτώντας κάθε χαρακτήρα να new_phrase
<. br >
Η Έλεγχος της Palindrome
Η

C + + φορείς χορδών περιλαμβάνουν τους τελεστές σύγκρισης ( μεγαλύτερο από, μικρότερο από , ίσο με) . Αυτό σημαίνει ότι οι χορδές μπορούν να συγκριθούν σαν αριθμητικές τιμές . Έτσι, αν η τιμή που έχετε εισάγει string είναι " ραντάρ ", τότε ο βρόχος θα αντιστρέψει τη λέξη και να το αποθηκεύσετε στο new_phrase μεταβλητή . Στη συνέχεια, μια απλή σύγκριση μεταξύ των μεταβλητών :

αν ( έλεγχος == new_phrase )

θα επιστρέψει "true" ( επειδή και οι δύο μεταβλητές string θα περιέχει τη λέξη « ραντάρ »)
<. br >
Περιορισμοί
Η

Η σύγκριση string λειτουργεί μόνο στις χορδές που είναι πανομοιότυπα. Εάν ένα παλίνδρομο δεν είναι απολύτως ίση προς τα εμπρός και προς τα πίσω ( όπως η φράση « Do χήνες δείτε θεός ; " ), τότε η σύγκριση θα αποτύχει ακόμα και μέσα από τη φράση είναι παλίνδρομο . Ανακαλύπτοντας περαιτέρω palindromes απαιτεί την ανάλυση και τη σύγκριση των ποινών ανά χαρακτήρα , που ψάχνουν για μοτίβα λέξη στην αντίστροφη πρόταση και όχι μια άμεση σύγκριση .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα