ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/10, 23:59

Σχετικά έγγραφα
ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 5/12/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 25/11/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 13/1/13, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 27/11/11, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: Τρίτη 4/11/2014, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/2016, 21:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσμία: Τετάρτη 9/11/2016, 21:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: Τρίτη 10/11/2015, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσμία: Τετάρτη 23/11/2016, 21:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 6/11/11, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 25/11/13, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 3/12/2018, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Τετάρτη 7/12/2016, 21:00

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 10/11/12, 22:00

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Προθεσµία: 9/1/2015, 22:00

Προγραµµατισµός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 5ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Προθεσµία: 10/12/2014, 22:00

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 3ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 8ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 8 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 8ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 8 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1. Εργαστήριο 6. Εαρινό Εξάμηνο

Εργαστήριο 5. Εαρινό Εξάμηνο

lab7: Συμβολοσειρές Συμβολοσειρές Ασφάλεια εισόδου Αναγνωσιμότητα κώδικα (σχόλια, στοίχιση, περιγραφικά ονόματα μεταβλητών, κτλ.)

ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ - ΜΕΡΟΣ Γ'

ΘΕΜΑ Α. 1. Η δυαδική αναζήτηση χρησιμοποιείται μόνο σε ταξινομημένες συλλογές δεδομένων.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Διασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1

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

Διαδικασιακός Προγραμματισμός

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

Σημειωματάριο Δευτέρας 20 Νοε. 2017

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 1. Χειμερινό Εξάμηνο

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος

Δείτε τώρα και πώς θα έπρεπε να ήταν το παραπάνω: Page 1

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

Ανάπτυξη και Σχεδίαση Λογισμικού

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2016 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Προγραµµατιστική Εργασία 1 ο Μέρος

FAIL PASS PASS οριακά

Προγραμματισμός Ι (ΗΥ120)

an:3 are:6 a:10

ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

Τι είναι υποπρόγραμμα; Τμήμα προγράμματος το οποίο επιτελεί ένα αυτόνομο υπολογιστικό έργο (γράφεται χωριστά από το υπόλοιπο πρόγραμμα)

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 2: Δείκτες & Δυναμική Ανάθεση Μνήμης

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Προγραµµατισµός Ι (ΗΥ120)

Πρόβλημα 37 / σελίδα 207

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 5 Ανάπτυξη Προγράμματος Συμπίεσης/Αποσυμπίεσης Αρχείων

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

διεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t)

Προγραµµατισµός Ι Εργαστήριο 4ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος Διδάσκουσα: Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 1 ο Μέρος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ ÈÅÌÅËÉÏ

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Εργαστήριο 9: Αρχεία

Πανεπιστήµιο Θεσσαλίας, THMMY HY120, Σεπτέµβριος 2015 ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

abistarakis PASS - Σωστή κατασκευή tgz και ονοµασία αρχείων

Sheet2. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών.

