Προς το περιεχόμενο

Εργασια λειτουργικα σε c


irini22

Προτεινόμενες αναρτήσεις

Δημοσ.

SOS!!! Εχω την παρακατω εργασια σε c,μηπως μπορει καποιος να βοηθησει;

 

Να κατασκευάσετε ένα πρόγραμμα το οποίο δημιουργεί μια νέα διεργασία. Η θυγατρική διεργασία θα δημιουργεί ένα νέο κατάλογο και θα τοποθετεί εκεί ένα αρχείο που θα περιέχει το αποτέλεσμα της εκτέλεσης της εντολής ps -Α. Θα εμφανίζει όλες τις ταυτότητες διεργασιών που ανήκουν στην ίδια ομάδα με αυτή.

Η γονική διεργασία θα κρυπτογραφεί το παραπάνω αρχείο, χρησιμοποιώντας ένα κλειδί από ένα άλλο αρχείο εισόδου και θα γράφει σε ένα τρίτο αρχείο την έξοδο της πράξης κρυπτογράφησης Τα τρία παραπάνω αρχεία θα δίνονται ως παράμετροι.

Η κρυπτογράφηση θα γίνει με χρήση του αλγόριθμου Vigenere. Ο αλγόριθμος αυτός εργάζεται ως εξής: τα γράμματα του αλφαβήτου κωδικοποιούνται με αριθμούς με αρχή το μηδέν. Δηλαδή το Α αντιστοιχεί στο 0, το Β στο 1, το C στο 2, κλπ. Ο αλγόριθμος παίρνει το κείμενο εισόδου και προσθέτει σε αυτό το κείμενο που αντιστοιχεί στο κλειδί, τοποθετώντας τα γράμματα το ένα κάτω από το άλλο και προσθέτοντας τα γράμματα που είναι στην ίδια θέση. Αν το κείμενο του κλειδιού είναι μικρότερο από αυτό του κειμένου εισόδου, τότε επαναλαμβάνεται. Για παράδειγμα παρακάτω κρυπτογραφείται το κείμενο SECURE με τη λέξη KEY για κλειδί:

S EC URE

KEY KEY

Η πράξη της κρυπτογράφησης είναι η εξής: c=(a+k)mod n, όπου a είναι ένα γράμμα του κειμένου εισόδου, k είναι το αντίστοιχο γράμμα κλειδιού, c το κρυπτογραφημένο γράμμα και n το σύνολο των γραμμάτων του αλφαβήτου. Οπότε στο παραπάνω παράδειγμα το κρυπτοκείμενο που θα παραχθεί θα είναι: CΙAEVC.

Η υλοποίηση της άσκησης θα γίνει ως εξής: πρώτα θα διαβάζονται τα κείμενα του κλειδιού και του αρχικού κειμένου από τα αντίστοιχα αρχεία τους και αφού τοποθετηθούν σε πίνακες, θα ακολουθεί η πράξη κρυπτογράφησης. Οι πίνακες που θα χρησιμοποιηθούν πρέπει να είναι δυναμικοί και σε καμιά περίπτωση στατικοί. Για το λόγο αυτό θα χρησιμοποιηθούν οι γνωστές συναρτήσεις δέσμευσης μνήμης malloc και realloc.

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

  • Απαντ. 42
  • Δημ.
  • Τελ. απάντηση
Δημοσ.
Πολλοί μπορούν να βοηθήσουν

 

τι εννοείς?

 

@irini22

SOS!!! Εχω την παρακατω εργασια σε c' date='μηπως μπορει καποιος να βοηθησει;

 

Να κατασκευάσετε ένα πρόγραμμα το οποίο δημιουργεί μια νέα διεργασία. Η θυγατρική διεργασία θα δημιουργεί ένα νέο κατάλογο και θα τοποθετεί εκεί ένα αρχείο που θα περιέχει το αποτέλεσμα της εκτέλεσης της εντολής ps -Α. Θα εμφανίζει όλες τις ταυτότητες διεργασιών που ανήκουν στην ίδια ομάδα με αυτή.

Η γονική διεργασία θα κρυπτογραφεί το παραπάνω αρχείο, χρησιμοποιώντας ένα κλειδί από ένα άλλο αρχείο εισόδου και θα γράφει σε ένα τρίτο αρχείο την έξοδο της πράξης κρυπτογράφησης Τα τρία παραπάνω αρχεία θα δίνονται ως παράμετροι.

