Sheet2. - Άσκηση 1 οκ - Άσκηση 2 οκ. Σκέψου πώς θα µπορούσες να την

Σχετικά έγγραφα
FAIL PASS PASS οριακά

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

- Το πρόγραµµα σας δίνει τα αναµενόµενα αποτελέσµατα.

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

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

403 FAIL Λάθος στο πακετάρισµα του αρχείου.

Sheet1_2. - Δεν απελευθερώνεις τη δυναµικά δεσµευµένη µνήµη. - Η έξοδος του προγράµµατός σου δεν είναι ακριβώς όπως ζητούσε η άσκηση.

Στην clearlist: - Όλα ok. οριακό PASS

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

lab14grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ

ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ. 812 PASS Καλή δουλειά

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

to post PASS PASS FAIL

-Δεν έχεις σχόλια, καλό θα ήταν να έχεις πιο περιγραφικό σχόλιο στην αρχή

lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου!

Sheet2 Α.Μ FAIL. οριακό PASS. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h

Sheet1_2 FAIL. - To πρόγραµµα δεν κάνει compile Δεν παρέδωσε FAIL

Βαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.

Sheet3_2. Τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές.

lab11 - Να εκτυπώνεις πιο κατατοπιστικά µηνύµατα λάθους. Αν είναι όλα ίδια, δεν είναι ξεκάθαρο ποιο αρχείο έχει πρόβληµα.

οριακό PASS 402 PASS Πολύ σωστά, µπράβο οριακό PASS

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

lab10grades - Το αποτέλεσµα της τοµής θα έπρεπε να εµφανίζετε µέσα σε εισαγωγικά "Helo".

lab5 -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο

lab2grades - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες %5.2f προδιαγραφές που ζητούνται στην εκφώνηση. -

lab9grades Άσκηση 1 - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh.

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

lab9grades -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings.

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

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

Sheet1_2. - Δεν υπάρχουν σχόλια συναρτήσεων - Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών (και σίγουρα όχι απλούς χαρακτήρες όπως c, d) Page 1

Sheet PASS 1426 PASS 1428 PASS. Page 1

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα.

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Φροντιστήριο 4 Σκελετοί Λύσεων

ΑΕΜ ή username. Sheet2

- Σωστή χρήση του προσδιοριστή const για την σταθερά pi. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς.

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ. οριακό PASS

Αναδρομικοί Αλγόριθμοι

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

Τα ονόµατα των φακέλων πρέπει να έχουν το επίθετά σας και όχι τα username που χρησιµοποιείτε στα εργαστήρια.

Διδάσκων: Παναγιώτης Ανδρέου

Βαθμός Σχόλια. lab8. οριακά PASS 1194 PASS

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα

Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Παναγιώτης Ανδρέου

Θεωρητικό Μέρος. 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); } }

Εισαγωγή στον Προγραμματισμό (με. τη C)

Αναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

lab6grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ.

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

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

- Ο τελευταίος έλεγχος στη συνάρτηση είναι περιττός. Αν έχει φτάσει µέχρι εκεί το πρόγραµµα, τότε αναγκαστικά το µήκος είναι >= του PASSWD_MIN_LEN.

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

lab7grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ

Παράδοση άσκησης: οκ, αλλά προσέξτε τις νέες οδηγίες για την ονοµασία του φακέλου.

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου.

Διάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες)

5. ΣΥΝΑΡΤΗΣΕΙΣ. (Πρόχειρο σχέδιο - Μαθήµατος 3) p Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή

lab5grades Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας.

Διάλεξη 14: Δομές Δεδομένων ΙΙI (Λίστες και Παραδείγματα)

Μεθόδων Επίλυσης Προβλημάτων

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

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

lab4grades Παρακαλούµε µη γράφετε σχόλια στα ελληνικά!

Διάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες)

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Διάλεξη 11: Φροντιστήριο για Στοίβες. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

lab3grades οριακό PASS

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

Βαθμός Σχόλιο. lab3_grades

lab4grades Παράδοση ασκήσεων: -Όλα καλά Άσκηση 1η: -Σωστή 357 PASS

ιαφάνειες παρουσίασης #5 (β)

Εισαγωγή στον Προγραμματισμό

lab5grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΣΚΗΣΗΣ ΑΛΛΑ ΣΧΟΛΙΑ

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Χαρακτηριστικά αναδροµής

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Η γλώσσα προγραμματισμού C Συνδεδεμένες Λίστες

Αναδρομή (Recursion) Πώς να λύσουμε ένα πρόβλημα κάνοντας λίγη δουλειά και ανάγοντας το υπόλοιπο να λυθεί με τον ίδιο τρόπο.

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

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

Αναδροµή (Recursion) ύο παρεξηγήσεις. Σκέψου Αναδροµικά. Τρίγωνο Sierpinski Μη αναδροµικός ορισµός;

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές

