TextToolbox Άμεσα εργαλεία κειμένου

Έλεγχος Αναγραμμάτων

Πληκτρολογήστε δύο λέξεις ή φράσεις — η απάντηση ενημερώνεται ακαριαία, εξ ολοκλήρου στο πρόγραμμά σας περιήγησης.

Δοκιμάστε:
Πληκτρολογήστε δύο φράσεις παραπάνω

Φράση Α

Κανονικοποιημένη & ταξινομημένη

Πλήθος γραμμάτων

Φράση Β

Κανονικοποιημένη & ταξινομημένη

Πλήθος γραμμάτων

Πώς λειτουργεί πραγματικά η σύγκριση

Δύο φράσεις είναι αναγράμματα αν μπορείτε να αναδιατάξετε τα γράμματα της μίας ώστε να σχηματίσετε ακριβώς την άλλη. Ο ελεγκτής κανονικοποιεί πρώτα κάθε φράση: τη μετατρέπει σε πεζά, αφαιρεί ό,τι δεν είναι γράμμα ή αριθμός (με τρόπο συμβατό με Unicode, ώστε οι τονισμένες λέξεις να αντιμετωπίζονται σωστά), και μετατρέπει κάθε τελικό σίγμα «ς» στο κανονικό «σ» — επειδή τα δύο αυτά γράμματα είναι το ίδιο γράμμα σε διαφορετική θέση, όχι δύο διαφορετικά γράμματα, και μια σύγκριση που τα αντιμετωπίζει ξεχωριστά θα απέρριπτε λανθασμένα πραγματικά αναγράμματα (δείτε το FAQ). Ό,τι απομένει ταξινομείται αλφαβητικά γράμμα προς γράμμα. Αν οι δύο ταξινομημένες συμβολοσειρές είναι ίδιες, οι φράσεις είναι αναγράμματα — η ταξινομημένη μορφή κάνει κάθε αναδιάταξη των ίδιων γραμμάτων να καταλήγει στην ίδια συμβολοσειρά, και η σύγκριση του πλήθους γραμμάτων (όχι απλώς ποια γράμματα εμφανίζονται) είναι αυτό που απορρίπτει σωστά ψευδο-ταιριάσματα με διαφορετικό πλήθος επαναλήψεων.

Παράδειγμα

Πληκτρολογήστε νόμος και μόνος. Και οι δύο κανονικοποιούνται και ταξινομούνται σε μνοσό — πέντε γράμματα, ίδια σειρά μόλις ταξινομηθούν — οπότε η απάντηση γράφει «Ναι — είναι αναγράμματα». Δοκιμάστε λαός και σόλα: χωρίς την κανονικοποίηση του τελικού σίγμα θα φαίνονταν διαφορετικά (το «ς» και το «σ» είναι διαφορετικοί χαρακτήρες Unicode), αλλά μετά τη μετατροπή «ς» → «σ» και οι δύο γίνονται αλσό — ένα ακόμα επιβεβαιωμένο ανάγραμμα.

Συχνές ερωτήσεις

Μετράνε τα κενά και τα σημεία στίξης;

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

Έχει σημασία το πεζό ή κεφαλαίο;

Όχι. Και οι δύο φράσεις μετατρέπονται σε πεζά πριν τη σύγκριση, οπότε «Νόμος» και «μόνος» ταιριάζουν ακριβώς όπως ταιριάζουν «νόμος» και «μόνος» — τα κεφαλαία δεν έχουν καμία σημασία για αυτόν τον έλεγχο.

Γιατί χρειάζεται ειδικός χειρισμός για το σ/ς (τελικό σίγμα);

Το ελληνικό σίγμα έχει δύο πεζούς τύπους — «σ» στην αρχή ή στη μέση μιας λέξης, «ς» μόνο στο τέλος — αλλά είναι το ίδιο γράμμα, απλώς σε διαφορετική θέση. Μια απλοϊκή σύγκριση που τα αντιμετωπίζει ως διαφορετικούς χαρακτήρες θα έκρινε λανθασμένα ότι «λαός» (λαός/έθνος, τελειώνει σε «ς») και «σόλα» (σόλα παπουτσιού, αρχίζει με «σ») ΔΕΝ είναι αναγράμματα, ενώ χρησιμοποιούν ακριβώς τα ίδια τέσσερα γράμματα — η διαφορά είναι καθαρά θέσης, όχι γραμμάτων. Αυτό το εργαλείο μετατρέπει κάθε «ς» σε «σ» πριν ταξινομήσει τα γράμματα, ώστε η σύγκριση να γίνεται με βάση το γράμμα και όχι το γλύφο. Είναι μια πραγματική διόρθωση ορθότητας που ένας απρόσεκτος ελεγκτής θα παρέβλεπε.

Έχει σημασία η επανάληψη γραμμάτων — μετράει ο αριθμός;

Ναι, ακριβώς. Δύο φράσεις είναι αναγράμματα μόνο αν περιέχουν τα ίδια γράμματα τον ίδιο ακριβώς αριθμό φορών η καθεμία, όχι απλώς το ίδιο σύνολο διακριτών γραμμάτων. Οι συμβολοσειρές «ααβ» και «αββ» χρησιμοποιούν και οι δύο μόνο τα γράμματα α και β, αλλά η «ααβ» έχει δύο α και ένα β ενώ η «αββ» έχει ένα α και δύο β — διαφορετικό πλήθος, οπότε αυτός ο ελεγκτής τις κρίνει σωστά ΟΧΙ αναγράμματα, ακόμη κι αν μια απρόσεκτη σύγκριση «μοιράζονται τα ίδια γράμματα» θα τις περνούσε λανθασμένα.

Ποιο είναι ένα καλό παράδειγμα πραγματικού ελληνικού αναγράμματος;

Το «νόμος» και το «μόνος» — πέντε γράμματα η καθεμία, δύο εντελώς άσχετες έννοιες (νόμος / μόνος), ίδια ακριβώς γράμματα σε διαφορετική σειρά. Το «τόπος» και το «πότος» είναι άλλο ένα γνήσιο ζεύγος. Και το «λαός» / «σόλα» δείχνει επιπλέον γιατί χρειάζεται η κανονικοποίηση του τελικού σίγμα (δείτε την προηγούμενη ερώτηση) — δοκιμάστε και τα τρία με τα κουμπιά παραδειγμάτων παρακάτω.