Η κρυπτογράφηση θα γίνει με χρήση του αλγόριθμου Vigenere. Ο αλγόριθμος αυτός εργάζεται ως εξής: τα γράμματα του αλφαβήτου κωδικοποιούνται με αριθμούς με αρχή το μηδέν. Δηλαδή το Α αντιστοιχεί στο 0, το Β στο 1, το C στο 2, κλπ. Ο αλγόριθμος παίρνει το κείμενο εισόδου και προσθέτει σε αυτό το κείμενο που αντιστοιχεί στο κλειδί, τοποθετώντας τα γράμματα το ένα κάτω από το άλλο και προσθέτοντας τα γράμματα που είναι στην ίδια θέση. Αν το κείμενο του κλειδιού είναι μικρότερο από αυτό του κειμένου εισόδου, τότε επαναλαμβάνεται. Για παράδειγμα παρακάτω κρυπτογραφείται το κείμενο SECURE με τη λέξη KEY για κλειδί:

S EC URE

KEY KEY

Η πράξη της κρυπτογράφησης είναι η εξής: c=(a+k)mod n, όπου a είναι ένα γράμμα του κειμένου εισόδου, k είναι το αντίστοιχο γράμμα κλειδιού, c το κρυπτογραφημένο γράμμα και n το σύνολο των γραμμάτων του αλφαβήτου. Οπότε στο παραπάνω παράδειγμα το κρυπτοκείμενο που θα παραχθεί θα είναι: CΙAEVC.

Η υλοποίηση της άσκησης θα γίνει ως εξής: πρώτα θα διαβάζονται τα κείμενα του κλειδιού και του αρχικού κειμένου από τα αντίστοιχα αρχεία τους και αφού τοποθετηθούν σε πίνακες, θα ακολουθεί η πράξη κρυπτογράφησης. Οι πίνακες που θα χρησιμοποιηθούν πρέπει να είναι δυναμικοί και σε καμιά περίπτωση στατικοί. Για το λόγο αυτό θα χρησιμοποιηθούν οι γνωστές συναρτήσεις δέσμευσης μνήμης malloc και realloc.

