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

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

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

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

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

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

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

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

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

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

FAIL PASS PASS οριακά

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

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

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

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

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

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

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

lab7grades -Σωστή χρήση της sprintf -Σωστά ανιχνεύετε τον χαρακτήρα που πρέπει να αφαιρέσετε. -Σωστή µεταφορά στοιχείων µια θέση αριστερά.

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

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

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

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

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

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

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

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

Άσκηση 2: -Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6

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

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

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

to post PASS PASS FAIL

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

ΑΕΜ ή username. Sheet2

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

lab6grades - Δεν έχετε δηλώσει το βαθµό βάσης ως σταθερά. - Το µήνυµα εισόδου θέλει χαρακτήρα κενού ' ' στο τέλος και όχι TAB '\t'.

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

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

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

Επανάληψη για τις Τελικές εξετάσεις

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

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

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

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

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

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

Δεν έστειλες την άσκηση 1, και αυτό που έστειλες ήταν σκέτο αρχείο, όχι το tgz που ζητούσε η εκφώνηση.

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

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

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

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

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.

5ο σετ σημειώσεων - Δείκτες

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

Ενδεικτικές λύσεις και στατιστικά

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

Λύσεις για τις ασκήσεις του lab5

Διάλεξη 5: Δείκτες και Συναρτήσεις

lab3grades οριακό PASS

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

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

Μ.Σ. lab12grades FAIL. η συνθήκη για έξοδο είναι και αυτή σωστή. Οριακό PASS. στα string. - σωστή και η κλήση της συνάρτησης.

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

int a[5]; a[0] a[1] a[2] a[3] a[4] 15/10/2009

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

Υπολογισμός - Εντολές Επανάληψης

lab3grades - Δεν παραδόθηκε. - Προσπαθήστε να κάνετε την άσκηση στο σπίτι.

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

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

Η βασική συνάρτηση προγράμματος main()

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

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

ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης

lab3_all Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εργαστηριακή Άσκηση 1

είκτες και Πίνακες (2)

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

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

Μεταβλητές τύπου χαρακτήρα

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

scanf() scanf() stdin scanf() printf() int float double %lf float

Transcript:

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Λάθος θέµα e-mail. -Πολύ καλή προσπάθεια, σωστά αποτελέσµατα χωρίς λάθη αλλά µε Υπάρχει µια προειδοποίηση σχετικά µε την εκτύπωση printf της θέσης. -Ωραία περιγραφικά σχόλια, αλλα καλό θα ήταν να έχεις και στην αρχή του προγράµµατος και καλή στοίχιση. 321 FAIL -Το πρόγραµµα σου έχει 1 λάθος και 1 προειδοποίηση. Το ένα βασικά σχετίζεται µε το άλλο. Έχεις δηλώσει πολύ σωστά το πίνακα για τις λέξεις, αλλά στη συνάρτηση δε χρειαζόταν οι [] για να την καλέσεις(αυτό είναι το λάθος). Και έτσι βγαίνει και η προειδοποίηση γιατί ενώ δηλώνεις τον πίνακα χαρακτηρών δεικτών φαίνεται ότι δε το χρησιµοποιείς. Δεν κάνεις εκτύπωση του αποτελέσµατος αλλά το πήγαινες καλά. -Δεν έχεις ολοκληρώσει τη συνάρτηση(ορισµό της). -Δεν έχεις σχόλια, καλό θα ήταν να έχεις πιο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. 1349 -Πολύ καλή προσπάθεια, σωστά αποτελέσµατα (δεν εµφανίζεται η τελευταία θέση, που σηµαίνει ότι δεν έχετε προσπελάσει σωστά τον πίνακα) χωρίς λάθη αλλά µε Η προειδοποίηση είναι σχετικά µε το αποτέλεσµα της θέσης που πρέπει να εκτυπωθεί. -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. Θυµηθείτε να ρυθµίσετε το kate. 1482 - Καλή δουλειά και ωραία λύση. - Σωστή έξοδος και περιγραφικά ονόµατα. - Σωστή λύση. Καλή δουλειά! Σωστός κώδικας, καλές µεταβλητές, στοίχιση και σχόλια. 1559 1561 FAIL ξανά. -Τα warnings θα µπορούσατε να τα αποφύγετε αν κάνατε typecast σε int. - Δεν κάνει compile και έχει λάθος στη λογική της άσκησης. - Δεν παραδόθηκε.

Θυµηθείτε να ρυθµίσετε το kate. 1562 - Καλή δουλειά και ωραία λύση. - Σωστή έξοδος και περιγραφικά ονόµατα. - Σωστή λύση. Καλή δουλειά! Σωστός κώδικας, καλή στοίχιση και µεταβλητές. -Δεν υπάρχει αρχικό σχόλιο. -Μετά την τελευταία εκτύπωση χρειάζεται ένα \n. 1563 1565 -Καλή προαπάθεια. -Το pos είναι σωστό αλλά θα έπρεπε να το υπολογίσετε µε αριθµητική δεικτών. -Στη γραµµή 21 δεν χρειάζεται το & (δείτε το warning). -Το warning για το size_t θα µπορούσατε να το αποφύγετε κάνοντας typecast το αποτέλεσµα της strlen σε int.! Σωστός κώδικας, καλές µεταβλητές και σχόλια. -Προσέξτε λίγο περισσότερο τη στοίχιση. -Καλή δουλειά και σωστή έξοδος. -Τα warnings θα µπορούσατε να τα αποφύγετε αν κάνατε typecast σε int.! Σωστός κώδικας, καλές µεταβλητές, στοίχιση και σχόλια. 1566 Oριακό -O κώδικας σας δεν δίνει σωστά αποτελέσµατα καθώς ο τρόπος σκέψης σας δεν είναι σωστός. -Καταρχήν, ο πίνακας µε τους pointers είναι δηλωµένος ως int *, ενώ έπρεπε να είναι char * -Επίσης, δεν χρειάζονται δύο µετρητές ( [i][j] ) για την προσπέλαση των στοιχείων του πίνακα words. -Δεν χρειάζεται το & στην ανάθεση των δεικτών ( γραµµές 13 και 20). Σας ειδοποιεί και ο compiler. -Η έξοδος του προγράµµατος σας δεν είναι σύµφωνη µε τα πρότυπα της άσκησης. Ρυθµίστε το Kate. Αλλιώς ο κώδικας βγαίνει αστοίχιστος και γίνεται δυσανάγνωστος. 1567 - Αφήστε από καµιά κενή γραµµή για να οµαδοποιεί τε τον κώδικα σας. - Σε γενικές γραµµές καλή δουλειά. - Για να τυπώσετε σωστά το pos πρέπει να κάνετε αφαίρεση στον πίνακα διευθύνσεων (όχι στον πίνακα αριθµών) ως εξής (nump[i] - nump[0]). Επίσης γιατί είχατε βάλλει number[i+1];;; - Καλή δουλειά και σωστή έξοδος. - Προσέξτε µόνο τη στοίχιση.

1568 - Προτιµάται να γράφουµε NULL και όχι 0 όταν αναφερόµαστε σε διευθύνσεις - Καλές µεταβλητές, στοίχιση. - Σωστή άσκηση - Δεν εκτυπώνεται το pos, αλλά κατά τα άλλα είναι οκ. - Το warning για το size_t θα µπορούσατε να το αποφύγετε κάνοντας typecast το αποτέλεσµα της strlen σε int. µεταβλητές, στοίχιση και σχόλιο. 1570 -Μεταβλητές, στοίχιση και σχόλιο όπως πριν. -Έχετε warnings επειδή δεν κάνετε typecasitng σε int τη θέση και το µέγεθος στην εκτύπωση. -Σωστό αποτέλεσµα. -Καλή δουλειά. Λάθος θέµα e-mail. -Θα µπορούσατε να χρησιµοποιήσετε µια µεταβλητή, pivot έστω, αντί για το 4 που έχετε για να κάνετε τον έλεγχο. -Ωραία περιγραφικό σχόλιο στην αρχή, η στοίχιση θα µπορούσε να ήταν καλύτερη. 1571 -Καλή προσπάθεια, σχετικά αποτελέσµατα χωρίς λάθη. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε το µήκος των λέξεων που πρόκειται να εµφανίσετε, αυτό διορθώνεται αν βάζατε ένα (int) πριν ακριβώς από το strlen(wordsp[i]). -Για να βρείτε την θέση (pos) απλά έπρεπε να κάνετε στην printf την πράξη: (wordsp[i]-wordsp[0])/wordlen. -Καθόλου περιγραφικό σχόλιο! Προσέξτε λίγο και τη στοίχιση! σχόλιο, -Μετά την εκτύπωση θέλει αλλαγή σειράς. 1572 FAIL -Ο κώδικας δεν κάνει compile. Λείπει µια βιβλιοθήκη και παραθένσεις από τον κώδικα. -Η µεταβλητή pos[nsize] τι κρατάει? Κι αν το pos είναι πίνακας, τότε τι υποτίθεται ότι είναι το words[pos]? -Στοίχιση καλή.