lab10grades Άσκηση 2η: - Δεν κάνει compile: Δείτε την λύση και ξανα προσπαθήστε τα υπόλοιπα στο σπίτι.

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

Transcript:

AEM ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1413. Σκέψου πώς θα µπορούσες να την 1417 κάνεις χωρίς χρήση της βοηθητικής µεταβλητής curr - Πρώτη άσκηση οκ - Στη δεύτερη άσκηση το free(head) δεν έπρεπε να είναι στο else, αλλά να εκτελείται πάντα µετά την 1420 κλήση στο clearlist(head->next). Αν το head είναι NULL, τότε η συνάρτηση απλά τερµατίζει. 1424 1426 1428 (δηλαδή το list είναι από την αρχή NULL), θα σου πετάξει segmentation fault στην προσπέλαση list->next. 1429 Έπρεπε να ελέγχεις το list, όχι το head->next σε εκείνο το σηµείο και στην περίπτωση που list==null να µην κάνεις τίποτα. - Στην άσκηση 1, το 0 έχει 1 ψηφίο οπότε έπρεπε να επιστρέφετε 1 στην πρώτη περίπτωση, κι όχι µηδέν. 1435 (δηλαδή το head είναι από την αρχή NULL), θα σου Έπρεπε να ελέγχεις το head, όχι το head->next σε εκείνο το σηµείο. (δηλαδή το head είναι από την αρχή NULL), θα 1440 Έπρεπε να ελέγχετε το head, όχι το head->next σε εκείνο το σηµείο. Επίσης, δε γίνεται ποτέ free η αρχική κεφαλή της λίστας, γιατί όταν καλείτε free(head), αυτό έχει ήδη 1442 FAIL γίνει head->next. Έπρεπε να χρησιµοποιήσετε µια βοηθητική µεταβλητή για να µη χάνετε την τιµή του head ή να µην το αλλάξετε καθόλου, απλά να περάσετε απευθείας το head->next στην αναδροµική κλήση - Στη δεύτερη άσκηση, χρησιµοποιείτε = αντί για == στη συνθήκη του if. Να προσέχετε τα warnings του compiler. Στη γραµµή 45 έπρεπε να εκτυπώνετε το head->num κι 1445 FAIL όχι το head. Επίσης, έπρεπε να έχετε το prototype της συνάρτησης πριν τη main. - Λάθος όνοµα φακέλου.. - Η άσκηση 2 δεν κάνει compile κι έχει σοβαρά λάθη. Page 1

1447 1449 1454 1456 1458 1459 FAIL 1460 1465 1467 1468 - Πρώτη άσκηση οκ, αλλά προσέξτε τη στοίχιση - Δεύτερη άσκηση οκ, αλλά προσέξτε τη στοίχιση. Σκεφτείτε πώς θα µπορούσατε να κάνετε τη δεύτερη άσκηση χωρίς να χρησιµοποιήσετε άλλη µεταβλητή (χωρίς την curr δηλαδή). - Στην πρώτη άσκηση, η συνάρτηση που γράψατε ΔΕΝ είναι αναδροµική. Μη χρησιµοποιείτε ποτέ static µεταβλητές σε "αναδροµικές" συναρτήσεις.. - Πρώτη άσκηση οκ, αλλά προσέξτε τη στοίχιση - Δεύτερη άσκηση οκ, αλλά προσέξτε τη στοίχιση. Σκεφτείτε πώς θα µπορούσατε να κάνετε τη δεύτερη άσκηση χωρίς να χρησιµοποιήσετε άλλη µεταβλητή (χωρίς την curr δηλαδή). - Άσκηση 1: Απαγορεύονται αυστηρά οι καθολικές µεταβλητές. Ο τρόπος που χρησιµοποιείς την psifia αναιρεί την αναδροµή. - Άσκηση 2: Καλείς την clearlist µε παράµετρο runner την οποία όµως έχεις ήδη κάνει free. Έπρεπε να την καλείς µε παράµετρο head... (δηλαδή το list είναι από την αρχή NULL), θα σου πετάξει segmentation fault στην προσπέλαση list->next. Έπρεπε να ελέγχεις το list, όχι το head->next σε εκείνο το σηµείο και στην περίπτωση που list==null να µην κάνεις τίποτα. Page 2

