ΧΡΕΙΑΖΟΜΑΙ ΑΛΓΟΡΙΘΜΟ

...ασύγχρονα μαθήματα γλώσσας C

ΧΡΕΙΑΖΟΜΑΙ ΑΛΓΟΡΙΘΜΟ

Δημοσίευσηαπό Panayota » 17 Ιαν 2013, 23:41

Χρειαζομαι αλγόριθμο για το εξης :

Να φτιάξετε ένα πρόγραμμα το οποίο κάνει κρυπτογράφηση και αποκρυπτογράφηση
μηνυμάτων. Στο πρόγραμμά σας θα πρέπει να υπάρχουν τουλάχιστον οι συναρτήσεις:
• 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.
Σε κάθε περίπτωση θα πρέπει να τυπώνεται στην οθόνη το αντίστοιχο (κωδικοποιημένο ή
αποκωδικοποιημένο) μήνυμα.

παρακαλώ βοηθήστε με !
Ευχαριστώ πολύ!!
Panayota
babeTUX
babeTUX
 
Δημοσιεύσεις: 2
Εγγραφή: 17 Ιαν 2013, 23:32
Εκτύπωση

Re: ΧΡΕΙΑΖΟΜΑΙ ΑΛΓΟΡΙΘΜΟ

Δημοσίευσηαπό konnn » 18 Ιαν 2013, 00:43

Καλώς ήρθες στην ελληνική κοινότητα του ubuntu.

Σκοπός αυτού του forum δεν είναι να λύσουμε ασκήσεις. Δεν είναι σωστό να ζητάς "μασημένη" τροφή.
Μπορείς να μας πεις μέχρι που έχεις φτάσει και που έχεις κολλήσει, έτσι ώστε να σε βοηθήσουν αυτοί που γνωρίζουν να συνεχίσεις.Μπορείς να διαβάσεις και τα ασύχρ. μαθήματα που θα σε βοηθήσουν αρκετά.

1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: ΧΡΕΙΑΖΟΜΑΙ ΑΛΓΟΡΙΘΜΟ

Δημοσίευσηαπό Panayota » 18 Ιαν 2013, 01:06

Παρακαλώ βοηθήστε με είναι επείγον. Έχω φθάσει σε ένα σημείο..
Panayota
babeTUX
babeTUX
 
Δημοσιεύσεις: 2
Εγγραφή: 17 Ιαν 2013, 23:32
Εκτύπωση

Re: ΧΡΕΙΑΖΟΜΑΙ ΑΛΓΟΡΙΘΜΟ

Δημοσίευσηαπό konnn » 18 Ιαν 2013, 01:33

Panayota έγραψε:Παρακαλώ βοηθήστε με είναι επείγον. Έχω φθάσει σε ένα σημείο..


Θα ήταν καλό τότε να αναρτήσεις τον κώδικά σου μέσα σε [code][/code]
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση


Επιστροφή στο Μαθήματα C

cron