1573 1574 FAIL! Σωστός κώδικας, καλές -Το σχόλιο θα µπορούσε να είναι λίγο πιο περιγραφικό. -Καλή δουλειά ξανά και σωστή έξοδος. -Τα warnings θα µπορούσατε να τα αποφύγετε αν κάνατε type cast σε int. - Το πρόγραµµα δεν εκτυπώνει ακριβώς σωστές τιµές και γενικά δεν ακολουθούνται ακριβώς οι προδιαγραφές της άσκησης. -Πολλές κενές γραµµές στο τέλος του κώδικα. - Ο πίνακας numbers_ptr χρειάζεται διαφορετικό index για να τον διατρέχουµε σε σχέση µε τον πίνακα numbers kai to else κοµµάτι γραµµές 14-16 δε θα έπρεπε να υπάρχει εκεί. Θα έπρεπε να αντικατασταθεί µε µία αρχικοποίηση του πίνακα numbers_ptr σε NULL. - Το πρόγραµµα περιέχει errors και δεν κάνει compile. - Κακή στοίχιση. - Στη γραµµή 19 η κλήση της συνάρτησης πρέπει να γίνει ως εξής: findminandswap(start, words); - Ηµιτελής άσκηση! Σωστός κώδικας, καλές µεταβλητές, στοίχιση και σχόλια. 1577 Οριακό 1578 1579 -O κώδικας σας δεν δίνει σωστά αποτελέσµατα καθώς ο τρόπος σκέψης σας δεν είναι σωστός. -Καταρχήν, ο πίνακας µε τους pointers είναι δηλωµένος ως int *, ενώ έπρεπε να είναι char * -Επίσης, δεν χρειάζονται δύο µετρητές ( [i][j] ) για την προσπέλαση των στοιχείων του πίνακα words. -Δεν χρειάζεται το & στην ανάθεση των δεικτών ( γραµµές 13 και 20). Σας ειδοποιεί και ο compiler. -Η έξοδος του προγράµµατος σας δεν είναι σύµφωνη µε τα πρότυπα της άσκησης.! Σωστός κώδικας, καλές µεταβλητές και σχόλια. -Προσέξτε λίγο περισσότερο τη στοίχιση. -Καλή δουλειά και σωστή έξοδος. -Τα warnings θα µπορούσατε να τα αποφύγετε αν κάνατε typecast σε int.! Σωστός κώδικας, καλές -Το σχόλιο θα µπορούσε να είναι λίγο πιο περιγραφικό. -Καλή δουλειά ξανά και σωστή έξοδος. -Τα warnings θα µπορούσατε να τα αποφύγετε αν κάνατε typecast σε int.

Ασκηση 1η: 1580 FAIL -Το πρόγραµµα σας δεν βγάζει λάθη ή προειδοποιήσεις κατά τη µετταγλώτιση, αλλά κατά την εκτέλεση βγάζει segmentation fault στο numbers[*pointer[i+1]] το οποίο µε το gdb βγαίνει πολύ εύκολα. Γιατί το χρησιµοποιήσατε αυτό; -Δεν υπάρχουν σχόλια... -Καλή στοιχίση, ονόµατα µεταβλητών και σταθερών. -Δε βγαίνουν σωστά αποτελέσµατα, συγκεκριµένα λείπουν η 1η και η τελευταία θέση, αλλά και πάλι δεν τις υπολογίζετε σωστά. -Το πρόγραµµα σας δεν κάνει εντελώς τίποτα. -Δεν υπάρχει τίποτα µέσα στη main πέρα από αυτά που σας δόθηκαν. 1581 οριακό -Το πρόγραµµα σας δεν λάθη και προειδοποισεις αλλά segmentation fault. Θα µπορούσατε έυκολα να το βρείτε µε gdb καθώς έχετε την for που εκτυπώνετε τα αποτελέσµατα µέσα στην άλλη for!!!κατα τα άλλα τα αποτελέσµατα θα ήταν σωστά! -Θα µπορούσατε τη µεταβλητή j που έχετε, να την αρχικοποιησέτε στο SIZE-1 και κάθε φορά, αντίστοιχα µέσα στο τµήµα όπου την αυξάνετε να την µειώνετε. -Ωραία περιγραφικά σχόλια, η στοίχιση θα µπορούσε να ήταν καλύτερη. -Καλή προσπάθεια, σωστά αποτελέσµατα χωρίς λάθη και προειδοποιήσεις. -Για να βρείτε την θέση (pos) απλά έπρεπε να κάνετε στην printf την πράξη: (wordsp[i]-wordsp[0])/wordlen. -Ωραία περιγραφικά σχόλια, η στοίχιση θα µπορούσε να ήταν καλύτερη. - Πολύ καλή δουλειά. Ακολουθείτε τις προδιαγραφές. - Προσέξτε λίγο τη στοίχιση. 1582 - Η εκτέλεση οδηγεί σε segmentation fault. - Φταίει ο λάθος αλγόριθµος στην εκτέλεση του findminandswap. To start-1 στις γραµµές 26, 29 και 30 σας οδηγεί εκτός ορίων πίνακα. Προσπαθήστε να το διορθώσετε.

1583 FAIL -Το πρόγραµµα σας δε δίνει σωστά αποτελέσµατα τουλάχιστον χωρίς λάθη και -Ωραία περιγραφικά σχόλια και καλή στοίχιση. -Δε παίρνετε τα σωστά αποτελέσµατα, διότι, δεν κάνετε σωστό έλεγχο. Πρώτα απ' όλα, θα έπρεπε να έχετε κάποιες επιπλέον µεταβλητές, για το στοιχείο που θα είναι το διαχωριστικό που λέγαµε, έστω µία pivot, και κάποιες επιπλέον που αντίστοιχα µε τον έλεγχο για το αν είναι > ή <= θα έπρεπε βάση της αρχικοποίησης της στο SIZE-1 να µειώνεται αντίστοιχα. Προσπαθήστε να την κάνετε πιο σωστή την άσκηση σας. -Το πρόγραµµα σας δεν έχει τελειώσει χωρίς λάθη τουλάχιστον αλλά µε προειδοποισεις για κάτι το οποίο δηλώσατε αλλά δεν χρησιµοποιείτε. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Ωραία περιγραφικά σχόλια και καλή στοίχιση. -Το πρόγραµµα σας δεν κάνει σχεδόν τίποτα... 1584 FAIL 1587 οριακό -Κανένα σχόλιο, ούτε καν σαν επικεφαλίδα στο πρόγραµµα. -Ηµιτελές πρόγραµµα σε πολύ αρχικό στάδιο. -Ένα warning..λογικό καθώς το πρόγραµµα ήταν σε πολύ αρχικό στάδιο. -Δεν υπάρχει σχόλιο σαν επικεφαλίδα στο πρόγραµµα. µεταβλητές, σχόλιο και στοίχιση. -Αρκετά καλή δουλειά αν και θα µπορούσατε να βάλετε τα στοιχεία στο pnum µε µία for. -Μεταβλητές, σχόλιο και στοίχιση όπως πριν. -Έχετε warning επειδή δεν κάνετε typecasting σε int το µέγεθος στην εκτύπωση κι επειδή συγκρίνετε τη διεύθυνση ενός πίνακα µε NULL! -Σωστά αποτελέσµατα αλλά σας πετάει segmetation fault. Στην εξωτερική for που εκτυπώνετε έπρεπε να πάτε µέχρι j και όχι µέχρι SIZE.

-Ωραία περιγραφικά σχόλια και καλή στοίχιση. -Θα µπορούσατε τη µεταβλητή right που έχετε, να την αρχικοποιησέτε στο SIZE-1 και κάθε φορά, αντίστοιχα µέσα στο τµήµα όπου την αυξάνετε να την µειώνετε. 1589 -Καλή προσπάθεια, όχι και τελειώς σωστά αποτελέσµατα αλλά χωρίς λάθη. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε το µήκος των λέξεων που πρόκειται να εµφανίσετε, αυτό διορθώνεται αν βάζατε ένα (int) πριν ακριβώς από το strlen(words[i]). -Το πρόγραµµα σας δίνει segmentation fault. Σας το βγάζει γιατί στη γραµµή 38 έχετε i=j+1 στο κοµµάτι της for. -Ωραία περιγραφικά σχόλια και καλή στοίχιση. -Καλή δουλειά. Σωστός κώδικας, καλή στοίχιση και µεταβλητές, όπως και σχόλια. 1590 1591 -Καλή προσπάθεια. -Σωστή αριθµητική δεικτών. -Το len είναι λάθος γιατί θα έπρεπε να τυπώνετε το strlen(words_ptr[i]) και όχι το strlen(words[i]). -Επίσης δεν εκτυπώνετε τον τελευταίο pointer γιατί ο βρόχος σας τρέχει µέχρι nump-1 αντί για nump (πρέπει i<=nump). -Τα warnings θα µπορούσατε να τα αποφύγετε αν κάνατε typecast σε int. -Ωραία περιγραφικά σχόλια και καλή στοίχιση(αν και το τελευταίο τόσο µεγάλο κενό προς το τέλος του προγράµµατος δε χρειαζόταν.) -Γιατί εδώ δε βάλατε καθόλου σχόλια όπως είχατε στην 1? Επίσης δεν έχετε τόσο καλή στοίχιση.