1470 1484 1485 FAIL 1486 1487 1489 1490 1493 1497 1498 1502. - Στην άσκηση 2, αν η λίστα είναι άδεια (δηλαδή. γι' αυτό πριν προσπελάσεις το root->next - Στην πρώτη άσκηση, η συνάρτησή σου επιστρέφει 0 όταν η παράµετρος είναι 10, ενώ έπρεπε να επιστρέφει 2. - Στη δεύτερη άσκηση η συνάρτηση δεν είναι αναδροµική (και το πρόγραµµα τερµατίζει µε segmentation fault) - Στη δεύτερη άσκηση κάνετε περισσότερα free από όσα πρέπει και "πηδάτε" κόµβους µε τα συνεχή next. Φαίνεται να έχετε τη βασική ιδέα αλλά την έχετε υλοποιήσει λάθος. Σωστά υπολογίζετε το curr, αλλά µετά πρέπει απλά να καλείτε τη συνάρτηση αναδροµικά µε παράµετρο το curr. Μόνο το head πρέπει να κάνετε free, κι όχι το curr->next.. γι' αυτό πριν προσπελάσεις το cur->next., αλλά την κάνατε µε κάπως πολύπλοκο τρόπο. Προσπαθήστε να την ξανακάνετε χωρίς να χρησιµοποιήσετε και την r και την counter, αλλά µόνο µία από αυτές (ή και καµία από τις δύο - δεν είναι απαραίτητες). - Άσκηση 2: warning στη γραµµή 43. Η συνάρτηση έχει void return type, οπότε γιατί βάλετε return 1? Κατά τα άλλα οκ. - Να προσέχετε τη στοίχιση - η αρχική άσκηση που στείλατε δεν ήταν καλά στοιχισµένη. Page 3

1503 1504 1505 1506 1508 FAIL 1510 1519 1524 1531 1532, αλλά την κάνατε µε κάπως πολύπλοκο τρόπο. Προσπαθήστε να την ξανακάνετε χωρίς να χρησιµοποιήσετε και την r και την counter, αλλά µόνο µία από αυτές (ή και καµία από τις δύο - δεν είναι απαραίτητες). - Άσκηση 2: warning στη γραµµή 43. Η συνάρτηση έχει void return type, οπότε γιατί βάλετε return 1? Κατά τα άλλα οκ. - Να προσέχετε τη στοίχιση - η αρχική άσκηση που στείλατε δεν ήταν καλά στοιχισµένη. - Πρώτη άσκηση οκ - Στη δεύτερη άσκηση το free(head) δεν έπρεπε να είναι στο else, αλλά να εκτελείται πάντα µετά την κλήση στο clearlist(head->next). Αν το head είναι NULL, τότε η συνάρτηση απλά τερµατίζει. - Ο έλεγχος if (head!= NULL) στην άσκηση 2 είναι περιττός. Αν ο πρώτος έλεγχος (head==null) είναι ψευδής, τότε προφανώς θα µπούµε στο else. - Ο έλεγχος if (head!= NULL) στην άσκηση 2 είναι περιττός. Αν ο πρώτος έλεγχος (head==null) είναι ψευδής, τότε προφανώς θα µπούµε στο else. - Στη δεύτερη άσκηση, χρησιµοποιείτε = αντί για == στη συνθήκη του if. Να προσέχετε τα warnings του compiler. Στη γραµµή 45 έπρεπε να εκτυπώνετε το head->num κι όχι το head. Επίσης, έπρεπε να έχετε το prototype της συνάρτησης πριν τη main.. γι' αυτό πριν προσπελάσεις το root->next 1511 FAIL Δεν εστάλη άσκηση 1514. 1516 1517 Page 4

1533. 1534 FAIL Δεν εστάλη άσκηση 1537 1539 1547 FAIL 1550 - Στην πρώτη άσκηση, η συνάρτηση που γράψατε ΔΕΝ είναι αναδροµική. Μη χρησιµοποιείτε ποτέ static µεταβλητές σε "αναδροµικές" συναρτήσεις. (δηλαδή το head είναι από την αρχή NULL), θα Έπρεπε να ελέγχετε το head, όχι το head->next σε εκείνο το σηµείο. Επίσης, δε γίνεται ποτέ free η αρχική κεφαλή της λίστας, γιατί όταν καλείτε free(head), αυτό έχει ήδη γίνει head->next. Έπρεπε να χρησιµοποιήσετε µια βοηθητική µεταβλητή για να µη χάνετε την τιµή του head ή να µην το αλλάξετε καθόλου, απλά να περάσετε απευθείας το head->next στην αναδροµική κλήση - Στη δεύτερη άσκηση κάνετε περισσότερα free από όσα πρέπει και "πηδάτε" κόµβους µε τα συνεχή next. Φαίνεται να έχετε τη βασική ιδέα αλλά την έχετε υλοποιήσει λάθος. Σωστά υπολογίζετε το curr, αλλά µετά πρέπει απλά να καλείτε τη συνάρτηση αναδροµικά µε παράµετρο το curr. Μόνο το head πρέπει να κάνετε free, κι όχι το curr->next. - Άσκηση 1: Απαγορεύονται αυστηρά οι καθολικές µεταβλητές. Ο τρόπος που χρησιµοποιείτε την psifia αναιρεί την αναδροµή. - Άσκηση 2: Καλείτε την clearlist µε παράµετρο runner την οποία όµως έχετε ήδη κάνει free. Έπρεπε να την καλείτε µε παράµετρο head. - Στην άσκηση 1, το 0 έχει 1 ψηφίο οπότε έπρεπε να επιστρέφετε 1 στην πρώτη περίπτωση, κι όχι µηδέν. Page 5