Δημοσιεύτηκε: 16 Σεπ 2011, 05:06
από migf1
Star_Light έγραψε:Migf1 προτεινεις να διαβασουμε τον κωδικα που εδωσες χθες και εχει μεσα λειτουργιες διαχειρισης πινακων ή να κάνουμε κάποιο παράδειγμα με Bubble short?

http://en.wikipedia.org/wiki/Bubble_sort

Hello,

θα σε γελάσω, γιατί έχω χάσει λίγο τη μπάλα με το τι μπορείτε και τι δεν μπορείτε να κάνετε :lol: Υποψιάζομαι πως ούτε εκεί θα μπορέσετε να βγάλετε άκρη.

Ο bubble sort είναι μια καλή αρχή για αλγόριθμους ταξινόμησης πάντως (αν και είναι μόνο για εκπαιδευτικούς λόγους, γιατί είναι ο πιο αργός από όλους).

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

Π.χ. μπορείτε για αρχή να φτιάξετε ένα πρόγραμμα, με το οποίο ο χρήστης θα μπορεί να κάνει μερικές βασικές λειτουργίες πάνω σε ένα πίνακα. Ονομάστε το set.c (σύνολο δηλαδή) και δώστε στον χρήστη τη δυνατότητα να χρησιμοποιεί τις παρακάτω εντολές (με λατινικά γράμματα)...

Κώδικας: Επιλογή όλων

app num : εισαγωγή του ακεραίου num στo τέλος του set
pre num : εισαγωγή του ακεραίου num στην αρχή του set
ins n num : εισαγωγή του ακεραίου num στη n-οστή θέση του set
upd n num : αντικατάσταση του ακεραίου που βρίσκεται στη n-οστή θέση του set με τον num
del num : διαγραφή του ακεραίου num από το set
dln n : διαγραφή του ακεραίου που βρίσκεται στη n-οστή θέση του set
fnd num : αναζήτηση του ακεραίου num και τύπωμα της θέσης του στο set
saz : ταξινόμηση τoυ set σε αύξουσα σειρά
sza : ταξινόμηση του set σε φθίνουσα σειρά
frq num : πόσες φορές εμφανίζεται ο ακέραιος num μέσα στο set
frqall : πόσες φορές εμφανίζεται ο κάθε ακέραιος μέσα στο set
swp n1 n2 : εναλλαγή των ακεραίων που βρίσκονται στις θέσεις n1 και n2 (swap)
len : εκτύπωση του πλήθους στοιχείων του set
rdup : διαγραφή όλων των έξτρα εμφανίσεων οποιουδήποτε ακέραιου υπάρχει πάνω από μια φορά στο set

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

Προφανώς δεν θα τις φτιάξετε όλες αυτές τις λειτουργίες με τη μια, φτιάχνετε τες σιγά-σιγά.