1592 FAIL -Πολύ καλή προσπάθεια, σχετικά σωστά αποτελέσµατα (δεν εµφανίζεται σωστά η θέση, που σηµαίνει ότι έπρεπε στην εκτύπωση να έχετε µία πράξη δηλαδή pointers[i] - pointers[0]) χωρίς λάθη και -Δεν υπάρχει περιγραφικό σχόλιο στην αρχή του προγράµµατος αλλά καλή στοίχιση. -Υπάρχουν λάθη και προειδοποιήσεις, το πρόγραµµα σας είναι ηµιτελές. Το πρόγραµµα σας δεν κάνει σχεδόν τίποτα. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Δεν υπάρχει σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. 1594 FAIL - Έχετε warnings διότι δε χρησιµοποιείτε τους τελεστές * και & όπου χρειάζεται και δεν κάνετε #include το stdio.h - Ένας πίνακας µεγέθους SIZE έχει στοιχεία στις θέσεις 0 έως και SIZE-1. Εποµένως όταν γράφετε pnums[size]=numbers[size], βγαίνετε εκτός ορίων και στους δύο πίνακες. - Αυτό που κάνετε µε το while δεν είναι σωστό, δείτε τη λύση. - Λίγος κώδικας και δεν κάνει compile. - Πολύ καλή δουλειά. Ακολουθείτε τις προδιαγραφές. - Προσέξτε λίγο τη στοίχιση. 1595 1596 Οριακό - Η εκτέλεση οδηγεί σε segmentation fault. - Φταίει ο λάθος αλγόριθµος στην εκτέλεση του findminandswap. To start-1 στις γραµµές 26, 29 και 30 σας οδηγεί εκτός ορίων πίνακα. Προσπαθήστε να το διορθώσετε. - Δεν βάζετε καθόλου σχόλια στον κώδικά σας, επίσης µην αφήνετε τόσες πολλές κενές γραµµές στο τέλος των προγραµµάτων - Καλή υλοποίηση, όµως στην εκτύπωση των αποτελεσµάτων οι θέσεις για το κάθε ψηφίο δεν υπολογίζονται σωστά. Αρκούσε να γράφατε deikths[i]-deikths[0]. - Παροµοίως για τα σχόλια και τις κενές γραµµές στο τέλος - Στην γραµµή 21, το printf("%s\n",words[i]); δεν χρειάζεται το * πριν το όνοµα του πίνακα words - Η υλοποίηση της findminandswap δεν είναι σωστή, καθώς σε κάθε επανάληψη αντικαθιστά όλα τα αλφαριθµητικά µε την "mu", που είναι το πρώτο αλφαριθµητικό µε το µικρότερο µήκος

- Δεν βάζετε καθόλου σχόλια! - Η µεταβλητή thesh1 δεν χρησιµεύει ούτε χρησιµοποιείται πουθενά - Τα ονόµατα των µεταβλητών θα µπορούσαν να είναι πιο περιγραφικά - Καλή υλοποίηση, σωστή εκτύπωση των αποτελεσµάτων 1597 FAIL - Δεν βάζετε καθόλου σχόλια! - Το πρόγραµµα βγάζει πολλά errors. Βασικά φαίνεται να την κάνατε βιαστικά - Η µεταβλητή start για παράδειγµα, που την χρησιµοποιείτε στην κλήση της findminandswap δεν παίρνει κάποια τιµή, πριν τη χρήση της. - Στην κλήση της findminandswap (start, *words); το * δεν χρειάζεται - ln 22, η σωστή printf θα πρέπει να είναι printf( "%s \n",words[i]); - Στην υλοποίηση της findminandswap έχετε λάθος την λογική της, δεν βρίσκετε το αλφαριθµητικό µε το min µέγεθος - Η temp είναι τύπου int, ενώ το words[start+1] είναι τύπου char* - Η strlen επιστρέφει το µήκος ενός string, που το αποθηκεύετε αυτό? (ή να το χρησιµοποιήσετε πχ σε µια if συνθήκη) - Η σωστή κλήση της strlen(*words[i]); είναι χωρίς *. - Διαβάστε τις Διαλέξεις 12-13 για καλύτερη κατανόηση της σχέσης µεταξύ πινάκων και δεικτών. -Καλή δουλειά. Σωστός κώδικας, καλή στοίχιση και µεταβλητές, όπως και σχόλια. 1598 1600 FAIL 1601 -Καλή προσπάθεια. -Σωστή αριθµητική δεικτών. -Το len είναι λάθος γιατί θα έπρεπε να τυπώνετε το strlen(words_ptr[i]) και όχι το strlen(words[i]). -Επίσης δεν εκτυπώνετε τον τελευταίο pointer γιατί ο βρόχος σας τρέχει µέχρι nump-1 αντί για nump (πρέπει i<=nump). -Τα warnings θα µπορούσατε να τα αποφύγετε αν κάνατε typecast σε int. - Δεν υπολογίζετε σωστά τις θέσεις των αριθµών και στην εκτύπωση δεν σας εµφανίζει τίποτα για το τελευταίο στοιχείο του πίνακα numbers - Δεν παραδόθηκε - Προτιµάται να γράφουµε NULL και όχι 0 όταν αναφερόµαστε σε διευθύνσεις - Καλές µεταβλητές, στοίχιση. - Σωστή άσκηση - Δεν εκτυπώνεται το pos, αλλά κατά τα άλλα είναι οκ. - Το warning για το size_t θα µπορούσατε να το αποφύγετε κάνοντας typecast το αποτέλεσµα της strlen σε int. µεταβλητές αλλά µέτρια στοίχιση. -Λείπει το σχόλιο. 1602 FAIL Άσκηση 2(Λάθος όνοµα αρχείου): -Δεν κάνει compile. Έχεις αρκετά λάθη. -Στο αλγοριθµικό κοµµάτι το SIZE*WORDLEN που δηλώνεις ως µέγεθος του πίνακα και στο τερµατισµό της for είναι λάθος. Θέλει σκέτο SIZE. -Το strlen(words[size]) είναι λάθος. Με SIZE είσαι εκτός ορίων πίνακα. -Δες την ενδεικτική λύση.

1604 -Μεταβλητές, σχόλιο και στοίχιση όπως πάνω. -Σωστή εκτύπωση των strings, αλλά όχι του µεγέθους και της θέσης. -Μπoρούσατε πολύ απλά µέσα στη printf printf("pos: %d, len: %d, word: %s\n", (int)(ptr[i]-ptr[0])/wordlen, (int)strlen(ptr[i]), ptr[i]); Δε χρειαζόταν να µπλέξετε µε πίνακες position και len. -Καλή προσπάθεια. Ασκηση 1η: 1605 FAIL -Το πρόγραµµα σας έχει µια προειδοποίηση που θα µπορούσατε να διορθώσετε, δεν έχει λάθη αλλά και πάλι δεν εµφανίζονται τα σωστά αποτελέσµατα.δεν εµφανίζεται σωστά το pos. -Καθόλου περιγραφικό σχόλιο. -Το πρόγραµµα σας είναι ηµιτελές, έχει πολλά λάθη και προειδοποιήσεις. -Περιγραφικό σχόλιο. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. Ασκηση 1η: 1606 FAIL -Το πρόγραµµα σας δεν βγάζει λάθη ή προειδοποιήσεις κατά τη µετταγλώτιση, αλλά κατά την εκτέλεση βγάζει segmentation fault στο numbers[*pointer[i+1]] το οποίο µε το gdb βγαίνει πολύ εύκολα. Γιατί το χρησιµοποιήσατε αυτό; -Δεν υπάρχουν σχόλια... -Καλή στοιχίση, ονόµατα µεταβλητών και σταθερών. -Δε βγαίνουν σωστά αποτελέσµατα, συγκεκριµένα λείπουν η 1η και η τελευταία θέση, αλλά και πάλι δεν τις υπολογίζετε σωστά. -Το πρόγραµµα σας δεν κάνει εντελώς τίποτα. -Δεν υπάρχει τίποτα µέσα στη main πέρα από αυτά που σας δόθηκαν. 1607 FAIL - Το πρόγραµµα δεν εκτυπώνει ακριβώς σωστές τιµές και γενικά δεν ακολουθούνται ακριβώς οι προδιαγραφές της άσκησης. -Πολλές κενές γραµµές στο τέλος του κώδικα. - Ο πίνακας numbers_ptr χρειάζεται διαφορετικό index για να τον διατρέχουµε σε σχέση µε τον πίνακα numbers kai to else κοµµάτι γραµµές 14-16 δε θα έπρεπε να υπάρχει εκεί. Θα έπρεπε να αντικατασταθεί µε µία αρχικοποίηση του πίνακα numbers_ptr σε NULL. - Το πρόγραµµα περιέχει errors και δεν κάνει compile. - Κακή στοίχιση. - Στη γραµµή 19 η κλήση της συνάρτησης πρέπει να γίνει ως εξής: findminandswap(start, words); - Ηµιτελής άσκηση