Transcript:

ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010-2011 Προθεσµία: 22/12/10, 23:59 Στόχοι Λίστες Χρήση συναρτήσεων Χρήση δοµών ελέγχου Φορµαρισµένη είσοδος και έξοδος δεδοµένων Χρήση σχολίων και αναγνωσιµότητα προγράµµατος [έµµεσα] Χρήση gdb Πριν ξεκινήσετε Διαβάστε ΟΛΗ την εκφώνηση προσεκτικά και σχεδιάστε το πρόγραµµά σας στο χαρτί. Μη διστάζετε να ζητήσετε βοήθεια! Μπορείτε να χρησιµοποιήσετε το forum προγραµµατισµού (http://inf-server.inf.uth.gr/courses/coding/) και φυσικά email. Η εργασία αυτή µπορεί να γίνει είτε ατοµικά είτε σε οµάδες των 2 ατόµων. Μπορείτε να συζητάτε τις ασκήσεις µε συµφοιτητές σας εκτός οµάδας αλλά δεν επιτρέπεται η ανταλλαγή κώδικα µε οποιοδήποτε τρόπο. Δεν είναι απαραίτητο να είστε στην ίδια οµάδα από το πρώτο σετ ασκήσεων. Η λύση σας πρέπει να περιέχει σχόλια προγράµµατος και σχόλια συναρτήσεων σύµφωνα µε τις οδηγίες που αναγράφονται στο φυλλάδιο σχολιασµού. Πρέπει να χρησιµοποιείτε συναρτήσεις για όλες τις καλά ορισµένες επιµέρους λειτουργίες των προγραµµάτων σας. Δεν πρέπει να χρησιµοποιήσετε καθολικές µεταβλητές εκτός από αυτή που αποθηκεύει την κεφαλή της λίστας. Ξεκινήστε νωρίς! Ο προγραµµατισµός είναι πάντα ΠΟΛΥ πιο χρονοβόρος από ό,τι περιµένετε. Εκπρόθεσµες ασκήσεις δε γίνονται δεκτές.

Άσκηση 1 Υλοποιείστε µια λίστα, διπλά διασυνδεδεµένη, µε sentinel, η οποία αποθηκεύει ζεύγη <όνοµα, τηλέφωνο> έτσι ώστε να µπορεί να γίνει εύκολη αναζήτηση µε βάση είτε το όνοµα είτε το τηλέφωνο. Για να επιτευχθεί αυτό, πρέπει κάθε κόµβος της λίστας να δείχνει και στον επόµενο κόµβο αλφαβητικά και στον επόµενο κόµβο αριθµητικά. Για την ακρίβεια, κάθε κόµβος περιέχει:: Το όνοµα: µια δοµή (struct) δύο συµβολοσειρών µεγέθους NAMESIZE, µια για το επώνυµο και µια για το µικρό Τον αριθµό τηλεφώνου: µια συµβολοσειρά, µέγιστου µεγέθους PHONESIZE Ένα δείκτη προς κόµβο: τον επόµενο κόµβο αλφαβητικά κατά όνοµα Ένα δείκτη προς κόµβο: τον επόµενο κόµβο αριθµητικά κατά τηλέφωνο Ένα δείκτη προς κόµβο: τον προηγούµενο κόµβο αλφαβητικά κατά όνοµα Ένα δείκτη προς κόµβο: τον προηγούµενο κόµβο αριθµητικά κατά τηλέφωνο Για παράδειγµα, µια λίστα που περιέχει τα στοιχεία ( Potter Harry, 3333333333 ), ( Granger Hermione, 2222222222 ), ( Weasley Ron, 1111111111 ) θα µοιάζει όπως βλέπετε στο σχήµα της τελευταίας σελίδας. Η λίστα σας θα πρέπει να υποστηρίζει εισαγωγή νέων στοιχείων, την εκτύπωση περιεχοµένων αλφαβητικά κατά όνοµα, την εκτύπωση περιεχοµένων κατά αριθµό τηλεφώνου (και στις δύο περιπτώσεις σε αύξουσα σειρά), την αφαίρεση στοιχείων µε βάση το πλήρες όνοµα και αφαίρεση στοιχείων µε βάση τον αριθµό τηλεφώνου. Όλες αυτές οι λειτουργίες πρέπει να γίνονται µε τη χρήση κατάλληλων συναρτήσεων. Η συνάρτηση εισαγωγής νέου στοιχείου πρέπει να παίρνει ως παραµέτρους ένα επώνυµο, ένα µικρό όνοµα, και ένα τηλέφωνο. Αν υπάρχει ήδη άτοµο µε τα ίδια ακριβώς στοιχεία, τότε δεν εισάγεται νέο. Αν υπάρχει άτοµο µε το ίδιο όνοµα αλλά διαφορετικό τηλέφωνο, εισάγεται νέο στοιχείο, αλλά δε µας ενδιαφέρει η σχετική διάταξη των στοιχείων που έχουν ίδιο όνοµα µεταξύ τους. Οµοίως αν υπάρχει άτοµο µε ίδιο τηλέφωνο αλλά διαφορετικό όνοµα. Η συνάρτηση για την εισαγωγή νέου στοιχείου πρέπει να επιστρέφει 0 αν το στοιχείο δεν εισήχθη για οποιοδήποτε λόγο (πχ αποτυχία δέσµευσης µνήµης) και 1 αν το στοιχείο εισήχθη επιτυχώς. Η συνάρτηση αφαίρεσης στοιχείων πρέπει να παίρνει ως παράµετρο ή παραµέτρους τα κριτήρια (ή τηλέφωνο ή επώνυµο και όνοµα) και να επιστρέφει το πλήθος των στοιχείων που αφαιρέθηκαν. Είναι δυνατό να υπάρχουν περισσότερα από ένα άτοµα µε τον ίδιο αριθµό τηλεφώνου ή κάποιο άτοµο να έχει περισσότερους από έναν αριθµό τηλεφώνου. Χρησιµοποιήστε 40 για το NAMESIZE και 11 για το PHONESIZE. Bonus: Θα δοθεί bonus έως και 20% σε όσους υλοποιήσουν την εισαγωγή νέων στοιχείων έτσι ώστε στοιχεία µε ίδιο όνοµα εµφανίζονται ταξινοµηµένα ανάλογα µε τον αριθµό τηλεφώνου (στη διάταξη ανά όνοµα) και στοιχεία µε ίδιο τηλέφωνο εµφανίζονται ταξινοµηµένα ανάλογα µε το όνοµα (στη διάταξη ανά τηλέφωνο). Η ταξινόµηση εννοείται ότι είναι σε αύξουσα σειρά.

Είσοδος/Έξοδος: Το πρόγραµµα εκτυπώνει κατ επανάληψη το µενού: Please select from the following menu: 1. Add a record 2. Remove all references of a name 3. Remove all references of a phone number 4. Search for all references of a name 5. Search for all references of a phone number 6. Print all records sorted alphabetically 7. Print all records sorted arithmetically 8. Exit --> Αν η επιλογή του χρήστη δεν είναι µεταξύ 1 και 8, απλά ξαναεκτυπώνεται το µενού. Κάθε φορά που ζητείται η εισαγωγή στοιχείων στη λίστα, ο χρήστης δίνει το όνοµα και το τηλέφωνο µε τη σειρά: επώνυµο µικρό τηλέφωνο Κατά την εκτύπωση των περιεχοµένων της λίστας τα περιεχόµενα κάθε κόµβου εµφανίζονται σε νέα γραµµή µε τη µορφή: επώνυµο, µικρό, τηλέφωνο Για περισσότερες λεπτοµέρειες δείτε τα αρχεία ελέγχου στο φάκελο tests Προσοχή: Η έξοδος του προγράµµατός σας στην οθόνη πρέπει να ταιριάζει ακριβώς µε αυτή των αρχείων ελέγχου. Αρχεία άσκησης 1 προς παράδοση: hw4.c

Πώς να παραδώσετε τη δουλειά σας (Ακολουθείστε τις οδηγίες ακριβώς αλλιώς µπορεί να µη δούµε τα αρχεία σας) Οµάδα ενός ατόµου: Κατασκευάστε ένα φάκελο µε όνοµα επώνυµο_αεμ και αντιγράψτε µέσα σε αυτόν το hw4.c Πηγαίνετε στο φάκελο µέσα στον οποίο βρίσκεται το επώνυµο_αεμ που κατασκευάσατε και γράψτε την παρακάτω εντολή: tar czf epwnumo_aem.tgz epwnumo_aem Στείλτε email στη διεύθυνση ce120lab@gmail.com και ένα αντίγραφο (CC) στον εαυτό σας µε θέµα (subject) "CE120 hw4" και επικολληµένο αρχείο το epwnumo_aem.tgz Οµάδα δύο ατόµων: Κατασκευάστε ένα φάκελο µε όνοµα επώνυµο1_αεμ1_επώνυµο2_αεμ2 και αντιγράψτε µέσα σε αυτόν το hw4.c Πηγαίνετε στο φάκελο µέσα στον οποίο βρίσκεται το επώνυµο_αεμ που κατασκευάσατε και γράψτε την παρακάτω εντολή: tar czf επώνυµο1_αεμ1_επώνυµο2_αεμ2.tgz επώνυµο1_αεμ1_επώνυµο2_αεμ2 Στείλτε email στη διεύθυνση ce120lab@gmail.com και στα δύο µέλη της οµάδας, µε θέµα "CE120 hw4" και επικολληµένο αρχείο το epwnumo1_aem1_epwnumo2_aem2.tgz