Χρειαζομαι αλγόριθμο για το εξης :
Να φτιάξετε ένα πρόγραμμα το οποίο κάνει κρυπτογράφηση και αποκρυπτογράφηση
μηνυμάτων. Στο πρόγραμμά σας θα πρέπει να υπάρχουν τουλάχιστον οι συναρτήσεις:
• void encode(char message[21], char enc_message[21], int key), η οποία
δέχεται μια συμβολοακολουθία στον πίνακα message, την κωδικοποιεί
χρησιμοποιώντας τον ακέραιο key και επιστρέφει την κωδικοποιημένη
συμβολοακολουθία στον πίνακα enc_message,
• void decode(char enc_message[21], char dec_message[21], int key) η οποία
δέχεται μια (κωδικοποιημένη) συμβολοακολουθία στον πίνακα enc_message,
την αποκωδικοποιεί χρησιμοποιώντας τον ακέραιο key και επιστρέφει την
αποκωδικοποιημένη συμβολοακολουθία στον πίνακα dec_message,
Η κωδικοποίηση μιας συμβολοακολουθίας (που αποτελείται από το πολύ 20 συνολικά
γράμματα και κενούς χαρακτήρες) γίνεται ως εξής: κάθε χαρακτήρας της
συμβολοακολουθίας (εκτός από τον κενό χαρακτήρα) αντικαθίσταται από τον
χαρακτήρα που βρίσκεται key θέσεις παρακάτω στο (λατινικό) αλφάβητο.
Η αποκωδικοποίηση γίνεται αντικαθιστώντας κάθε χαρακτήρα της κωδικοποιημένης
συμβολοακολουθίας (εκτός από τον κενό χαρακτήρα) με τον χαρακτήρα που βρίσκεται
key θέσεις πριν στο (λατινικό) αλφάβητο.
Οι υπολογισμοί των χαρακτήρων αντικατάστασης γίνονται κυκλικά, δηλαδή αν
ξεπεραστεί το τέλος ή η αρχή του αλφάβητου τότε ο υπολογισμός συνεχίζεται από την
αρχή ή το τέλος του αλφάβητου αντίστοιχα. Για παράδειγμα αν η συμβολοακολουθία
προς κωδικοποίηση είναι η welcome home και το key είναι 5 τότε το κωδικοποιημένο
μήνυμα θα πρέπει να είναι: bjqhtrj mtrj και φυσικά η αποκωδικοποίηση με key=5 θα
πρέπει να δώσει το αρχικό μήνυμα (δηλαδή θεωρούμε ότι ο χαρακτήρας που βρίσκεται
5 θέσεις μετά το w είναι ο b).
Το πρόγραμμά σας θα πρέπει να φτιάχνει ένα μενού επιλογών μέσα από το οποίο ο
χρήστης θα μπορεί:
• να δώσει ένα μήνυμα προς κωδικοποίηση μαζί με την παράμετρο key,
• να δώσει ένα μήνυμα προς αποκωδικοποίηση μαζί με την παράμετρο key.
Σε κάθε περίπτωση θα πρέπει να τυπώνεται στην οθόνη το αντίστοιχο (κωδικοποιημένο ή
αποκωδικοποιημένο) μήνυμα.
παρακαλώ βοηθήστε με !
Ευχαριστώ πολύ!!