1608 -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. 1609 οριακό - Καλή υλοποίηση, δεν περιέχονται όµως καθόλου σχόλια στο κώδικα. - Στην εκτύπωση των αποτελεσµάτων, η printf στην γραµµή 27 είναι περιττή, αφού έχεις την µεταβλητή i στην for. Αν την ορίσεις να ξεκινάει µε τιµή 0, το αποτέλεσµα θα βγεί σωστά! - - Βάλε σχόλια στον κώδικα, είναι απαραίτητα! - Το πρόγραµµα βγάζει compile errors, και σχεδόν όλα έχουν να κάνουν µε τη χρήση των συµβόλων * και & και τον τύπο της κάθε µεταβλητής. Πιο αναλυτικά: 1. ln 14, στην κλήση της findminandswap(i,words); το * δεν χρειάζεται πριν από το words 2. ln 17, επίσης δεν χρειάζεται * πριν από το words[i] 3. lns 34,35,36 δεν χρειάζεται να βάλετε το & 4. ln 37, σας λείπει το ; - Πρέπει να κατανοήσεις την σχέση πίνακας-δείκτης, δες Διάλεξη 12-13 -Ωραία περιγραφικά σχόλια και καλή στοίχιση. 1611 -Πολύ καλή προσπάθεια, σωστά αποτελέσµατα χωρίς λάθη. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε το µήκος των λέξεων που πρόκειται να εµφανίσετε, αυτό διορθώνεται αν βάζατε ένα (int) πριν ακριβώς από το strlen(index[i]). -Ωραία περιγραφικά σχόλια και καλή στοίχιση.

1612 οριακό - Ο κώδικας σας δεν ακολουθεί ακριβώς τις προδιαγραφές της άσκησης στην εκτύπωση των αποτελεσµάτων. Αναλυτικά, -- ln 9-11 αρχικοποιείτε τον πίνακα δεικτών σε NULL. Ωραία µέχρι εδώ -- ln 14-18, εδώ χαλάτε την αρχικοποίηση αποθηκεύοντας σε κάθε στοιχείο του πίνακα τη διεύθυνση για κάθε στοιχείο από τον πίνακα numbers. Αυτές οι γραµµές είναι περιττές. Αν τις βάλλατε για να µην παίρνετε το segmentation fault, αυτό οφείλεται σε κακό indexing πινάκων στο for και if στις ln 40-45. Συγκεκριµένα, η ln 41 πρέπει να γίνει if(maxnumber_ptr[k]!= NULL) αντί για if(maxnumber_ptr!= NULL) που έχετε. -- Επίσης ln 40-45 ο index k είναι άχρηστος αφού αυτή τη δουλειά θα έκανε ήδη ο i. - Τέλος για να παίρνετε το σωστό pos βάσει προδιαγραφών χρειάζεστε maxnumber_ptr[k]- maxnumber_ptr[0]. - Περιέχει warnings και errors. - H strlen παίρνει µόνο ένα όρισµα. Μήπως θέλατε να γράψετε strlen(min_len) < strlen(words[i]) - Έχετε αρκετά σηµεία στα οποία κάνετε ανάθεση από pointer σε integer και το ανάποδο που σας βγάζει ο compiler. Δοκιµάστε να τα διορθώσετε. Γενικά: Πολύ οριακό pass. Να δίνετε πιο µεγάλη προσοχή στα ζητούµενα του κάθε προβλήµατος και να κάνετε συχνά compile.! Σωστός κώδικας, καλή στοίχιση και µεταβλητές. -Δεν υπάρχει αρχικό σχόλιο. -Μετά την τελευταία εκτύπωση χρειάζεται ένα \n. 1613 1615 -Καλή προαπάθεια. -Το pos είναι σωστό αλλά θα έπρεπε να το υπολογίσετε µε αριθµητική δεικτών. -Στη γραµµή 21 δεν χρειάζεται το & (δείτε το warning). -Το warning για το size_t θα µπορούσατε να το αποφύγετε κάνοντας typecast το αποτέλεσµα της strlen σε int. -Ωραία περιγραφικά σχόλια και καλή στοίχιση(αν και το τελευταίο τόσο µεγάλο κενό προς το τέλος του προγράµµατος δε χρειαζόταν.) -Γιατί εδώ δε βάλατε καθόλου σχόλια όπως είχατε στην 1? Επίσης δεν έχετε τόσο καλή στοίχιση.

-Καλές µεταβλητές, στοίχιση και σχόλιο. -Δε βάζετε σωστά τα στοιχεία τα µεγαλύτερα από το wall. Πρέπει να ξεκινάτε από το τέλος του πίνακα και να έρχεστε προς το wall και όχι να ξεκινάτε από το wall και να βάζετε νούµερα. 1617 -Μεταβλητές, στοίχιση και σχόλιο όπως πάνω. -Έχετε warning επειδή δεν κάνετε typecasting σε int το µέγεθος στην εκτύπωση. -Τα Strings εκτύπωνονται σωστά. Έχετε ένα µικρό θέµα µε τη θέση και το µέγεθος του string. Και στις 2 περιπτώσεις σας βγαίνει κατά 1 µικρότερο. 1618 -Μεταβλητές, σχόλιο και στοίχιση όπως πάνω. -Σωστή εκτύπωση των strings, αλλά όχι του µεγέθους και της θέσης. -Μπoρούσατε πολύ απλά µέσα στη printf printf("pos: %d, len: %d, word: %s\n", (int)(ptr[i]-ptr[0])/wordlen, (int)strlen(ptr[i]), ptr[i]); Δε χρειαζόταν να µπλέξετε µε πίνακες position και len. -Καλή προσπάθεια. 1619 1622 οριακό - Υπάρχει warning και στο execute, βγάζει segmenation fault. - Αναλυτικά, το warning για ln 24. Έχετε printf("pos: %d,...", &numbers[i],...); To &numbers[i] αντιστοιχεί σε διεύθυνση και ήθελε %p. Όµως για να ταιριάζει µε τις προδιαγραφές της άσκησης θέλατε printf("pos: %d, val: %d\n", pointers[i]-pointers[0], *pointers[i]); - Πολλές κενές γραµµές προς το τέλος του κώδικα µέχρι να φτάσουµε το return 0. - Οι γραµµές 16-19 (else κοµµάτι) δε θα έπρεπε να υπάρχουν. Αντί αυτών θέλατε στην αρχή να αρχικοποιήσετε κάθε στοιχείο του πίνακα pointers σε NULL. - To segmenation fault οφείλεται στη µη αρχικοποίηση του j σε 0 πριν τη ln 10. - Και εδώ υπάρχουν 2 warnings. O temp είναι τύπου int ενώ το words[minpos] είναι τύπου char *... O temp έπρεπε να δηλωθεί ως char *temp; για να µπορούµε στη συνέχεια να κάνουµε temp = words[minpos];. - Σωστός αλγόριθµος για εύρεση του string µε το µικρότερο µήκος.

1624 -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. Ρυθµίστε το Kate. Αλλιώς ο κώδικας βγαίνει αστοίχιστος και γίνεται δυσανάγνωστος. 1625 - Αφήστε από καµιά κενή γραµµή για να οµαδοποιεί τε τον κώδικα σας. - Σε γενικές γραµµές καλή δουλειά. - Για να τυπώσετε σωστά το pos πρέπει να κάνετε αφαίρεση στον πίνακα διευθύνσεων (όχι στον πίνακα αριθµών) ως εξής (nump[i] - nump[0]). Επίσης γιατί είχατε βάλλει number[i+1];;; - Καλή δουλειά και σωστή έξοδος. - Προσέξτε µόνο τη στοίχιση. 1627 1628 -Πολύ καλή προσπάθεια, σωστά αποτελέσµατα (δεν εµφανίζεται η τελευταία θέση, που σηµαίνει ότι δεν έχετε προσπελάσει σωστά τον πίνακα) χωρίς λάθη αλλά µε Η προειδοποίηση είναι σχετικά µε το αποτέλεσµα της θέσης που πρέπει να εκτυπωθεί. -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση.