Επίσης, το πρόγραμμα που θα κατασκευαστεί θα πρέπει να κάνει έλεγχο λαθών κατά τη σύνταξη της εντολής με κατάλληλη έκδοση διαγνωστικών μηνυμάτων.[/quote']

 

καλως ήρθες στο insomnia

 

λογικά για να σας βάλει τετοια εργασία ο/η καθηγητης/τρια είπε βασικα πράματα στην θεωρία

 

Προσπάθησες καθόλου να αρχίσεις να γράφεις κώδικα ή απλα έγραψες την εκφώνηση εδώ?

Δημοσ.

Αυτό που εννοώ είναι πως άμα ρωτήσει κάτι συγκεκριμένο, υπάρχουν άνθρωποι που μπορούν να απαντήσουν...

Δημοσ.
Αυτό που εννοώ είναι πως άμα ρωτήσει κάτι συγκεκριμένο, υπάρχουν άνθρωποι που μπορούν να απαντήσουν...

 

Προσπάθησες καθόλου να αρχίσεις να γράφεις κώδικα

 

ε τοτε συμφωνούμε

Δημοσ.

τει λαμιας η εργασια σωστα irini22?Την ιδια εχω αλλα ρε παιδια προσπαθηστε και λιγο να την προχωρησετε μονοι σας και γενικα για να κανετε Post κατι φταστε ως ενα σημειο και ρωτηστε κατι ποιο συγκεκριμενο οπως π.χ. τι ειναι ο αλγοριθμος Vigenere και πως υλοποιειται.Ουτε εγω ξερω αλλα ψαχνω και σιγουρα κατι θα βρω

Δημοσ.

Evgenios1 σχεδόν σωστή λύση, η σωστή απάντηση είναι

 

return (int)(c - 'a');

 

Αν και το function του δεν επιστρέφει κάτι...

Δημοσ.
Evgenios1 σχεδόν σωστή λύση, η σωστή απάντηση είναι

 

return (int)(c - 'a');

 

Αν και το function του δεν επιστρέφει κάτι...

 

εχεις δικαιο.. οσο για την επιστροφη αντι του return να βαλει ενα num= (που το εχει ως global var

Δημοσ.

Βασικά προσπάθησα να ακολουθήσω πιστά τις οδηγίες της εκφώνησης σαν να επρόκειτο να την παραδώσω. Για να υπολογίσεις τον αντίστοιχο αριθμό κάθε γράμματος για τη vigenere υπάρχουν πολλοί τρόποι...Και num=c-31 να έλεγα θα μου έβγαζε αυτό που θέλω.Αλλά στην εκφώνηση δε δίνεται παρα μόνο η πληροφορία ότι Α=0,Β=1....Ζ=25. Οπότε είπα να το πάω έτσι. Το πρόβλημα όμως δεν είναι στη σωστή switch...

ps. Απλή C είναι,αλλά με κάποιες βιβλιοθήκες κι εντολές που εκτελούνται μόνο σε λινουξ..

Δημοσ.

οσο και να ηθελα να μην κοιταξω δε γινετε ο πειρασμος ειναι μεγαλος αλλα ρε narbi πραγματικα δεν επρεπε να το κανεις αυτο...

Ο κωδικας σου χρειαζεται αρκετη διορθωση οχι τοσο σε θεμα λαθων αλλα σε αποδωση.

 

blondeamon +1

 

παροτι δεν εχω αρχησει ακομα το γραψιμο γιατι εχω κι αλλη εργασια πληροφοριακα συστηματα

Δημοσ.
οσο και να ηθελα να μην κοιταξω δε γινετε ο πειρασμος ειναι μεγαλος αλλα ρε narbi πραγματικα δεν επρεπε να το κανεις αυτο...

Ο κωδικας σου χρειαζεται αρκετη διορθωση οχι τοσο σε θεμα λαθων αλλα σε αποδωση.

 

blondeamon +1

 

παροτι δεν εχω αρχησει ακομα το γραψιμο γιατι εχω κι αλλη εργασια πληροφοριακα συστηματα

 

Πράγματι έχεις δίκιο T-spoiler για τον κώδικα... Τον έχω κάνει πιο optimized πιστευω και θα τον ανεβάσω σε λίγο..Και η switch είναι μάλλον περιττή γιατί από ότι έμαθα μπορείς να κάνεις πρόσθεση χαρακτήρων κατευθείαν..πχ. α+β=γ. Ισχύει αυτό? Αν ισχύει η switch είναι εντελώς περιττή.

 

Όσον αφορά στο ηθικό μέρος του πράγματος έχω να πω απλά 2 πράγματα. Φτάνοντας Η Εξάμηνο κι έχοντας βοηθήσει αρκετούς στο εν λόγω ΤΕΙ έχω μάθει πλέον να αδιαφορώ για το αν νοιάζεται ο κάθε συμφοιτητής μου να μάθει προγραμματισμό ή οχι. Αφού,φοιτητές τύπου irini22 που από το 1ο Post στο forum με στυλάκι "να η εκφώνηση και λύσε μου την άσκηση" δεν δείχνουν να νοιάζονται να μάθουν προγραμματισμό γιατί να νοιαστώ εγώ για αυτούς?? Εγώ το συγκεκριμένο μάθημα το έχω περάσει εξάμηνα τώρα..Αλλά και αφού το πέρασα λύνω πάντα τις ασκήσεις που βγάζει ο γνωστός καθηγητής στο e-class για να μαθαίνω ακόμη καλύτερα.Και αυτή είναι η πρώτη φορά που κολλάω τόσο πολύ σε άσκησή του. Ακόμη και Κατανεμημένα που είχα παλιότερα δεν έχω κολλήσει ποτέ τόσο στο να μην βρίσκω το λάθος..Γι'αυτό εγώ πόσταρα την άσκηση..Μιας και υπάρχει η εκφώνηση αν ξέρει κάποιος να βοηθήσει..Άλλωστε όποιος πέσει στην παγίδα να κάνει copy-paste την άσκηση και να την παραδώσει απλά θα την πατήσει γιατί η εργασία έχει ήδη παραδοθεί από ένα συμφοιτητή που του την έδωσα χτες κι επειδή κάποια σημεία της είναι χαρακτηριστικά ο καθηγητής απλά θα το καταλάβει.

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

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...