1629 1630 Οριακό οριακό - Δεν βάζετε καθόλου σχόλια στον κώδικά σας - Η υλοποίηση είναι σωστή, η εκτύπωση των αποτελεσµάτων οκ, µόνο που στην γραµµή 24 επειδή η συνθήκη της for τρέχει µέχρι c-1, δεν σας βγάζει τα αποτελέσµατα για το ψηφίο 10. Θα έπρεπε να τρέχει από 0 εώς c - Σωστή αριθµητική δεικτών για την εκτύπωση των αποτελεσµάτων - Σχόλια! - Το πρόγραµµα σας βγάζει segfault γιατί καλείτε µε λάθος παραµέτρους την findminandswap(i,&words[size]) ; Η έκφραση &words[size] σηµαίνει η διεύθυνση της τιµής του πίνακα words στη θέση SIZE που είναι 15. Η σωστή κλήση της συνάρτησης θα ήταν findminandswap(i,words) ; καθώς θέλουµε την διεύθυνση της αρχής του πίνακα words. - Ο κώδικας σας δεν ακολουθεί ακριβώς τις προδιαγραφές της άσκησης στην εκτύπωση των αποτελεσµάτων. Αναλυτικά, -- ln 9-11 αρχικοποιείτε τον πίνακα δεικτών σε NULL. Ωραία µέχρι εδώ -- ln 14-18, εδώ χαλάτε την αρχικοποίηση αποθηκεύοντας σε κάθε στοιχείο του πίνακα τη διεύθυνση για κάθε στοιχείο από τον πίνακα numbers. Αυτές οι γραµµές είναι περιττές. Αν τις βάλλατε για να µην παίρνετε το segmentation fault, αυτό οφείλεται σε κακό indexing πινάκων στο for και if στις ln 40-45. Συγκεκριµένα, η ln 41 πρέπει να γίνει if(maxnumber_ptr[k]!= NULL) αντί για if(maxnumber_ptr!= NULL) που έχετε. -- Επίσης ln 40-45 ο index k είναι άχρηστος αφού αυτή τη δουλειά θα έκανε ήδη ο i. - Τέλος για να παίρνετε το σωστό pos βάσει προδιαγραφών χρειάζεστε maxnumber_ptr[k]- maxnumber_ptr[0]. - Περιέχει warnings και errors. - H strlen παίρνει µόνο ένα όρισµα. Μήπως θέλατε να γράψετε strlen(min_len) < strlen(words[i]) - Έχετε αρκετά σηµεία στα οποία κάνετε ανάθεση από pointer σε integer και το ανάποδο που σας βγάζει ο compiler. Δοκιµάστε να τα διορθώσετε. Γενικά: Πολύ οριακό pass. Να δίνετε πιο µεγάλη προσοχή στα ζητούµενα του κάθε προβλήµατος και να κάνετε συχνά compile.! Σωστός κώδικας, καλές µεταβλητές, στοίχιση και σχόλια. 1632 ξανά. -Τα warnings θα µπορούσατε να τα αποφύγετε αν κάνατε typecast σε int.

1633 FAIL 1634 FAIL 1635 FAIL - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Γεµίζετε σωστά τον πίνακα µε τους δείκτες στις θέσεις των ακεραίων, αλλά στην εκτύπωση των αποτελεσµάτων έχετε πρόβληµα. - Η θέση pos του κάθεσ στοιχείου δεν δίνεται από την έκφραση *akeraioi_p[i] +i, γιατί καταρχήν το i αυξάνεται βηµατικά, ενώ οι θέσεις των ακεραίων όχι, και η δήλωση *akeraioi_p[i] σηµαίνει "το περιεχόµενο της µνήµης στην διεύθυνση που είναι αποθηκευµένη στη θέση akeraioi_p[i]", άρα στην περίπτωση µας, οι τιµές 1, 2, 3, 5, 6, 9 και 10. - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Σας πετάει segfault, το οποίο προκαλείται από την δήλωση *words[k]=*words[i]. Ο πίνακας words[] είναι πίνακας από δείκτες που δείχνουν σε strings. Για να κάνουµε swap δύο strings πρέπει να ανταλλάξουµε τους δείκτες που δείχνουν στην αρχή τους (σκεφτείτε ότι τα στοιχεία words[k] και words[i] έχουν διαφορετικό µήκος!) - Η λογική σας, στο να βρείτε το min δεν είναι σωστή - Διαβάστε τις τελευταίες 2 διαλέξεις καλά - Σωστά αποτελέσµατα στην έξοδο, αλλά όχι µε τον ενδεδειγµένο τρόπο βάσει εκφώνησης. - Αναλυτικά, για να υλοποιηθεί βάσει προδιαγραφών, θα έπρεπε να απ εµπλέξετε το κοµµάτι του "υπολογισµού" στον πίνακα position από την εκτύπωση των αποτελεσµάτων. - Το pos θα έπρεπε να υπολογίζεται ως (position[j]-position[0]). - Μέσα στη main δεν πρέπει να βάζετε ποτέ το πρωτότυπο της συνάρτησης findminandswap. Για να την καλέσετε πρέπει να γράψετε findminandswap(start, words). - Επίσης έχετε αλλάξει το πρωτότυπο της συνάρτησης όπως αυτό δινόταν. Είχε char * words[] και όχι char words[]. Παρόλο που κάνει compile δεν κάνει αυτά που θα έπρεπε. - Φαίνεται κάτι να σκέφτεστε σωστά στον αλγόριθµο, αλλά επειδή δεν έχετε σωστά ορίσµατα στη συνάρτηση και δε την έχετε καλέσει πουθενά, κάπου το χάσατε... -Πολύ καλή προσπάθεια, σχετικά σωστά αποτελέσµατα (δεν εµφανίζεται σωστά η θέση, που σηµαίνει ότι έπρεπε στην εκτύπωση να έχετε µία πράξη δηλαδή p_numbers[i] - p_numbers[0]) χωρίς λάθη και -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. -Υπάρχουν λάθη και προειδοποιήσεις, το πρόγραµµα σας είναι ηµιτελές. Το πρόγραµµα σας δεν κάνει σχεδόν τίποτα. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Δεν υπάρχει σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση.

1636 οριακό Λάθος θέµα e-mail. -Σας έχουµε πει τόσες πολλές φορές να βάζετε σχόλια! -Οκ θέλεις να κάνεις καλή στοίχιση, αλλά µην αφήνεις τόσο κενό!!! -Καλή προσπάθεια, σχετικά καλά αποτελέσµατα χωρίς λάθη. Έπρεπε να εµφανίζεται η πρώτη λέξη που βρίσκεται µε διαφορετικό µήκος. Σε εσάς φαίνονται και οι 3 λέξεις µεγέθους 2. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε την ανάθεση τιµών σχετικά µε το πίνακα δεικτών. -Για να βρείτε την θέση (pos) απλά έπρεπε να κάνετε στην printf την πράξη: (wordsp[i]-wordsp[0])/wordlen. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Ισχύει το ίδιο για τα σχόλια! Προσέξτε λίγο και τη στοίχιση! -Ωραία περιγραφικά σχόλια και καλή στοίχιση. -Θα µπορούσατε τη µεταβλητή right που έχετε, να την αρχικοποιησέτε στο SIZE-1 και κάθε φορά, αντίστοιχα µέσα στο τµήµα όπου την αυξάνετε να την µειώνετε. 1637 -Καλή προσπάθεια, όχι και τελειώς σωστά αποτελέσµατα αλλά χωρίς λάθη. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε το µήκος των λέξεων που πρόκειται να εµφανίσετε, αυτό διορθώνεται αν βάζατε ένα (int) πριν ακριβώς από το strlen(words[i]). -Το πρόγραµµα σας δίνει segmentation fault. Σας το βγάζει γιατί στη γραµµή 38 έχετε i=j+1 στο κοµµάτι της for. -Ωραία περιγραφικά σχόλια και καλή στοίχιση.

1642 1643 οριακό οριακό - Υπάρχει warning και στο execute, βγάζει segmenation fault. - Αναλυτικά, το warning για ln 24. Έχετε printf("pos: %d,...", &numbers[i],...); To &numbers[i] αντιστοιχεί σε διεύθυνση και ήθελε %p. Όµως για να ταιριάζει µε τις προδιαγραφές της άσκησης θέλατε printf("pos: %d, val: %d\n", pointers[i]-pointers[0], *pointers[i]); - Πολλές κενές γραµµές προς το τέλος του κώδικα µέχρι να φτάσουµε το return 0. - Οι γραµµές 16-19 (else κοµµάτι) δε θα έπρεπε να υπάρχουν. Αντί αυτών θέλατε στην αρχή να αρχικοποιήσετε κάθε στοιχείο του πίνακα pointers σε NULL. - To segmenation fault οφείλεται στη µη αρχικοποίηση του j σε 0 πριν τη ln 10. - Και εδώ υπάρχουν 2 warnings. O temp είναι τύπου int ενώ το words[minpos] είναι τύπου char *... O temp έπρεπε να δηλωθεί ως char *temp; για να µπορούµε στη συνέχεια να κάνουµε temp = words[minpos];. - Σωστός αλγόριθµος για εύρεση του string µε το µικρότερο µήκος. Λάθος θέµα e-mail. -Σας έχουµε πει τόσες πολλές φορές να βάζετε σχόλια! -Οκ θέλεις να κάνεις καλή στοίχιση, αλλά µην αφήνεις τόσο κενό!!! -Καλή προσπάθεια, σχετικά καλά αποτελέσµατα χωρίς λάθη. Έπρεπε να εµφανίζεται η πρώτη λέξη που βρίσκεται µε διαφορετικό µήκος. Σε εσάς φαίνονται και οι 3 λέξεις µεγέθους 2. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε την ανάθεση τιµών σχετικά µε το πίνακα δεικτών. -Για να βρείτε την θέση (pos) απλά έπρεπε να κάνετε στην printf την πράξη: (wordsp[i]-wordsp[0])/wordlen. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Ισχύει το ίδιο για τα σχόλια! Προσέξτε λίγο και τη στοίχιση! 1645 1646 FAIL - Σωστή, καλά σχόλια, µεταβλητές. Προσέξτε λίγο τη στοίχιση και τα κενά ανάµεσα σε εντολές. - Το x είναι ακέραιος και το words[i] συµβολοσειρά, οπότε δε γίνεται να τα συγκρίνετε. Γιαυτό εµφανίζεται warning. Θα έπρεπε να συγκρίνετε το x µε το strlen της συµβολοσειράς. - Ηµιτελής άσκηση, αλλά αλγοριθµικά σε καλό σηµείο. Κανένα από τα δύο προγράµµατα δεν κάνει compile και γενικά έχουν πολλά προβλήµατα.

1648 οριακό -segmentation fault -Κακή χρήση δεικτών. -Δεν παράγει έξοδο. -Δύο warnings για incompatible pointer type. -Κακή χρήση δεικτών. -Παράγει έξοδο αλλά όχι στη ζητούµενη µορφή και µε κάποια µικρά λάθη. Δε χρησιµοποιεί αριθµητική δεικτών για τη γραµµή. Γενικά: Πολύ οριακό, µελετήστε περισσότερο τη θεωρία για δείκτες και κάντε πολλά παραδείγµατα. 1649 FAIL µεταβλητές, στοίχιση και σχόλιο. -Ο κώδικας δεν κάνει κάτι το ουσιαστικό. -'Εχετε warnings. 1651 FAIL - Το loop σας δεν είναι σωστό. Βγαίνετε εκτός ορίων γιατί το i πάει µέχρι και SIZE-1 και κάνετε προσπέλαση του numbers[i+1] - Άσχηµη στοίχιση. - Μεγάλες οµοιότητες µε την άσκηση της οµάδας που καθόταν στο διπλανό υπολογιστή. 1652! Σωστός κώδικας, καλή στοίχιση και µεταβλητές, όπως και σχόλια. -Μετά την τελευταία εκτύπωση χρειάζεται ένα \n. 1653 -Καλή δουλειά και σωστή έξοδος. -Το pos είναι σωστό αλλά θα έπρεπε να το υπολογίσετε µε αριθµητική δεικτών. -Επίσης, το warning για το size_t θα µπορούσατε να το αποφύγετε κάνοντας typecast το αποτέλεσµα της strlen σε int.

1654 1655 Οριακό - Δεν βάζετε καθόλου σχόλια στον κώδικά σας - Η υλοποίηση είναι σωστή, η εκτύπωση των αποτελεσµάτων οκ, µόνο που στην γραµµή 24 επειδή η συνθήκη της for τρέχει µέχρι c-1, δεν σας βγάζει τα αποτελέσµατα για το ψηφίο 10. Θα έπρεπε να τρέχει από 0 εώς c - Σωστή αριθµητική δεικτών για την εκτύπωση των αποτελεσµάτων - Σχόλια! - Το πρόγραµµα σας βγάζει segfault γιατί καλείτε µε λάθος παραµέτρους την findminandswap(i,&words[size]) ; Η έκφραση &words[size] σηµαίνει η διεύθυνση της τιµής του πίνακα words στη θέση SIZE που είναι 15. Η σωστή κλήση της συνάρτησης θα ήταν findminandswap(i,words) ; καθώς θέλουµε την διεύθυνση της αρχής του πίνακα words. σχόλιο, -Μετά την εκτύπωση θέλει αλλαγή σειράς. 1656 FAIL 1657 -Ο κώδικας δεν κάνει compile. Λείπει µια βιβλιοθήκη και παραθένσεις από τον κώδικα. -Η µεταβλητή pos[nsize] τι κρατάει? Κι αν το pos είναι πίνακας, τότε τι υποτίθεται ότι είναι το words[pos]? -Στοίχιση καλή.! Σωστός κώδικας, καλή στοίχιση και µεταβλητές, όπως και σχόλια. -Μετά την τελευταία εκτύπωση χρειάζεται ένα \n. 1658 -Καλή δουλειά και σωστή έξοδος. -Το pos είναι σωστό αλλά θα έπρεπε να το υπολογίσετε µε αριθµητική δεικτών. -Επίσης, το warning για το size_t θα µπορούσατε να το αποφύγετε κάνοντας typecast το αποτέλεσµα της strlen σε int.

1659 οριακό -segmentation fault -Κακή χρήση δεικτών. -Δεν παράγει έξοδο. -Δύο warnings για incompatible pointer type. -Κακή χρήση δεικτών. -Παράγει έξοδο αλλά όχι στη ζητούµενη µορφή και µε κάποια µικρά λάθη. Δε χρησιµοποιεί αριθµητική δεικτών για τη γραµµή. Γενικά: Πολύ οριακό, µελετήστε περισσότερο τη θεωρία για δείκτες και κάντε πολλά παραδείγµατα. -Καλές µεταβλητές, στοίχιση και σχόλιο. -Δε βάζετε σωστά τα στοιχεία τα µεγαλύτερα από το wall. Πρέπει να ξεκινάτε από το τέλος του πίνακα και να έρχεστε προς το wall και όχι να ξεκινάτε από το wall και να βάζετε νούµερα. 1660 -Μεταβλητές, στοίχιση και σχόλιο όπως πάνω. -Έχετε warning επειδή δεν κάνετε typecasting σε int το µέγεθος στην εκτύπωση. -Τα Strings εκτύπωνονται σωστά. Έχετε ένα µικρό θέµα µε τη θέση και το µέγεθος του string. Και στις 2 περιπτώσεις σας βγαίνει κατά 1 µικρότερο. 1661 1662

- Σωστά αποτελέσµατα στην έξοδο, αλλά όχι µε τον ενδεδειγµένο τρόπο βάσει εκφώνησης. - Αναλυτικά, για να υλοποιηθεί βάσει προδιαγραφών, θα έπρεπε να απ εµπλέξετε το κοµµάτι του "υπολογισµού" στον πίνακα position από την εκτύπωση των αποτελεσµάτων. - Το pos θα έπρεπε να υπολογίζεται ως (position[j]-position[0]). 1663 FAIL 1664 1665 FAIL - Μέσα στη main δεν πρέπει να βάζετε ποτέ το πρωτότυπο της συνάρτησης findminandswap. Για να την καλέσετε πρέπει να γράψετε findminandswap(start, words). - Επίσης έχετε αλλάξει το πρωτότυπο της συνάρτησης όπως αυτό δινόταν. Είχε char * words[] και όχι char words[]. Παρόλο που κάνει compile δεν κάνει αυτά που θα έπρεπε. - Φαίνεται κάτι να σκέφτεστε σωστά στον αλγόριθµο, αλλά επειδή δεν έχετε σωστά ορίσµατα στη συνάρτηση και δε την έχετε καλέσει πουθενά, κάπου το χάσατε... - Σωστή υλοποίηση και έξοδος. - Προσέξτε λίγο τη στοίχιση και βάλτε και κανένα σχόλιο. - Το compile δίνει errors από ασυµφωνία τύπων των µεταβλητών. - Η αρχικοποίηση min= start+2 στη ln 28 θα µπορούσε να σας βγάλει εκτός ορίων πίνακα στις τελευταίες επαναλήψεις. Κανένα από τα δύο προγράµµατα δεν κάνει compile και γενικά έχουν πολλά προβλήµατα. - Δεν βάζετε καθόλου σχόλια στον κώδικά σας, επίσης µην αφήνετε τόσες πολλές κενές γραµµές στο τέλος των προγραµµάτων - Καλή υλοποίηση, όµως στην εκτύπωση των αποτελεσµάτων οι θέσεις για το κάθε ψηφίο δεν υπολογίζονται σωστά. Αρκούσε να γράφατε deikths[i]-deikths[0]. 1666 Οριακό - Παροµοίως για τα σχόλια και τις κενές γραµµές στο τέλος - Στην γραµµή 21, το printf("%s\n",words[i]); δεν χρειάζεται το * πριν το όνοµα του πίνακα words - Η υλοποίηση της findminandswap δεν είναι σωστή, καθώς σε κάθε επανάληψη αντικαθιστά όλα τα αλφαριθµητικά µε την "mu", που είναι το πρώτο αλφαριθµητικό µε το µικρότερο µήκος

-Το πρόγραµµα σας έχει µια προειδοποίηση που θα µπορούσατε να διορθώσετε, δεν έχει λάθη αλλά και πάλι δεν εµφανίζονται τα σωστά αποτελέσµατα.δεν εµφανίζεται σωστά το pos/val. -Δεν υπάρχει περιγραφικό σχόλιο. -Δεν ακολουθείτε την λογική της άσκησης σωστά. -Κάπως καλή στοίχιση. 1667 FAIL 'Ασκηση 2η: -Πολλά λάθη και προειδοποιήσεις. -Δεν υπάρχει περιγραφικό σχόλιο. -Δεν ακολουθείτε την λογική της άσκησης σωστά. -'Εχετε µία συνάρτηση στον ορισµό της κενή, και αυτά που κάνατε στη συνάρτηση main έπρεπε να τα κάνετε στο σώµα της συνάρτησης που δηµιουργήσατε. -Κάπως καλή στοίχιση. -Ωραία περιγραφικά σχόλια και καλή στοίχιση. 1668 -Πολύ καλή προσπάθεια, σωστά αποτελέσµατα χωρίς λάθη. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε το µήκος των λέξεων που πρόκειται να εµφανίσετε, αυτό διορθώνεται αν βάζατε ένα (int) πριν ακριβώς από το strlen(index[i]). -Ωραία περιγραφικά σχόλια και καλή στοίχιση. - Δεν βάζετε καθόλου σχόλια! - Η µεταβλητή thesh1 δεν χρησιµεύει ούτε χρησιµοποιείται πουθενά - Τα ονόµατα των µεταβλητών θα µπορούσαν να είναι πιο περιγραφικά - Καλή υλοποίηση, σωστή εκτύπωση των αποτελεσµάτων 1670 FAIL - Δεν βάζετε καθόλου σχόλια! - Το πρόγραµµα βγάζει πολλά errors. Βασικά φαίνεται να την κάνατε βιαστικά - Η µεταβλητή start για παράδειγµα, που την χρησιµοποιείτε στην κλήση της findminandswap δεν παίρνει κάποια τιµή, πριν τη χρήση της. - Στην κλήση της findminandswap (start, *words); το * δεν χρειάζεται - ln 22, η σωστή printf θα πρέπει να είναι printf( "%s \n",words[i]); - Στην υλοποίηση της findminandswap έχετε λάθος την λογική της, δεν βρίσκετε το αλφαριθµητικό µε το min µέγεθος - Η temp είναι τύπου int, ενώ το words[start+1] είναι τύπου char* - Η strlen επιστρέφει το µήκος ενός string, που το αποθηκεύετε αυτό? (ή να το χρησιµοποιήσετε πχ σε µια if συνθήκη) - Η σωστή κλήση της strlen(*words[i]); είναι χωρίς *. - Διαβάστε τις Διαλέξεις 12-13 για καλύτερη κατανόηση της σχέσης µεταξύ πινάκων και δεικτών.

1671 - Σωστή υλοποίηση και έξοδος. - Προσέξτε λίγο τη στοίχιση και βάλτε και κανένα σχόλιο. - Το compile δίνει errors από ασυµφωνία τύπων των µεταβλητών. - Η αρχικοποίηση min= start+2 στη ln 28 θα µπορούσε να σας βγάλει εκτός ορίων πίνακα στις τελευταίες επαναλήψεις. Λάθος θέµα e-mail. -Θα µπορούσατε να χρησιµοποιήσετε µια µεταβλητή, pivot έστω, αντί για το 4 που έχετε για να κάνετε τον έλεγχο. -Ωραία περιγραφικό σχόλιο στην αρχή, η στοίχιση θα µπορούσε να ήταν καλύτερη. 1672 -Καλή προσπάθεια, σχετικά αποτελέσµατα χωρίς λάθη. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε το µήκος των λέξεων που πρόκειται να εµφανίσετε, αυτό διορθώνεται αν βάζατε ένα (int) πριν ακριβώς από το strlen(wordsp[i]). -Για να βρείτε την θέση (pos) απλά έπρεπε να κάνετε στην printf την πράξη: (wordsp[i]-wordsp[0])/wordlen. -Καθόλου περιγραφικό σχόλιο! Προσέξτε λίγο και τη στοίχιση! 1673 1674 FAIL - Καλή δουλειά, µπράβο - Γιατί αλλάξατε τα σωστά ονόµατα των σταθερών και τα γράψατε µε µικρά? - Έχετε ένα bug στο πρόγραµµά σας. Αλλάζετε την τιµή του min, ενώ θα έπρεπε να αλλάζετε την τιµή του words[i] στην οποία αντιστοιχεί αυτό. Δείτε τη λύση, κι αν δεν καταλάβετε το λάθος σας, ρωτήστε! -Πολύ καλή προσπάθεια, σχετικά σωστά αποτελέσµατα (δεν εµφανίζεται σωστά η θέση, που σηµαίνει ότι έπρεπε στην εκτύπωση να έχετε µία πράξη δηλαδή pointers[i] - pointers[0]) χωρίς λάθη και -Δεν υπάρχει περιγραφικό σχόλιο στην αρχή του προγράµµατος αλλά καλή στοίχιση. -Υπάρχουν λάθη και προειδοποιήσεις, το πρόγραµµα σας είναι ηµιτελές. Το πρόγραµµα σας δεν κάνει σχεδόν τίποτα. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Δεν υπάρχει σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση.

1676 FAIL 1677 1678 FAIL - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Γεµίζετε σωστά τον πίνακα µε τους δείκτες στις θέσεις των ακεραίων, αλλά στην εκτύπωση των αποτελεσµάτων έχετε πρόβληµα. - Η θέση pos του κάθεσ στοιχείου δεν δίνεται από την έκφραση *akeraioi_p[i] +i, γιατί καταρχήν το i αυξάνεται βηµατικά, ενώ οι θέσεις των ακεραίων όχι, και η δήλωση *akeraioi_p[i] σηµαίνει "το περιεχόµενο της µνήµης στην διεύθυνση που είναι αποθηκευµένη στη θέση akeraioi_p[i]", άρα στην περίπτωση µας, οι τιµές 1, 2, 3, 5, 6, 9 και 10. - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Σας πετάει segfault, το οποίο προκαλείται από την δήλωση *words[k]=*words[i]. Ο πίνακας words[] είναι πίνακας από δείκτες που δείχνουν σε strings. Για να κάνουµε swap δύο strings πρέπει να ανταλλάξουµε τους δείκτες που δείχνουν στην αρχή τους (σκεφτείτε ότι τα στοιχεία words[k] και words[i] έχουν διαφορετικό µήκος!) - Η λογική σας, στο να βρείτε το min δεν είναι σωστή - Διαβάστε τις τελευταίες 2 διαλέξεις καλά - Σωστή, καλά σχόλια, µεταβλητές. Προσέξτε λίγο τη στοίχιση και τα κενά ανάµεσα σε εντολές. - Το x είναι ακέραιος και το words[i] συµβολοσειρά, οπότε δε γίνεται να τα συγκρίνετε. Γιαυτό εµφανίζεται warning. Θα έπρεπε να συγκρίνετε το x µε το strlen της συµβολοσειράς. - Ηµιτελής άσκηση, αλλά αλγοριθµικά σε καλό σηµείο. - Έχετε warnings διότι δε χρησιµοποιείτε τους τελεστές * και & όπου χρειάζεται και δεν κάνετε #include το stdio.h - Ένας πίνακας µεγέθους SIZE έχει στοιχεία στις θέσεις 0 έως και SIZE-1. Εποµένως όταν γράφετε pnums[size]=numbers[size], βγαίνετε εκτός ορίων και στους δύο πίνακες. - Αυτό που κάνετε µε το while δεν είναι σωστό, δείτε τη λύση. - Λίγος κώδικας και δεν κάνει compile. 1679 FAIL - Δεν υπολογίζετε σωστά τις θέσεις των αριθµών και στην εκτύπωση δεν σας εµφανίζει τίποτα για το τελευταίο στοιχείο του πίνακα numbers - Δεν παραδόθηκε

1681 οριακό -Το πρόγραµµα σας δεν λάθη και προειδοποισεις αλλά segmentation fault. Θα µπορούσατε έυκολα να το βρείτε µε gdb καθώς έχετε την for που εκτυπώνετε τα αποτελέσµατα µέσα στην άλλη for!!!κατα τα άλλα τα αποτελέσµατα θα ήταν σωστά! -Θα µπορούσατε τη µεταβλητή j που έχετε, να την αρχικοποιησέτε στο SIZE-1 και κάθε φορά, αντίστοιχα µέσα στο τµήµα όπου την αυξάνετε να την µειώνετε. -Ωραία περιγραφικά σχόλια, η στοίχιση θα µπορούσε να ήταν καλύτερη. -Καλή προσπάθεια, σωστά αποτελέσµατα χωρίς λάθη και προειδοποιήσεις. -Για να βρείτε την θέση (pos) απλά έπρεπε να κάνετε στην printf την πράξη: (wordsp[i]-wordsp[0])/wordlen. -Ωραία περιγραφικά σχόλια, η στοίχιση θα µπορούσε να ήταν καλύτερη. µεταβλητές, στοίχιση και σχόλιο. 1684 1689 1690 FAIL -Μεταβλητές, στοίχιση και σχόλιο όπως πριν. -Έχετε warnings επειδή δεν κάνετε typecasitng σε int τη θέση και το µέγεθος στην εκτύπωση. -Σωστό αποτέλεσµα. -Καλή δουλειά. - Καλή δουλειά, µπράβο - Γιατί αλλάξατε τα σωστά ονόµατα των σταθερών και τα γράψατε µε µικρά? - Έχετε ένα bug στο πρόγραµµά σας. Αλλάζετε την τιµή του min, ενώ θα έπρεπε να αλλάζετε την τιµή του words[i] στην οποία αντιστοιχεί αυτό. Δείτε τη λύση, κι αν δεν καταλάβετε το λάθος σας, ρωτήστε! Ασκηση 1η: -Το πρόγραµµα σας έχει µια προειδοποίηση που θα µπορούσατε να διορθώσετε, δεν έχει λάθη αλλά και πάλι δεν εµφανίζονται τα σωστά αποτελέσµατα.δεν εµφανίζεται σωστά το pos. -Καθόλου περιγραφικό σχόλιο. -Το πρόγραµµα σας είναι ηµιτελές, έχει πολλά λάθη και προειδοποιήσεις. -Περιγραφικό σχόλιο. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών.

1691 FAIL -Το πρόγραµµα σας δε δίνει σωστά αποτελέσµατα τουλάχιστον χωρίς λάθη και -Ωραία περιγραφικά σχόλια και καλή στοίχιση. -Δε παίρνετε τα σωστά αποτελέσµατα, διότι, δεν κάνετε σωστό έλεγχο. Πρώτα απ' όλα, θα έπρεπε να έχετε κάποιες επιπλέον µεταβλητές, για το στοιχείο που θα είναι το διαχωριστικό που λέγαµε, έστω µία pivot, και κάποιες επιπλέον που αντίστοιχα µε τον έλεγχο για το αν είναι > ή <= θα έπρεπε βάση της αρχικοποίησης της στο SIZE-1 να µειώνεται αντίστοιχα. Προσπαθήστε να την κάνετε πιο σωστή την άσκηση σας. -Το πρόγραµµα σας δεν έχει τελειώσει χωρίς λάθη τουλάχιστον αλλά µε προειδοποισεις για κάτι το οποίο δηλώσατε αλλά δεν χρησιµοποιείτε. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Ωραία περιγραφικά σχόλια και καλή στοίχιση. -Το πρόγραµµα σας δεν κάνει σχεδόν τίποτα... 1692 1693 FAIL 1694 FAIL -Κανένα σχόλιο, ούτε καν σαν επικεφαλίδα στο πρόγραµµα. -Ηµιτελές πρόγραµµα σε πολύ αρχικό στάδιο. -Ένα warning..λογικό καθώς το πρόγραµµα ήταν σε πολύ αρχικό στάδιο. -Δεν υπάρχει σχόλιο σαν επικεφαλίδα στο πρόγραµµα. -Πολύ καλή προσπάθεια, σχετικά σωστά αποτελέσµατα (δεν εµφανίζεται σωστά η θέση, που σηµαίνει ότι έπρεπε στην εκτύπωση να έχετε µία πράξη δηλαδή p_numbers[i] - p_numbers[0]) χωρίς λάθη και -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. -Υπάρχουν λάθη και προειδοποιήσεις, το πρόγραµµα σας είναι ηµιτελές. Το πρόγραµµα σας δεν κάνει σχεδόν τίποτα. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Δεν υπάρχει σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση.

1695 FAIL - Το loop σας δεν είναι σωστό. Βγαίνετε εκτός ορίων γιατί το i πάει µέχρι και SIZE-1 και κάνετε προσπέλαση του numbers[i+1] - Άσχηµη στοίχιση. - Μεγάλες οµοιότητες µε την άσκηση της οµάδας που καθόταν στο διπλανό υπολογιστή. 1698 1699 FAIL µεταβλητές, στοίχιση και σχόλιο. -Ο κώδικας δεν κάνει κάτι το ουσιαστικό. -Έχετε warnings. 1701 FAIL Δεν παραδόθηκε άσκηση 1703 -Το πρόγραµµα σας έχει µια προειδοποίηση που θα µπορούσατε να διορθώσετε, δεν έχει λάθη αλλά και πάλι δεν εµφανίζονται τα σωστά αποτελέσµατα.δεν εµφανίζεται σωστά το pos/val. -Δεν υπάρχει περιγραφικό σχόλιο. -Δεν ακολουθείτε την λογική της άσκησης σωστά. -Κάπως καλή στοίχιση. 1704 FAIL 'Ασκηση 2η: -Πολλά λάθη και προειδοποιήσεις. -Δεν υπάρχει περιγραφικό σχόλιο. -Δεν ακολουθείτε την λογική της άσκησης σωστά. -'Εχετε µία συνάρτηση στον ορισµό της κενή, και αυτά που κάνατε στη συνάρτηση main έπρεπε να τα κάνετε στο σώµα της συνάρτησης που δηµιουργήσατε. -Κάπως καλή στοίχιση.

1705 Οριακό - Πολύ καλή υλοποίηση, σωστή αριθµητική δεικτών. - Γιατί ορίζεις την µεταβλητή start ως static; Δεν χρειάζεται. - Στην γραµµή 31, στην for η µεταβλητή i πρέπει να τρέξει ως SIZE-1, για να µην πετάει segfault το πρόγραµµα. Αυτό συµβαίνει γιατί πιο κάτω πας να διαβάσεις strlen(words[i+1]) - Σωστή κλήση της findminandswap - Δεν εκτυπώνεις τα αποτελέσµατα 1711 1714 οριακό οριακό µεταβλητές, σχόλιο και στοίχιση. -Αρκετά καλή δουλειά αν και θα µπορούσατε να βάλετε τα στοιχεία στο pnum µε µία for. -Μεταβλητές, σχόλιο και στοίχιση όπως πριν. -Έχετε warning επειδή δεν κάνετε typecasting σε int το µέγεθος στην εκτύπωση κι επειδή συγκρίνετε τη διεύθυνση ενός πίνακα µε NULL! -Σωστά αποτελέσµατα αλλά σας πετάει segmetation fault. Στην εξωτερική for που εκτυπώνετε έπρεπε να πάτε µέχρι j και όχι µέχρι SIZE. - Έχει warnings: Στη γραµµή 10 έπρεπε να χρησιµοποιήσεις &numbers[i] και στη γραµµή 28 µάλλον εννοείς *pnums[i]. - Δεν κάνεις ακριβώς αυτό που ζητά η άσκηση. Δες τη λύση. - Θα µπορούσες να αποφύγεις το warning κάνοντας typecast σε (int) το αποτέλεσµα της strlen - Δε χρησιµοποιείς αριθµητική δεικτών για τον υπολογισµό της γραµµής - Δεν υπάρχουν σχόλια. Κατά τα άλλα οκ.