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

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

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

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

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

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

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

FAIL PASS PASS οριακά

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

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

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

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

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

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

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

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

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

ΑΕΜ ή username. Sheet2

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

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

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

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

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

to post PASS PASS FAIL

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

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

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

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

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

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

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

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

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

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

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

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

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

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

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

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Γλώσσα Προγραμματισμού C

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

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

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

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

char name[5]; /* define a string of characters */

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

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

lab2grades printf("calculus: %.4lf\n", calculus);

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 11 - Απαντήσεις

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

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

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

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

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

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

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

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

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

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι:

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

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

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

Δομημένος Προγραμματισμός

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

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

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

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

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

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

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Transcript:

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Λάθος όνοµα αρχείου.το επίθετο βάζουµε όχι το όνοµα. 1058 FAIL -Έχεις συντακτικά λάθη και προειδοποιήσεις στο πρόγραµµα σου. -Υπαρξη σχολίου στη πρώτη γραµµή. -Σωστή δήλωση και χρήση σταθερών. -Καλή στοίχηση και καλά ονόµατα µεταβλητών. -Στην αρχικοποιήση του πίνακα δε θέλει το int!χωρίς αυτό είναι σωστή! -Δεν υπολογίζεται ούτε εµφανίζεται το σωστό αποτέλεσµα για το µέσο όρο. -Καλή η λογική, κάνε ξανά την άσκηση σπίτι και δες µετά τη λύση. 1349 -Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 -Θα ήταν προτιµότερο να χρησιµοποιήσετε τα ονόµατα STUDENTS και TESTS για τις σταθερές αντί για τα N και Μ. -Σωστή αρχικοποίηση πίνακα και καλά ονόµατα µετβλητών. -Ο κώδικας σας, για την είσοδο που δόθηκε τρέχει σωστά. Ωστόσο αν προστεθούν επιπλέον tests τα αποτελέσµατα δεν είναι σωστά. Αυτό διότι έχετε λάθος στη γραµµή 36. Η επανάληψη σας τρέχει µέχρι Ν αντί για Μ. Αν είχατε ονοµάσει τις σταθερές όπως σας είπα παραπάνω θα είχατε εντοπίσει το λάθος. -Υπάρχει αρχικό σχόλιο -Η στοίχιση του κώδικα σας είναι πολύ καλή -Ο κώδικας σας δεν κάνει compile. -Έχετε δηλώσει τις σταθερές χωρίς όµως να τους δώσετε τιµές. -Χρησιµοποιείτε συναρτήσεις από το string.h χωρίς όµως να το έχετε κάνει include -Κατά τα άλλα η σκέψη σας είναι σωστή. Δοκιµάστε να διορθώσετε τα λάθη σας και στη συνέχεια δείτε και την ενδεικτική λύση. -Το αρχικό σχόλιο είναι φτωχό -Ξανά πολύ καλή στοίχιση και ονόµατα µεταβλητών

1482 1556 1559 -Πολύ ωραίο σχόλιο στην αρχή του προγράµµατος! -Σωστή δήλωση και χρήση σταθερών. -Πολύ καλή στοίχηση και ονόµατα µεταβλητών. -Σωστή αρχικοποίηση πίνακα. -Πρέπει όταν ο χρήστης δίνει -1 για αριθµό µητρώου να τερµατίζει το πρόγραµµα, σε εσάς περιµένει και τους βαθµούς. -Σωστή εκτύπωση αποτελεσµάτων. -Πολύ ωραίο σχόλιο στην αρχή του προγράµµατος! -Σωστή δήλωση και χρήση σταθερών. -Πολύ καλή στοίχηση και ονόµατα µεταβλητών. -Το πρόγραµµα σας δεν µπορεί να καταλάβει πότε να σταµατήσει και τρέχει συνεχώς χωρίς να επηρεάζεται από το µέγεθος της λέξης. Προσπαθήστε τη σπίτι σας και µετά δείτε τις λύσεις - Γενικά δεν ακολουθείτε τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα apotelesma. Δεν έπρεπε να ορίζετε και επιπλέον πίνακα aem. Για τη σωστή χρήση τους, συµβουλευτείτε τις λύσεις. -- Συγκεκριµένα τον πίνακα apotelesma, τον ορίζεται και τον διαχειρίζεστε σωστά, βάσει των προδιαγραφών της άσκησης. Όµως επειδή οι γραµµές των πινάκων aem και averages, γεµίζουν όπως τα στοιχεία διαβάζονται από το αρχείο, το πρόγραµµα δεν παράγει το σωστό αποτέλεσµα. - Καλή στοίχιση κώδικα - Το GRADES που κάνετε define στην αρχή, πιο ορθά θα έπρεπε να είναι TESTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Λείπει αρχικό περιγραφικό σχόλιο και γενικά οποιοδήποτε σχόλιο. - Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν aem=-1... - Πολύ pass... - Καλή δουλειά! - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Σε κάθε θέση του πίνακα εισάγεται το πλήθος, θα έπρεπε να αθροίζετε κάθε νέο πληθος στο συνολικό άθροισµα. - Προσοχή στην έξοδο του προγράµµατος - Σε πολύ αρχικό στάδιο για να βαθµολογηθεί και να σχολιαστεί

Συνήθως αποφεύγουµε να γράφουµε κώδικα ή σχόλια µετά την 80στή στήλη του αρχείου, για να µη χρειάζεται ο αναγνώστης να κάνει scroll δεξιά-αριστερά. Επίσης, έχεις τεράστια κενά ανάµεσα στο τέλος κάθε εντολής και του σχολίου που ακολουθεί. Το wrapping που γίνεται τελικά καθιστά τον κώδικα δυσανάγνωστο. Καλό που έχεις σχόλια, αλλά µην το παρακάνεις. Για παράδειγµα, το σχόλιο για το aem = FIRST_AEM + y δε λέει κάτι παραπάνω από αυτό που διαβάζει κανείς στον κώδικα. 1561 - Καλή δουλειά γενικά - Πρόσεχε τους τύπους. Το average είναι δηλωµένο ως float, αλλά µετά κάνεις typecast σε double. Θα µπορούσες να το έχεις double από την αρχή. - Είναι προτιµότερο να δηλώνεις τις µεταβλητές στην αρχή της συνάρτησης - Στο τελευταίο for έπρεπε να παρακάµπτεις τις γραµµές του πίνακα που περιέχουν -1. 1563 - Δες στις διαλέξεις πώς µπορείς να χρησιµοποιήσεις sprintf για να κάνεις πιο γενικό το format string της scanf στις περιπτώσεις που διαβάζεις συµβολοσειρές. - Καλή προσπάθεια, αλλά ελλειπής. Δες τη λύση. Hint: Μια διαίρεση είναι ισότιµη µε συνεχείς αφαιρέσεις. Οπότε όταν βλέπεις ότι σε κάθε επανάληψη χρειάζεται να αφαιρείς την ίδια ποσότητα από ένα σύνολο, σκέψου µήπως τελικά µπορείς να κάνεις την ίδια δουλειά και µε µια διαίρεση. - το πρόγραµµά σας δε δούλεψε σωστά γιατί η scanf σταµατά να διαβάζει όταν βρει whitespace. Εποµένως το a (το οποίο είναι και απαίσιο όνοµα µεταβλητής) δεν περιέχει χαρακτήρα-κενό-ακέραιο-κενό-χαρακτήρα, αλλά µόνο χαρακτήρα. Την επόµενη φορά που κάνετε scanf, στο a θα µπουν τα ψηφία που αποτελούν το πλήθος, τα οποία σας είναι άχρηστα αν δεν τα µετατρέψετε σε ακέραιο. Δε γίνεται να κάνετε typecast για τη µετατροπή - πρέπει να χρησιµοποιήσετε τη συνάρτηση atoi. Γενικά φαίνεται να είστε inventive, αλλά δυστυχώς χρησιµοποιήσατε λάθος τη γλώσσα. Αν δεν έχετε καταλάβει γιατί είναι λάθος τα παραπάνω, επικοινωνήστε µε την κυρία Ντουφεξή. - Αν εξαιρέσουµε το πρόβληµα µε την ανάγνωση δεδοµένων, η λογική σας είναι σωστή.

1565 FAIL - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Kακή χρήση της scanf, τα δεδοµένα δεν εισάγονται, \n µέσα στη scanf - Θα πρέπε να κάνετε αρχικοποιήση του πίνακα - Κακή χρήση των εµφωλευµένων for -Άσχηµη στοίχιση. 1566 Oριακό -Δεν παραδόθηκε -Πολύ καλή στοίχιση. -Πολύ καλές µεταβλητές. -Στο σχόλιο θα µπορούσατε να το κάνετε πιο περιγραφικό. -Πολύ καλή χρήση του define. -Δεν παραδόθηκε. 1567 1568 Oριακό - Πολύ καλή προσπάθεια, Μπράβο. - Πλήρως σύµφωνη µε τις προδιαγραφές της άσκησης. - Είναι µια καλή αρχή. - Σωστή χρήση της sprintf - Μέχρι στιγµής διαβάζετε την πρώτη λέξη και βρίσκετε το µέγεθος της. - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Χρήση switch. -Δεν παραδόθηκε

1570 - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. -Σε πολύ αρχικό στάδιο για να διορθωθεί και να σχολιαστεί 1571 - Καλό θα ήταν να είχατε και το 3 ως #defined σταθερά - Σωστή η αρχικοποίηση του πίνακα - Για τον έλεγχο Τ, Ι, Β θα µπορούσατε να είχατε και switch. - Όταν βρίσκετε το κατάλληλο κελί πρέπει να προσθέτετε σε αυτό την ποσότητα plithos. Εσείς κάνετε το ισοδύναµο του x=x++ το οποίο δεν είναι καν καλά ορισµένη πράξη. - Η τιµή του type που εκτυπώνετε στο τέλος είναι πάντα '-' γιατί αυτή ήταν η τελευταία τιµή που εκχωρήθηκε στη µεταβλητή type. Έπρεπε να εκτυπώνετε την τιµή 'V'+i - Πολύ pass... - Καλή δουλειά! - Θα µπορούσε να είναι και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. 1572 - Δεν κάνει compile κι έχει αρκετά προβλήµατα: -- Αυτό που κάνατε στο scanf είναι τελείως λάθος. Δείτε τη λύση ή στις διαλέξεις πώς χρησιµοποιείται το sprintf για αυτή τη δουλειά - Δε χρειάζεται το for για το µετρητή: θα µπορούσατε να χρησιµοποιήσετε τη strlen.επιπλέον, το for έχει κίνδυνο να βγάλει λάθος αποτέλεσµα γιατί δε βγαίνετε από το loop όταν συναντήσετε \0. Έτσι αν τύχει και το string έχει οτιδήποτε άλλο από \0 µετά το τέλος του, ο µετρητής θα πάρει µεγαλύτερη τιµή από ότι πρέπει.

1573 - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή χρήση της εντολής strcat -Θα πρέπε να βάζετε στην τελευταία θέση του πίνακα τον χαρακτήρα \0. 1574 Οριακό Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Καλά ονόµατα µεταβλητών, καλή στοίχιση και σωστή δήλωση µεταβλητών - Πολύ καλά ορίζετε µε #define και το 1350 - Σωστή αρχικοποίηση του πίνακα και ανάγνωση των δεδοµένων - Στην εκτύπωση δεν ακολοθείτε τις προδιαγραφές της εκφώνησης. Δεν εµφανίζεται το ΑΜ του φοιτητή και επίσης, εκτυπώνει µέσο όρο και για τους φοιτητές που δεν βάζουµε βαθµούς. Θα µπορούσατε να βάλετε πχ ένα if(students_grades[i][0]<0) continue; πριν ξεκινήσετε να υπολογίζετε το άθροισµα των βαθµών (πριν το sum = 0; µέσα στην for) - Για την εκτύπωση του ΑΜ, αρκούσε να βάλετε στην printf να εκτυπώνει έναν ακέραιο µε %d ο οποίος θα έπαιρνε την τιµή 1350+i. - Το πρόγραµµά σας τρέχει και για άλλο αριθµό φοιτητών ή/και µαθηµάτων. Άσκηση 2η:

1575 FAIL Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος, και γενικά στο κώδικά σας - Σωστή δήλωση και χρήση των σταθερών, αλλά τα ονόµατα θα µπορούσαν να είναι πιο περιγραφικά, πχ STUDENTS και TESTS ή GRADES. - Καλό θα ήταν να δηλώσετε ως σταθερά και την τιµή 1350 - Στην while η συνθήκη i<n είναι πάντα αληθής, αφού το i δεν αυξάνεται πουθενά µέσα στο βρόχο - Ζητάτε άλλη είσοδο από αυτήν που περιγράφεται στην εκφώνηση. Εσείς λέτε πρώτα να εισάγει ο χρήστης όλα τα ΑΜ, (τα οποία µπορεί να είναι και περισσότερα από 5, αφού το i δεν αυξάνεται, οπότε ο µόνος έλεγχος είναι το ΑΜ να είναι διάφορο του -1. Αυτό κρύβει τον κίνδυνο να γράφετε εκτός των ορίων του πίνακα arithm_mitr[n]. - Η αρχικοποίηση του πίνακα stud_test είναι σωστή, καλό είναι να κάνετε αρχικοποίηση όλων των πινάκων που χρησιµοποιείτε στο πρόγραµµα - Η λάθος είσοδος που περιµένετε σας χαλάει και όλο το υπόλοιπο κώδικα, διαβάστε πιο προσεχτικά τις εκφωνήσεις. 1577 Οριακό Άσκηση 2η: -Πολύ καλή στοίχιση. -Πολύ καλές µεταβλητές. -Στο σχόλιο θα µπορούσατε να το κάνετε πιο περιγραφικό. -Πολύ καλή χρήση του define. -Δεν παραδόθηκε. 1578 FAIL - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Kακή χρήση της scanf, τα δεδοµένα δεν εισάγονται, \n µέσα στη scanf - Θα πρέπε να κάνετε αρχικοποιήση του πίνακα - Κακή χρήση των εµφωλευµένων for -Άσχηµη στοίχιση. -Δεν παραδόθηκε

1579 - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή χρήση της εντολής strcat -Θα πρέπε να βάζετε στην τελευταία θέση του πίνακα τον χαρακτήρα \0. 1580 Άσκηση 1η: - Σωστά δηλώνετε µε #define το πλήθος των φοιτητών και των µαθηµάτων. Θα µπορούσατε να δηλώσετε ως σταθερά και το 1350 - Στην αρχικοποίηση του πίνακα τρέχετε την for µια εξτρα επανάληψη, γράφοντας εκτός των ορίων του πίνακα. Κανονικά θέλετε να τρέξει η for πέντε φορές, όσο και οι φοιτητές, άρα από grammes=0 εώς grammes=4. Όταν η τιµή της µεταβλητής grammes γίνει 5, πρέπει να βγείτε από την for. (Άρα grammes<students και όχι grammes<students+1) - Παρόµοιο λάθος έχετε και την πρώτη for που ξεκινάει την ανάγνωση των δεδοµένων - Στην ανάγνωση των ΑΜ και βαθµών έτσι πως είναι ο κώδικας περιµένει για κάθε ΑΜ να διαβάσει 5x6=30 βαθµούς και όχι 5.. Αυτό συµβαίνει γιατί για κάθε επανάληψη της εξωτερικής for διαβάζετε 5 ακεραίους µε την εσωτερική for. - Η scanf ("%d", &pinakas[metritis-1350][stiles] ); είναι λάθος γιατί γράφει εκτός των ορίων του πίνακα. Η µεταβλητή metritis παίρνει τιµές από 0 εως 5. - Το πρόγραµµά σας δεν µπορεί να χρησιµοποιηθεί εύκολα για άλλο αριθµό φοιτητών ή/και µαθηµάτων. - Πολύ pass... Άσκηση 2η: 1581 - Καλό θα ήταν να είχατε και το 3 ως #defined σταθερά - Σωστή η αρχικοποίηση του πίνακα - Για τον έλεγχο Τ, Ι, Β θα µπορούσατε να είχατε και switch. 'Ασκηση 2:.

1582 1583 1584 - Θα µπορούσατε να είχατε καλύτερα ονόµατα σταθερών από Μ, Ν - Στο διάβασµα του πίνακα, θα ταίριαζε καλύτερα while αντί για το εξωτερικό for (αλλά σωστό είναι κι όπως το έχετε) - Ο έλεγχος avg!=0.0 για την τελική εκτύπωση δεν είναι απαραίτητα ακριβής. Αν κάποιος έχει γράψει µηδέν σε όλα, τότε δε θα εκτυπωθεί ο µέσος όρος του. - Καλή δουλειά κατά τα άλλα Δεν παραδόθηκε. - Καλό θα ήταν να είχατε και το 3 ως #defined σταθερά - Σωστή η αρχικοποίηση του πίνακα - Για τον έλεγχο Τ, Ι, Β θα µπορούσατε να είχατε και switch. 'Ασκηση 2:. - Δεν υπάρχουν χρήσιµα σχόλια - Το 3 θα µπορούσε να ήταν #defined σταθερά - Οι έλεγχοι για τον τρόπο παραγγελίας θα µπορούσαν να έχουν υλοποιηθεί µε switch - Οι εντολές isitiria[tipos-'v'][j]=plithos_tipwn[i]; i++; έπρεπε να βρίσκονται µέσα στο παραπάνω while. - Στο τελευταίο printf δεν εκτυπώνεται σωστά ο τύπος. - Πολύ pass... -Καλή στοίχιση και καλά ονόµατα µεταβλητών. -Το αρχικό σχόλιο δεν είναι πολύ περιγραφικό. -Καλή χρήση του define. -Γενικά πολύ καλή δουλειά. 1587 -Ισχύει ό,τι πάνω για στοίχιση, σχόλιο, µεταβλητές και define. -Ξεκινάτε πολύ καλά και βάζετε όσες φορές χωράει ο πίνακας εισόδου στον πίνακα εξόδου, αλλά δεν κάνατε το τελικό στάδιο να βάλετε τα γράµµατα που χωράνε ακόµα στον πίνακα εξόδου. -Πολύ καλή προσπάθεια.

1589 -Θα µπορούσατε να δηλώσετε και το 3 σαν σταθερά µε τη χρήση του #define. -Ενώ δηλώσατε σταθερά δε τη χρησιµοποιείτε! -Στη scanf δε χρησιµοποιούµε \n. -Καλή στοίχιση και ονόµατα µεταβλητών. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Όχι και τόσο καλή αρχικοποιηση πίνακα, θα έπρεπε να έχετε και 2η for. -Λάθος χρήση της while για τερµατισµό του προγράµµατος. Τερµατίζει στην καταχώρηση 4 εγγραφών!!! -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Εµφάνιση αποτελεσµάτων χωρίς το χαρακτήρα µπροστά. - Πολύ pass... 1590 Δεν παραδόθηκε. - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. 1591 -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Θα πρέπε να κάνετε αρχικοποιήση των πινάκων χαρακτηρών. - Δεν υπ'αρχει έξοδος -Το πρόγραµµα σας δεν τρέχει σωστά. Η λογική σας είναι εξαρχής λανθασµένη µιας και χρησιµοποιείτε δύο πίνακες µόνο και µόνο για να κρατάτε σε µία από τις στήλες του ενός τον αριθµό µητρώου. Έχετε σκεφτεί πολύπλοκα ενώ η λύση είναι πιο απλή. -Σωστή χρήση των σταθερών. -Για τη στοίχιση του κώδικα σας, να χρησιµοποιείτε το tab και όχι το κενό. -Προσπαθήστε να τη λύσετε στο σπίτι, διαβάζοντας προσεκτικά ξανά τις οδηγίες. Πολύ pass... -Παραδόθηκε αλλά δεν περιέχει κάτι ουσιαστικό

1592 FAIL Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος, και γενικά στο κώδικά σας - Σωστή δήλωση και χρήση των σταθερών, αλλά τα ονόµατα θα µπορούσαν να είναι πιο περιγραφικά, πχ STUDENTS και TESTS ή GRADES. - Καλό θα ήταν να δηλώσετε ως σταθερά και την τιµή 1350 - Στην while η συνθήκη i<n είναι πάντα αληθής, αφού το i δεν αυξάνεται πουθενά µέσα στο βρόχο - Ζητάτε άλλη είσοδο από αυτήν που περιγράφεται στην εκφώνηση. Εσείς λέτε πρώτα να εισάγει ο χρήστης όλα τα ΑΜ, (τα οποία µπορεί να είναι και περισσότερα από 5, αφού το i δεν αυξάνεται, οπότε ο µόνος έλεγχος είναι το ΑΜ να είναι διάφορο του -1. Αυτό κρύβει τον κίνδυνο να γράφετε εκτός των ορίων του πίνακα arithm_mitr[n]. - Η αρχικοποίηση του πίνακα stud_test είναι σωστή, καλό είναι να κάνετε αρχικοποίηση όλων των πινάκων που χρησιµοποιείτε στο πρόγραµµα - Η λάθος είσοδος που περιµένετε σας χαλάει και όλο το υπόλοιπο κώδικα, διαβάστε πιο προσεχτικά τις εκφωνήσεις. Άσκηση 2η: Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 1593 FAIL 1595 - Σοβαρά λάθη σε πράγµατα που έπρεπε να ξέρετε : - λάθος σύνταξη scanf - χρήση = για σύγκριση - χρήση " αντί για ' σε σταθερές τύπου χαρακτήρα. - λάθος σύνταξη if - Θα µπορούσατε να είχατε καλύτερα ονόµατα σταθερών από Μ, Ν - Στο διάβασµα του πίνακα, θα ταίριαζε καλύτερα while αντί για το εξωτερικό for (αλλά σωστό είναι κι όπως το έχετε) - Ο έλεγχος avg!=0.0 για την τελική εκτύπωση δεν είναι απαραίτητα ακριβής. Αν κάποιος έχει γράψει µηδέν σε όλα, τότε δε θα εκτυπωθεί ο µέσος όρος του. - Καλή δουλειά κατά τα άλλα Δεν παραδόθηκε.

Η άσκηση δεν ήταν µέσα σε φάκελο και δεν αναφέρει το ΑΜ σου, ή αν υπήρχε συνεργάτης. Πρέπει να ακολουθείτε τις οδηγίες αποστολής των ασκήσεων κι ας είναι ένα αρχείο µόνο αυτό που στέλνετε. 1596 1597 FAIL Άσκηση 1η: - Καλά ονόµατα µεταβλητών, καλή στοίχιση. - Χρησιµοποιείς κατάλληλες δηλώσεις µεταβλητών και σταθερών έτσι ώστε η άσκηση να τρέχει σωστά για οποιοδήποτε αριθµό φοιτητών ή/και µαθηµάτων - Θα µπορούσατε και την τιµή 1350 να την ορίσετε ως σταθερά - Καλή διαµόρφωση της εξόδου του προγράµµατος - Στα αποτελέσµατα σας εκτυπώνει πάντα ΑΜ-1, αντί για τα ΑΜ, για τους φοιτητές για τους οποίους βάζετε βαθµούς. Αυτό συµβαίνει γιατί στην printf(" %d : %.2lf\n",ΑΜ+ i +1350, MO ); η µεταλητή ΑΜ έχει κρατήσει το τελευταίο ΑΜ που βάλαµε ως είσοδο, δηλαδή το -1.Αν το αφαιρέσετε τα αποτελέσµατα είναι σωστά. Άσκηση 2η: -Προειδοποιήσεις για µη χρησιµοποιήση δηλωµένων µεταβλητών και λογικών λαθών. Για να κάνουµε σύγκριση, χρησιµοποιούµε == και όχι =!!!Πολύ σηµαντικό που πρέπει να γνωρίζετε! -Καθόλου καλό περιγραφικό σχόλιο. -Καλή στοίχιση και καλά ονόµατα µεταβλητών. -Σωστή αρχικοποίηση δεδοµένων του πίνακα. -Σωστή χρήση scanf,δε χρειαζόταν όµως να εκτυπώνετε µήνυµα προς το χρήστη. -Σωστός τρόπος εύρεσης της γραµµής του πίνακα που αντιστοιχεί το εισητήριο. -Λάθος χρήση της if else...το τελευταίο else δεν είναι σωστό. -Λάθος τρόπος καταχώρησης του αριθµού των εισητηριών, θα έπρεπε να προσθέτετε κάθε φορά. -Λάθος τρόπος εκτύπωσης αποτελέσµατος. Προσπαθήστε να το ξανακάνετε στο σπίτι και µετά µελετήστε τη λύση. Δεν παραδόθηκε.

1598 - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Θα πρέπε να κάνετε αρχικοποιήση των πινάκων χαρακτηρών. - Δεν υπάρχει έξοδος 1599 FAIL 1600 Οριακό - Το πρόγραµµα δεν κάνει compile. Η σύνταξη της switch έχει πολλαπλά λάθη, και είναι ύλη που έπρεπε να ξέρετε καλά. Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Χρησιµοποιείτε #define µόνο για το 1350, γιατί όχι και για όλα τα µεγέθη των πινάκων; Έτσι πως είναι ο κώδικας, δεν µπορεί να τρέξει για άλλο αριθµό φοιτητών ή/και µαθηµάτων. - Η έξοδος δεν ακολουθεί τις προδιαγραφές της εκφώνησης. Εκτυπώνονται ΑΜ για τους οποίους δεν βάζουµε βαθµούς και δεν αλλάζετε γραµµή µετά από τα στοιχεία κάθε φοιτητή. - Ο µέσος όρος, παρόλο που είναι τύπου float, δεν υπολογίζει σωστά το αποτέλεσµα. Αυτό συµβαίνει γιατί η µεταβλητή s είναι ακέραιος αριθµός και η διαίρεση µε το 5 προκαλεί διαίρεση µεταξύ ακεραίων, άρα το δεκαδικό µέρος χάνεται. - Ο σωστός τρόπος να βγούµε από loop είναι µε break, κι όχι "πειράζοντας" την τιµή του µετρητή - Πολύ pass Άσκηση 2η:

1601 Oριακό - Καλή δουλειά! - Θα µπορούσε να είναι και το V και το 3 σε #defined σταθερά - Χρήση switch. -Δεν παραδόθηκε 1602 -Θα µπορούσατε να δηλώσετε και το 3 ως #define σταθερά εκτος από το ΤΤ (άσχηµο όνοµα) που έχετε δηλώσει. -Σωστή η αρχικοποίηση του πίνακα. -Σωστή χρήση switch, αλλά µην βάζετε πολλές εντολές σε µία γραµµή. -Πολύ καλή στοίχιση -Στην εκτύπωση των περιεχοµένων θα έπρεπε να προηγείται ο τύπος του εισητηρίου και " : " σε κάθε γραµµή. -Φτωχό αρχικό σχόλιο. -Πολύ καλά, µπράβο σας. -Δεν υπάρχει αρχικό σχόλιο. Λάθος στον τρόπο συµπίεσης της άσκησης. Παραλείψατε το βήµα δηµιουργίας φακέλου. 1603 FAIL 1604 - Το πρόγραµµα έχει αρκετά warnings - Πολύ άσχηµη στοίχιση και µορφοποίηση του κώδικά σας. Μη βάζετε περισσότερες από µία εντολές ανά γραµµή - Για κάθε επανάληψη της for έχετε δύο scanf, και αυτά που διαβάζετε δεν τα αποθηκεύετε στον πίνακα, αλλά τα γράφετε πάντα στις ίδιες µεταβλητές (χάνοντας κάθε φορά τις προηγούµενες τιµές) - Χρησιµοποιείτε = για σύγκριση! - Γενικα το πρόγραµµα έχει προβλήµατα και στη λογική του. Προσπαθήστε να το ξανακάνετε στο σπίτι και µετά µελετήστε τη λύση. -Πολύ καλά οι µεταβλητές, το σχόλιο και η στοίχιση. -Τα µεγέθη του πίνακα 5 και 3 έπρεπε να είναι σταθερές. -Καλή δουλειά. -Καλό σαν λογική. -Στο φορµάρισµα έπρεπε να είχατε %%%ds. -To SIZE-1-length λογικά θα σας δώσει λάθος αποτέλεσµα. -Δείτε την ενδεικτική λύση.

1605 1606 Οριακό Ασκηση 1: -Ο κώδικας σας δεν παράγει τα σωστά αποτελέσµατα. -Καλά ονόµατα µεταβλητών, σταθερών και σωστή αρχικοποίηση πίνακα -Δεν χρειαζόταν να χρησιµοποιήσετε τον δεύτερο πίνακα στον οποίο κρατάτε τα αθροίσµατα των τεστ κάθε φοιτητή. Έστω και έτσι, δεν τον έχετε αρχικοποιήσει µε αποτέλεσµα ο µέσος όρος να µη βγαίνει σωστός. -Η πράξη υπολογισµού του µέσου όρου επιστρέφει ακέραιο. Θα έπρεπε να κάνετε type casting για να επιστρεψει δεκαδικό. Επίσης κάνετε διαίρεση µε το 5, και ετσι δε γινεται να προστεθουν επιπλέον αγωνίσµατα. (θα έπρεπε µε το TESTS) -Τυπώνετε τις τιµές για όλους του φοιτητές και όχι µόνο για αυτούς που έχουν εισαχθεί δεδοµένα. -Υπάρχει αρχικό σχόλιο - Πολύ pass... Άσκηση 1η: - Σωστά δηλώνετε µε #define το πλήθος των φοιτητών και των µαθηµάτων. Θα µπορούσατε να δηλώσετε ως σταθερά και το 1350 - Στην αρχικοποίηση του πίνακα τρέχετε την for µια εξτρα επανάληψη, γράφοντας εκτός των ορίων του πίνακα. Κανονικά θέλετε να τρέξει η for πέντε φορές, όσο και οι φοιτητές, άρα από grammes=0 εώς grammes=4. Όταν η τιµή της µεταβλητής grammes γίνει 5, πρέπει να βγείτε από την for. (Άρα grammes<students και όχι grammes<students+1) - Παρόµοιο λάθος έχετε και την πρώτη for που ξεκινάει την ανάγνωση των δεδοµένων - Στην ανάγνωση των ΑΜ και βαθµών έτσι πως είναι ο κώδικας περιµένει για κάθε ΑΜ να διαβάσει 5x6=30 βαθµούς και όχι 5.. Αυτό συµβαίνει γιατί για κάθε επανάληψη της εξωτερικής for διαβάζετε 5 ακεραίους µε την εσωτερική for. - Η scanf ("%d", &pinakas[metritis-1350][stiles] ); είναι λάθος γιατί γράφει εκτός των ορίων του πίνακα. Η µεταβλητή metritis παίρνει τιµές από 0 εως 5. - Το πρόγραµµά σας δεν µπορεί να χρησιµοποιηθεί εύκολα για άλλο αριθµό φοιτητών ή/και µαθηµάτων. - Πολύ pass... Άσκηση 2η:

1607 Οριακό Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Καλά ονόµατα µεταβλητών, καλή στοίχιση και σωστή δήλωση µεταβλητών - Πολύ καλά ορίζετε µε #define και το 1350 - Σωστή αρχικοποίηση του πίνακα και ανάγνωση των δεδοµένων - Στην εκτύπωση δεν ακολοθείτε τις προδιαγραφές της εκφώνησης. Δεν εµφανίζεται το ΑΜ του φοιτητή και επίσης, εκτυπώνει µέσο όρο και για τους φοιτητές που δεν βάζουµε βαθµούς. Θα µπορούσατε να βάλετε πχ ένα if(students_grades[i][0]<0) continue; πριν ξεκινήσετε να υπολογίζετε το άθροισµα των βαθµών (πριν το sum = 0; µέσα στην for) - Για την εκτύπωση του ΑΜ, αρκούσε να βάλετε στην printf να εκτυπώνει έναν ακέραιο µε %d ο οποίος θα έπαιρνε την τιµή 1350+i. - Το πρόγραµµά σας τρέχει και για άλλο αριθµό φοιτητών ή/και µαθηµάτων. 1608 Άσκηση 2η: - Πολύ καλή προσπάθεια, Μπράβο. - Πλήρως σύµφωνη µε τις προδιαγραφές της άσκησης. - Είναι µια καλή αρχή. - Σωστή χρήση της sprintf - Μέχρι στιγµής διαβάζετε την πρώτη λέξη και βρίσκετε το µέγεθος της.

1609 - Άσχηµα ονόµατα µεταβλητών και σταθερών (µικρά και καθόλου περιγραφικά). Οι σταθερές πρέπει να ορίζονται µε κεφαλαία. - Τα k και l sto define, θα έπρεπε να είναι STUDENTS και TESTS. To 1350 καλό θα είναι να είχε δηλωθεί και αυτό ως σταθερά. - Πολύ κακή στοίχιση κώδικα και non-configured Kate! Επίσης ανυπαρξία κενών γραµµών µεταξύ των εντολών και άσκοπα πολλές γραµµές στο τέλος του κώδικα. - Γενικά δεν ακολουθείς ακριβώς τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα stud. Δεν έπρεπε να ορίζεις και επιπλέον πίνακα armpin. Αυτός µπορεί να προέλθει ούτως η άλλως από 1350+i όπου i η τρέχουσα γραµµή του stud. Οι γραµµές στο πίνακα stud προσπελάζονται σωστά ως αεµ-1350. - Επειδή το 1350 δεν υπάρχει στην αρχή, η πρώτη τιµή του armpin περιέχει "σκουπίδια"... -Γι' αυτό ο πίνακας armpin θα έπρεπε να αρχικοποιείται στην αρχή του κώδικα µε -1. - Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν mitrwo=-1... -Επίσης, µερικώς λάθος results, λόγω του ότι δεν υπάρχει typecasting στον υπολογισµό του µέσου όρου. - Πολύ pass... 1611 -Σαν αρχείο στάλθηκε, αλλά δεν περιέχει κάτι παραπάνω από τη δήλωση ενός πίνακα χαρακτήρων. -Θα µπορούσατε να δηλώσετε τo 5 και το 3 σαν σταθερά µε τη χρήση του #define. -Μη - Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Σωστή εµφάνιση αποτελεσµάτων. -To πρόγραµµα σας δεν κάνει compile, έχει συντακτικά λάθη. -Μη - Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή η λογική, προσπαθήστε να τη λύσετε σπίτι και µετά δείτε τη λύση.

1612 1613 1615 -Καλό σχόλιο. -Καλή στοίχιση. -Όχι καλές µεταβλητές. -Η χρήση της getchar και όχι της scanf οδηγεί να µη διαβάζετε σωστά από το πληκτρολόγιο. - Τι είναι το 54? Έπρεπε να το έχετε σε ονοµασµένη σταθερά για να είναι ξεκάθαρο το πρόγραµµά σας. -Η µορφοποίηση και τα αποτελέσµατα (δεν προσθέτετε κάθε φορά το πλήθος των εισητηρίων) της εξόδου δεν είναι τα ζητούµενα. - Πολύ pass... -Δεν παραδόθηκε. - το πρόγραµµά σας δε δούλεψε σωστά γιατί η scanf σταµατά να διαβάζει όταν βρει whitespace. Εποµένως το a (το οποίο είναι και απαίσιο όνοµα µεταβλητής) δεν περιέχει χαρακτήρα-κενό-ακέραιο-κενό-χαρακτήρα, αλλά µόνο χαρακτήρα. Την επόµενη φορά που κάνετε scanf, στο a θα µπουν τα ψηφία που αποτελούν το πλήθος, τα οποία σας είναι άχρηστα αν δεν τα µετατρέψετε σε ακέραιο. Δε γίνεται να κάνετε typecast για τη µετατροπή - πρέπει να χρησιµοποιήσετε τη συνάρτηση atoi. Γενικά φαίνεται να είστε inventive, αλλά δυστυχώς χρησιµοποιήσατε λάθος τη γλώσσα. Αν δεν έχετε καταλάβει γιατί είναι λάθος τα παραπάνω, επικοινωνήστε µε την κυρία Ντουφεξή. - Αν εξαιρέσουµε το πρόβληµα µε την ανάγνωση δεδοµένων, η λογική σας είναι σωστή. -Το πρόγραµµα σας δεν τρέχει σωστά. Η λογική σας είναι εξαρχής λανθασµένη µιας και χρησιµοποιείτε δύο πίνακες µόνο και µόνο για να κρατάτε σε µία από τις στήλες του ενός τον αριθµό µητρώου. Έχετε σκεφτεί πολύπλοκα ενώ η λύση είναι πιο απλή. -Σωστή χρήση των σταθερών. -Για τη στοίχιση του κώδικα σας, να χρησιµοποιείτε το tab και όχι το κενό. -Προσπαθήστε να τη λύσετε στο σπίτι, διαβάζοντας προσεκτικά ξανά τις οδηγίες. Πολύ pass... -Παραδόθηκε αλλά δεν περιέχει κάτι ουσιαστικό

1617 -Καλή στοίχιση. -Το αρχικό σχόλιο θα µπορούσε να είναι καλύτερο. -Μερικές µεταβλητές δεν είναι περιγραφικές. -Το 3 θα µπορούσε να είναι και αυτό σταθερά. -Κάθε φορά που πάτε να γράψετε σε µια θέση πίνακα θα έπρεπε να προσθέτετε τη θέση εκείνη µε το order και όχι να δίνετε την τιµή order. -Στην εκτύπωση του αποτελέσµατος θα έπρεπε να έχετε διπλή for όπως στην αρχικοποίηση, επειδή είναι δισδιάστατος πίνακας. -Το ξεκινάτε καλά. -Δε χρησιµοποιείτε σωστά τη strcpy και strcat. Έχετε βάλει ανάποδα τους πίνακες σε αυτές τις συναρτήσεις. Αντί να αντιγράψετε τον input στον output, κάνετε το αντίθετο. -Πολύ καλά οι µεταβλητές, το σχόλιο και η στοίχιση. -Τα µεγέθη του πίνακα 5 και 3 έπρεπε να είναι σταθερές. -Καλή δουλειά. 1618 -Καλό σαν λογική. -Στο φορµάρισµα έπρεπε να είχατε %%%ds. -To SIZE-1-length λογικά θα σας δώσει λάθος αποτέλεσµα. -Δείτε την ενδεικτική λύση. - Πολύ καλή δουλειά µε τις σταθερές, µπράβο. Θα µπορούσατε να είχατε και το 3 ως #defined σταθερά - Στον έλεγχο του τύπου θα µπορούσατε να είχατε και switch aντί για if - Μην αφήνετε τόσο µεγάλο κενό πριν το return. - Πολύ καλή λύση. 1619 - Εντυπωσιακό το floating point exception :) Το πρόβληµα είναι ότι στη µεταβλητή plithos αποθηκεύετε το µήκος του µεγάλου string που είναι άδειο, κι όχι του temp_text. Έτσι στον υπολογισµό του xoros γίνεται διαίρεση µε το µηδέν. - Το temp_text θα µπορούσε να λέγεται word. - Για τον υπολογισµό των θέσεων που αποµένουν θα µπορούσατε να χρησιµοποιήσετε % - Η διαίρεση έπρεπε να είναι (SIZE-1)/plithos γιατί θέλουµε να µείνει χώρος και για το \0 - Γενικά καλή δουλειά στο κοµµάτι που έχει υλοποιηθεί µέχρι στιγµής.

1622 1624 - Γενικά δεν ακολουθείτε τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα apotelesma. Δεν έπρεπε να ορίζετε και επιπλέον πίνακα aem. Για τη σωστή χρήση τους, συµβουλευτείτε τις λύσεις. -- Συγκεκριµένα τον πίνακα apotelesma, τον ορίζεται και τον διαχειρίζεστε σωστά, βάσει των προδιαγραφών της άσκησης. Όµως επειδή οι γραµµές των πινάκων aem και averages, γεµίζουν όπως τα στοιχεία διαβάζονται από το αρχείο, το πρόγραµµα δεν παράγει το σωστό αποτέλεσµα. - Καλή στοίχιση κώδικα - Το GRADES που κάνετε define στην αρχή, πιο ορθά θα έπρεπε να είναι TESTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Λείπει αρχικό περιγραφικό σχόλιο και γενικά οποιοδήποτε σχόλιο. - Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν aem=-1... - Πολύ pass... -Θα µπορούσατε να δηλώσετε και το 3 σαν σταθερά µε τη χρήση του #define. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Σωστή εµφάνιση αποτελεσµάτων. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Θα πρέπε να χρησιµοποιήσετε την εντολή strcat και όχι strcpy. -Θα πρέπε να κάνετε αρχικοποιήση των πινάκων χαρακτηρών.

1625 - Ωραία ορίσατε τις σταθερές, αλλά έπρεπε να χρησιµοποιήσετε το TESTS στη διαίρεση για το µέσο όρο. Αν αλλάξει ο αριθµός διαγωνισµάτων το πρόγραµµά σας δε θα βγάζει πια σωστά αποτελέσµατα γιατί η διαίρεση θα γίνεται πάντα δια του 5. - Ωραία ονόµατα µεταβλητών. Για τους µετρητές των for δε χρειάζεται κάθε φορά διαφορετικό όνοµα. Μόνο αυτοί που είναι σε εµφωλευµένα for πρέπει να είναι διαφορετικοί. Κατά τα άλλα, µπορείτε να τους επαναχρησιµοποιείτε. - Το thesh=arith_mhtroou%10; Αν έχουµε περισσότερους φοιτητες, τότε όσοι έχουν AEM 1350, 1360, 1370 κτλ θα µπούν όλοι στην ίδια γραµµή. - Προς το τέλος του προγράµµατος η στοίχιση χαλάει και δε φαίνεται πού τελειώνει κάθε επανάληψη. Επίσης µην αφήνετε τόσες κενές γραµµές. - Το τελευταίο for έχει αρκετά λογικά λάθη. Το thesh είναι πάντα ίδιο και το άθροισµα δε µηδενίζεται πριν τον υπολογισµό για κάθε φοιτητή. - Πολύ pass.. 1627 -Θα µπορούσατε να δηλώσετε και το 3 ως #define σταθερά. Επίσης τα ονόµατα των σταθερών θα µπορούσαν να ειναι πιο περιγραφικά. -Σωστή η αρχικοποίηση του πίνακα. -Σωστή χρήση switch, αλλά µην βάζετε πολλές εντολές σε µία γραµµή. -Κατά την εισαγωγή των δεδοµένων έχετε µία printf("\n") η οποία έχει ως αποτέλεσµα πριν την εκτύπωση των αποτελεσµάτων να προηγούνται πολλές κενές γραµµές. -Καλό αρχικό σχόλιο. -Καλή προσπάθεια και σωστά αποτελέσµατα, µπράβο σας.

1628 Οριακό Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 -Θα ήταν προτιµότερο να χρησιµοποιήσετε τα ονόµατα STUDENTS και TESTS για τις σταθερές αντί για τα N και Μ. -Σωστή αρχικοποίηση πίνακα και καλά ονόµατα µετβλητών. -Ο κώδικας σας, για την είσοδο που δόθηκε τρέχει σωστά. Ωστόσο αν προστεθούν επιπλέον tests τα αποτελέσµατα δεν είναι σωστά. Αυτό διότι έχετε λάθος στη γραµµή 36. Η επανάληψη σας τρέχει µέχρι Ν αντί για Μ. Αν είχατε ονοµάσει τις σταθερές όπως σας είπα παραπάνω θα είχατε εντοπίσει το λάθος. Υπάρχει αρχικό σχόλιο -Η στοίχιση του κώδικα σας είναι πολύ καλή 1629 -Ο κώδικας σας δεν κάνει compile. -Έχετε δηλώσει τις σταθερές χωρίς όµως να τους δώσετε τιµές. -Χρησιµοποιείτε συναρτήσεις από το string.h χωρίς όµως να το έχετε κάνει include -Κατά τα άλλα η σκέψη σας είναι σωστή. Δοκιµάστε να διορθώσετε τα λάθη σας και στη συνέχεια δείτε και την ενδεικτική λύση. -Το αρχικό σχόλιο είναι φτωχό-ξανά πολύ καλή στοίχιση και ονόµατα µεταβλητών - Καλή δουλειά - Να δίνετε περιγραφικά ονόµατα και στις σταθερές σας, γιατί διαφορετικά υπάρχει κίνδυνος να τις µπερδέψετε. Σκεφτείτε το πρόγραµµα να είναι πολύ µεγαλύτερο, µε περισσότερες λειτουργίες, και να σας πει κάποιος ότι τώρα έχουµε 1000 φοιτητές και 30 διαγωνίσµατα. Θα πρέπει να διαβάσετε τον κώδικα για να βρείτε ποιο από τα δύο 5άρια που έχετε τώρα πρέπει να αλλάξει σε 100 και ποιο σε 30. Αν είχατε δώσει καλά ονόµατα, δε θα είχατε αυτό το πρόβληµα. - Το 1350 θα µπορούσε επίσης να είναι #defined - Στο τέλος που διαιρείτε µε 5 έπρεπε να διαιρείτε µε όποια από τις δύο σταθερές είναι το πλήθος διαγωνισµάτων. - Το scanf είναι τελείως λάθος. Έπρεπε να χρησιµοποιήσετε το "κόλπο" µε την sprintf για να κάνετε αυτό που θέλετε. Πάντως παίρνετε πόντους για το ότι σκεφτήκατε ότι κάπως πρέπει να προσδιορίσετε µέγεθος. - Καλή αρχή, αλλά θέλει δουλειά ακόµη, και θα κάνω πως δεν είδα το if (i=1)

1630 Οριακό 1632 1633 Ασκηση 1: -Ο κώδικας σας δεν παράγει τα σωστά αποτελέσµατα. -Καλά ονόµατα µεταβλητών, σταθερών και σωστή αρχικοποίηση πίνακα -Δεν χρειαζόταν να χρησιµοποιήσετε τον δεύτερο πίνακα στον οποίο κρατάτε τα αθροίσµατα των τεστ κάθε φοιτητή. Έστω και έτσι, δεν τον έχετε αρχικοποιήσει µε αποτέλεσµα ο µέσος όρος να µη βγαίνει σωστός. -Η πράξη υπολογισµού του µέσου όρου επιστρέφει ακέραιο. Θα έπρεπε να κάνετε type casting για να επιστρεψει δεκαδικό. Επίσης κάνετε διαίρεση µε το 5, και ετσι δε γινεται να προστεθουν επιπλέον αγωνίσµατα. (θα έπρεπε µε το TESTS) -Τυπώνετε τις τιµές για όλους του φοιτητές και όχι µόνο για αυτούς που έχουν εισαχθεί δεδοµένα. -Υπάρχει αρχικό σχόλιο - Πολύ pass... - Καλή δουλειά! - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Σε κάθε θέση του πίνακα εισάγεται το πλήθος, θα έπρεπε να αθροίζετε κάθε νέο πληθος στο συνολικό άθροισµα. - Προσοχή στην έξοδο του προγράµµατος - Σε πολύ αρχικό στάδιο για να βαθµολογηθεί και να σχολιαστεί Άσκηση 1η: - Έχετε βάλει σχόλια στην αρχή του προγράµµατος, έχετε καλά ονόµατα µεταβλητών και καλή στοίχιση - Χρησιµοποιείτε σωστά τις δηλώσεις #define ώστε το πρόγραµµα να τρέξει εύκολα και για διαφορετικό πλήθος φοιτητών ή/και µαθηµάτων - Θα µπορούσατε να δηλώσετε ως σταθερά την τιµή 1350 - Στο do...while πρέπει να µπει µια συθήκη ελέγχου αµέσως µετά το scanf του ΑΜ, πχ if(am == -1) break; Έτσι πως είναι ο κώδικας, ουσιαστικά, όταν διαβάζει ΑΜ -1, περιµένει να διαβάσει και 5 τιµές για τους βαθµούς και µετά να βγει από την while, οπότε και δεν τερµατίζει σωστά. - Κατά τα άλλα τα πήγατε καλά Άσκηση 2η:

1634 Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 -Υπάρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή δήλωση σταθερών. -Στην αρχικοποίηση του πίνακα έχετε ανάποδα τις for. Ναι µεν δουλεύει κι έτσι, αλλά δεν είναι αποτελεσµατική προσπέλαση µνήµης. -Λάθος καταχώρηση δεδοµένων. Δεν έπρεπε να αποθηκεύετε τον ΑΜ. -Δε χρειάζεται ταξινόµηση του πίνακα, αλλά µπράβο για την προσπάθεια -Δε χρειάζεται πίνακας για τον υπολογισµό του µέσου όρου. -Λάθος εκτύπωση αποτελεσµάτων. -Προσπαθήστε να ξανακάνετε την άσκηση το σπίτι. - Πολύ pass Δεν παραδόθηκε. 1635 Οριακό - Ο πίνακας βαθµών είναι µεγέθους ΝxΜ, αλλά κατά την αρχικοποίηση χρησιµοποιείτε Ν και για τις δύο διαστάσεις. Αν είχατε δώσει καλύτερα ονόµατα σε αυτές τις σταθερές, θα ήταν µικρότερη η πιθανότητα να γίνει τέτοιο λάθος. - Σωστή η τοποθέτηση βαθµών στον πίνακα - Προσέξτε τη στοίχιση, σας έχει ξεφύγει σε κάποια σηµεία - Στον υπολογισµό των µέσων όρων έχετε ξανακάνει το λάθος µε τα Ν,Μ µε αποτέλεσµα να βγαίνουν λάθος αποτελέσµατα. Επίσης, το printf έπρεπε να βρίσκεται έξω από το το εσωτερικό for, γιατι εκτυπώνει το µέσο όρο των αριθµών που είναι σε µια ολόκληρη γραµµή. 1636 FAIL Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Λάθος ασκήσεις! Ασκήσεις lab5

1637 -Θα µπορούσατε να δηλώσετε και το 3 σαν σταθερά µε τη χρήση του #define. -Ενώ δηλώσατε σταθερά δε τη χρησιµοποιείτε! -Στη scanf δε χρησιµοποιούµε \n. -Καλή στοίχιση και ονόµατα µεταβλητών. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Όχι και τόσο καλή αρχικοποιηση πίνακα, θα έπρεπε να έχετε και 2η for. -Λάθος χρήση της while για τερµατισµό του προγράµµατος. Τερµατίζει στην καταχώρηση 4 εγγραφών!!! -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Εµφάνιση αποτελεσµάτων χωρίς το χαρακτήρα µπροστά. - Πολύ pass... 1641 FAIL Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Λάθος ασκήσεις! Ασκήσεις lab5 1642 Άσκηση 1 - Χρειάζονται δύο διαφορετικές σταθερές για το πλήθος φοιτητών και διαγωνισµάτων γιατί δεν έχουν καµία σχέση µεταξύ τους. Το πρόγραµµά σας θα πάψει να δουλεύει αν αλλάξει ένα από τα δύο. - Άσχηµα ονόµατα µεταβλητών. Κατά σύµβαση µε κεφαλαία γράφουµε µόνο τις σταθερές. To i περιέχει συγκεκριµένη ποσότητα, δεν είναι απλός µετρητής, οπότε έπρεπε να έχει περιγραφικό όνοµα. - Το 1350 θα µπορούσε να είναι ορισµένο µε #define - Αυτό που κάνετε µε το i είναι λάθος. Αν δοθεί βαθµός µόνο για ένα φοιτητή, ας πούµε µε ΑΕΜ 1354, τότε το i γίνεται 3 το οποίο δεν έχει κάποια λογική. Το 1354 είναι στην πέµπτη θέση. Σε αυτό οφείλεται και το γεγονός ότι εκτυπώνεται µια επιπλέον γραµµή, εκτός ορίων πίνακα. - Πολύ pass 1643 FAIL Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Λάθος ασκήσεις! Ασκήσεις lab2

1644 1645 -Καλό σχόλιο. -Καλή στοίχιση. -Όχι καλές µεταβλητές. -Η χρήση της getchar και όχι της scanf οδηγεί να µη διαβάζετε σωστά από το πληκτρολόγιο. - Τι είναι το 54? Έπρεπε να το έχετε σε ονοµασµένη σταθερά για να είναι ξεκάθαρο το πρόγραµµά σας. -Η µορφοποίηση και τα αποτελέσµατα (δεν προσθέτετε κάθε φορά το πλήθος των εισητηρίων) της εξόδου δεν είναι τα ζητούµενα. - Πολύ pass... -Δεν παραδόθηκε. - Θα µπορούσε να είναι και το V σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. - Θα πρέπε να κάνετε αρχικοποιήση του πίνακα - Καλή χρήση των εµφωλευµένων for, κακή προσπέλαση στοιχείων πίνακα λάνθασµένη έξοδος -Δεν παραδόθηκε 1646 FAIL Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Λάθος ασκήσεις! Ασκήσεις lab2 1648 Οριακό -Δεν έχετε αρχικό σχόλιο. -Πολύ καλές µεταβητές. -Καλή στοίχση. Στο τέλος λίγο θέλει προσοχή. -Το 3 θα µπορούσε να ναι και αυτό σταθερά. -Ο κώδικας δεν κάνει compile.

1649 1650 1651 - Άσχηµη στοίχιση! - Το 3 θα µπορούσε να είναι #defined σταθερά - Οι έλεγχοι για τον τύπο εισιτηρίου θα µπορούσαν να έχουν γίνει και µε switch. - Στο σηµείο όπου εκτυπώνονται τα πλήθη εισιτηρίων για κάθε τύπο έπρεπε να είχατε χρησιµοποιήσει επανάληψη. - Το πρόγραµµα δεν κάνει compile. - Η αρχικοποίηση είναι λάθος. Άλλο το κενό string, άλλο ένα string από χαρακτήρες κενό (space). Άσκηση 1 - Χρειάζονται δύο διαφορετικές σταθερές για το πλήθος φοιτητών και διαγωνισµάτων γιατί δεν έχουν καµία σχέση µεταξύ τους. Το πρόγραµµά σας θα πάψει να δουλεύει αν αλλάξει ένα από τα δύο. - Άσχηµα ονόµατα µεταβλητών. Κατά σύµβαση µε κεφαλαία γράφουµε µόνο τις σταθερές. To i περιέχει συγκεκριµένη ποσότητα, δεν είναι απλός µετρητής, οπότε έπρεπε να έχει περιγραφικό όνοµα. - Το 1350 θα µπορούσε να είναι ορισµένο µε #define - Αυτό που κάνετε µε το i είναι λάθος. Αν δοθεί βαθµός µόνο για ένα φοιτητή, ας πούµε µε ΑΕΜ 1354, τότε το i γίνεται 3 το οποίο δεν έχει κάποια λογική. Το 1354 είναι στην πέµπτη θέση. Σε αυτό οφείλεται και το γεγονός ότι εκτυπώνεται µια επιπλέον γραµµή, εκτός ορίων πίνακα. - Πολύ pass -Ύπαρξη σχόλιου στην αρχή του προγράµµατος. -Σωστή δήλωση και χρήση σταθερών. -Πολύ καλή στοίχηση και ονόµατα µεταβλητών. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Λάθος υπολογισµός µέσου όρου. Έπρεπε να χρησιµοποιείτε την τιµή του TESTS -Λάθος εµφάνιση του µέσου όρου, θα έπρεπε να εµφανίζονται µόνο τα αποτελέσµατα των ΑΕΜ που δόθηκαν. -Δεν παραδόθηκε.

1652 - Γενικά καλή προσπάθεια. Τα αποτελέσµατα που παράγονται είναι σωστά. - Γιατί µετά από κάθε εντολή αφήνεις µία κενή γραµµή;; Προσπάθησε να οµαδοποιείς τον κώδικα αφήνοντας µία κενή γραµµή µόνο όταν θες να χωρίσεις τις οµάδες. π.χ. µετά τη δήλωση των µεταβλητών και πριν την αρχικοποίηση των πινάκων σου. - Τα M και Ν που κάνεις define στην αρχή, πιο ορθά θα έπρεπε να είναι STUDENTS και TESTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Λείπει αρχικό περιγραφικό σχόλιο και γενικά οποιοδήποτε σχόλιο. - Τέλος, καλό είναι τα µηνύµατα για δικό σου debugging µετά την ολοκλήρωση του κώδικα να µπάινουν σε σχόλιο ή ακόµη καλύτερα να αφαιρούνται, και να παραµένει µόνο η έξοδος που ζητείται από την άσκηση. 1653 FAIL Εστάλη λάθος άσκηση - Πολύ καλή δουλειά µε τις σταθερές, µπράβο. Θα µπορούσατε να είχατε και το 3 ως #defined σταθερά - Στον έλεγχο του τύπου θα µπορούσατε να είχατε και switch aντί για if - Μην αφήνετε τόσο µεγάλο κενό πριν το return. - Πολύ καλή λύση. 1654 - Εντυπωσιακό το floating point exception :) Το πρόβληµα είναι ότι στη µεταβλητή plithos αποθηκεύετε το µήκος του µεγάλου string που είναι άδειο, κι όχι του temp_text. Έτσι στον υπολογισµό του xoros γίνεται διαίρεση µε το µηδέν. - Το temp_text θα µπορούσε να λέγεται word. - Για τον υπολογισµό των θέσεων που αποµένουν θα µπορούσατε να χρησιµοποιήσετε % - Η διαίρεση έπρεπε να είναι (SIZE-1)/plithos γιατί θέλουµε να µείνει χώρος και για το \0 - Γενικά καλή δουλειά στο κοµµάτι που έχει υλοποιηθεί µέχρι στιγµής.

1655 - Καλή δουλειά - Να δίνετε περιγραφικά ονόµατα και στις σταθερές σας, γιατί διαφορετικά υπάρχει κίνδυνος να τις µπερδέψετε. Σκεφτείτε το πρόγραµµα να είναι πολύ µεγαλύτερο, µε περισσότερες λειτουργίες, και να σας πει κάποιος ότι τώρα έχουµε 1000 φοιτητές και 30 διαγωνίσµατα. Θα πρέπει να διαβάσετε τον κώδικα για να βρείτε ποιο από τα δύο 5άρια που έχετε τώρα πρέπει να αλλάξει σε 100 και ποιο σε 30. Αν είχατε δώσει καλά ονόµατα, δε θα είχατε αυτό το πρόβληµα. - Το 1350 θα µπορούσε επίσης να είναι #defined - Στο τέλος που διαιρείτε µε 5 έπρεπε να διαιρείτε µε όποια από τις δύο σταθερές είναι το πλήθος διαγωνισµάτων. - Το scanf είναι τελείως λάθος. Έπρεπε να χρησιµοποιήσετε το "κόλπο" µε την sprintf για να κάνετε αυτό που θέλετε. Πάντως παίρνετε πόντους για το ότι σκεφτήκατε ότι κάπως πρέπει να προσδιορίσετε µέγεθος. - Καλή αρχή, αλλά θέλει δουλειά ακόµη, και θα κάνω πως δεν είδα το if (i=1) - Καλή δουλειά! - Θα µπορούσε να είναι και το 3 σε #defined σταθερά - Τα διαδοχικά if για τον τρόπο παραγγελίας θα µπορούσαν να είχαν αντικατασταθεί κι από switch. 1656 - Δεν κάνει compile κι έχει αρκετά προβλήµατα: -- Αυτό που κάνατε στο scanf είναι τελείως λάθος. Δείτε τη λύση ή στις διαλέξεις πώς χρησιµοποιείται το sprintf για αυτή τη δουλειά - Δε χρειάζεται το for για το µετρητή: θα µπορούσατε να χρησιµοποιήσετε τη strlen.επιπλέον, το for έχει κίνδυνο να βγάλει λάθος αποτέλεσµα γιατί δε βγαίνετε από το loop όταν συναντήσετε \0. Έτσι αν τύχει και το string έχει οτιδήποτε άλλο από \0 µετά το τέλος του, ο µετρητής θα πάρει µεγαλύτερη τιµή από ότι πρέπει.

1657 -Θα µπορούσατε να δηλώσετε και το 3 ως #define σταθερά εκτος από το ΤΤ (άσχηµο όνοµα) που έχετε δηλώσει. -Σωστή η αρχικοποίηση του πίνακα. -Σωστή χρήση switch, αλλά µην βάζετε πολλές εντολές σε µία γραµµή. -Πολύ καλή στοίχιση -Στην εκτύπωση των περιεχοµένων θα έπρεπε να προηγείται ο τύπος του εισητηρίου και " : " σε κάθε γραµµή. -Φτωχό αρχικό σχόλιο. -Πολύ καλά, µπράβο σας. -Δεν υπάρχει αρχικό σχόλιο. 1658 FAIL Εστάλη λάθος άσκηση 1659 Οριακό -Δεν έχετε αρχικό σχόλιο. -Πολύ καλές µεταβητές. -Καλή στοίχση. Στο τέλος λίγο θέλει προσοχή. -Το 3 θα µπορούσε να ναι και αυτό σταθερά. -Ο κώδικας δεν κάνει compile. 1660 -Καλή στοίχιση. -Το αρχικό σχόλιο θα µπορούσε να είναι καλύτερο. -Μερικές µεταβλητές δεν είναι περιγραφικές. -Το 3 θα µπορούσε να είναι και αυτό σταθερά. -Κάθε φορά που πάτε να γράψετε σε µια θέση πίνακα θα έπρεπε να προσθέτετε τη θέση εκείνη µε το order και όχι να δίνετε την τιµή order. -Στην εκτύπωση του αποτελέσµατος θα έπρεπε να έχετε διπλή for όπως στην αρχικοποίηση, επειδή είναι δισδιάστατος πίνακας. -Το ξεκινάτε καλά. -Δε χρησιµοποιείτε σωστά τη strcpy και strcat. Έχετε βάλει ανάποδα τους πίνακες σε αυτές τις συναρτήσεις. Αντί να αντιγράψετε τον input στον output, κάνετε το αντίθετο.

1661 -Θα µπορούσατε να δηλώσετε και το 3 ως #define σταθερά. Επίσης τα ονόµατα των σταθερών θα µπορούσαν να ειναι πιο περιγραφικά. -Σωστή η αρχικοποίηση του πίνακα. -Σωστή χρήση switch, αλλά µην βάζετε πολλές εντολές σε µία γραµµή. -Κατά την εισαγωγή των δεδοµένων έχετε µία printf("\n") η οποία έχει ως αποτέλεσµα πριν την εκτύπωση των αποτελεσµάτων να προηγούνται πολλές κενές γραµµές. -Καλό αρχικό σχόλιο. -Καλή προσπάθεια και σωστά αποτελέσµατα, µπράβο σας. Δεν έχετε κάνει σωστά τη συµπίεση µε το σωστό όνοµα φακέλου...ανεπίτρεπτο... 1662 FAIL -Σωστή χρήση του #define. -Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή αρχικοποίηση πίνακα. -Λάθος καταχώρηση δεδοµένων στον πίνακα. -Λάθος εµφάνιση αποτελεσµάτων. Προσπαθήστε να τη λύσετε σπίτι. Δείτε µετά τις λύσεις. 1663 Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 -Υπάρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή δήλωση σταθερών. -Στην αρχικοποίηση του πίνακα έχετε ανάποδα τις for. Ναι µεν δουλεύει κι έτσι, αλλά δεν είναι αποτελεσµατική προσπέλαση µνήµης. -Λάθος καταχώρηση δεδοµένων. Δεν έπρεπε να αποθηκεύετε τον ΑΜ. -Δε χρειάζεται ταξινόµηση του πίνακα, αλλά µπράβο για την προσπάθεια -Δε χρειάζεται πίνακας για τον υπολογισµό του µέσου όρου. -Λάθος εκτύπωση αποτελεσµάτων. -Προσπαθήστε να ξανακάνετε την άσκηση το σπίτι. - Πολύ pass Δεν παραδόθηκε.

1664 - Γενικά δεν ακολουθείτε τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα vathmologio. Δεν έπρεπε να ορίζετε και επιπλέον πίνακα mitrwo. Για τη σωστή χρήση του, συµβουλευτείτε τις λύσεις. -- Συγκεκριµένα τον πίνακα vathmologio, τον ορίζετε και τον διαχειρίζεστε σωστά, βάσει των προδιαγραφών της άσκησης. Όµως επειδή οι γραµµές του πινάκα mitrwo, γεµίζουν όπως τα στοιχεία διαβάζονται από το αρχείο, το πρόγραµµα δεν παράγει το σωστό αποτέλεσµα. Το πρόβληµα µε τα αποτελέσµατα που δε σας βγαίνουν σωστά στην εκτύπωση δεν οφείλονται στο %, αλλά στην αναντιστοιχία των στοιχείων για τους aem και βαθµολόγιο. Επίσης, για να πάρετε τα aem ξανά πίσω θέλετε 1350 + i. -- To % που προσθέσατε στο αρχείο που ξαναστείλατε, δε θα δούλευε σωστά αν αλλάζαµε το STUDENTS σε 11, ή σε οποιαδήποτε άλλη µεγαλύτερη τιµή. - Καλή στοίχιση κώδικα, αν και το χάνετε λίγο στις τελευταίες 5 γραµµές. - Το STUD που κάνετε define στην αρχή, πιο ορθά θα έπρεπε να είναι STUDENTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν mitrwo=-1... 1665 FAIL Όταν θα ξαναστέλνετε ασκήσεις, δε θα αλλάζετε ΠΟΤΕ το subject του µαιλ. - Το πρόγραµµα δεν κάνει compile. Η σύνταξη της switch έχει πολλαπλά λάθη, και είναι ύλη που έπρεπε να ξέρετε καλά. 1666 FAIL Δεν ελήφθη άσκηση 1667 FAIL - Το πρόγραµµα δεν κάνει compile. - Δε γίνεται σωστή χρήση επαναλήψεων όπου πρέπει. - Λάθη σε στοιχειώδη σηµεία όπως στη χρήση printf.

1668 -Θα µπορούσατε να δηλώσετε τo 5 και το 3 σαν σταθερά µε τη χρήση του #define. -Μη - Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Σωστή εµφάνιση αποτελεσµάτων. 1669 1670 Οριακό -To πρόγραµµα σας δεν κάνει compile, έχει συντακτικά λάθη. -Μη - Ύπαρξη σχολίου στη πρώτη γραµµή του προγράµµατος. -Σωστή η λογική, προσπαθήστε να τη λύσετε σπίτι και µετά δείτε τη λύση. - Πολύ άσχηµα ονόµατα πινάκων. Είναι πολύ εύκολο να µπερδευτείτε και να χρησιµοποιήσετε λάθος πίνακα για κάτι. - Ασυνεπής στοίχιση, πολλές κενές γραµµές σε σηµεία που δεν πρέπει να υπάρχουν. - Τα ονόµατα των σταθερών τυπικά γράφονται µε όλο κεφαλαία - Το segmentation fault οφείλεται στο ότι στη γραµµή 51 γράψατε κατά λάθος i++ αντί για j++ - Κατά τα άλλα, σωστη λογική. - Ωραία ορίσατε τις σταθερές, αλλά έπρεπε να χρησιµοποιήσετε το TESTS στη διαίρεση για το µέσο όρο. Αν αλλάξει ο αριθµός διαγωνισµάτων το πρόγραµµά σας δε θα βγάζει πια σωστά αποτελέσµατα γιατί η διαίρεση θα γίνεται πάντα δια του 5. - Ωραία ονόµατα µεταβλητών. Για τους µετρητές των for δε χρειάζεται κάθε φορά διαφορετικό όνοµα. Μόνο αυτοί που είναι σε εµφωλευµένα for πρέπει να είναι διαφορετικοί. Κατά τα άλλα, µπορείτε να τους επαναχρησιµοποιείτε. - Το thesh=arith_mhtroou%10; Αν έχουµε περισσότερους φοιτητες, τότε όσοι έχουν AEM 1350, 1360, 1370 κτλ θα µπούν όλοι στην ίδια γραµµή. - Προς το τέλος του προγράµµατος η στοίχιση χαλάει και δε φαίνεται πού τελειώνει κάθε επανάληψη. Επίσης µην αφήνετε τόσες κενές γραµµές. - Το τελευταίο for έχει αρκετά λογικά λάθη. Το thesh είναι πάντα ίδιο και το άθροισµα δε µηδενίζεται πριν τον υπολογισµό για κάθε φοιτητή. - Πολύ pass..

1671 1672 - Γενικά δεν ακολουθείτε τις προδιαγραφές της άσκησης, στην κατασκευή του πίνακα vathmologio. Δεν έπρεπε να ορίζετε και επιπλέον πίνακα mitrwo. Για τη σωστή χρήση του, συµβουλευτείτε τις λύσεις. -- Συγκεκριµένα τον πίνακα vathmologio, τον ορίζετε και τον διαχειρίζεστε σωστά, βάσει των προδιαγραφών της άσκησης. Όµως επειδή οι γραµµές του πινάκα mitrwo, γεµίζουν όπως τα στοιχεία διαβάζονται από το αρχείο, το πρόγραµµα δεν παράγει το σωστό αποτέλεσµα. Το πρόβληµα µε τα αποτελέσµατα που δε σας βγαίνουν σωστά στην εκτύπωση δεν οφείλονται στο %, αλλά στην αναντιστοιχία των στοιχείων για τους aem και βαθµολόγιο. Επίσης, για να πάρετε τα aem ξανά πίσω θέλετε 1350 + i. -- To % που προσθέσατε στο αρχείο που ξαναστείλατε, δε θα δούλευε σωστά αν αλλάζαµε το STUDENTS σε 11, ή σε οποιαδήποτε άλλη µεγαλύτερη τιµή. - Καλή στοίχιση κώδικα, αν και το χάνετε λίγο στις τελευταίες 5 γραµµές. - Το STUD που κάνετε define στην αρχή, πιο ορθά θα έπρεπε να είναι STUDENTS. - Επίσης το 1350 καλύτερα να είχε γίνει define και αυτό. - Όσον αφορά την εκτύπωση των αποτελεσµάτων, θα µπορούσαν να σταµατάνε αν mitrwo=-1... Όταν θα ξαναστέλνετε ασκήσεις, δε θα αλλάζετε ΠΟΤΕ το subject του µαιλ. - Καλό θα ήταν να είχατε και το 3 ως #defined σταθερά - Σωστή η αρχικοποίηση του πίνακα - Για τον έλεγχο Τ, Ι, Β θα µπορούσατε να είχατε και switch. - Όταν βρίσκετε το κατάλληλο κελί πρέπει να προσθέτετε σε αυτό την ποσότητα plithos. Εσείς κάνετε το ισοδύναµο του x=x++ το οποίο δεν είναι καν καλά ορισµένη πράξη. - Η τιµή του type που εκτυπώνετε στο τέλος είναι πάντα '-' γιατί αυτή ήταν η τελευταία τιµή που εκχωρήθηκε στη µεταβλητή type. Έπρεπε να εκτυπώνετε την τιµή 'V'+i - Πολύ pass...

1673 Οριακό -Ύπαρξη σχόλιου στην αρχή του προγράµµατος. -Σωστή δήλωση και χρήση σταθερών. -Όχι καλή στοίχηση αλλά καλά ονόµατα µεταβλητών. -Σωστή αρχικοποίηση πίνακα. -Σωστή καταχώρηση δεδοµένων στον πίνακα. -Δεν είναι απαραίτητο το σχόλιο προς το χρήστη για την εισαγωγή των δεδοµένων. -Για τον υπολογισµό του µέσου όρου, θα έπρεπε να χρησιµοποιήσετε την αντίστοιχη σταθερά. -Δεν παραδόθηκε. 1674 Οριακό -Οι σταθερές καλό είναι να δηλώνονται µε κεφαλαία. -Καλή προσπάθεια. Τα αποτελέσµατα για το αρχείο εισόδου που δόθηκε, είναι σωστά. Αν προστεθούν και άλλα tests, τα αποτελέσµατα είναι λάθος καθώς στον υπολογισµό του µέσου όρου χρησιµοποιείτε το 5 και όχι τη σταθερά Tests. -Κατά τα άλλα καλή στοίχιση και ονόµατα µεταβλητών αλλά δεν υπάρχει αρχικό σχόλιο. 1676 -Ο κώδικας σας δεν κάνει compile. -Δεν µπορείτε να αναθέσετε ένα string σε ενα άλλο µε τον τελεστή = -Ο υπόλοιπος κώδικας δεν υλοποιεί και από τα ζητούµενα Άσκηση 1η: - Έχετε βάλει σχόλια στην αρχή του προγράµµατος, έχετε καλά ονόµατα µεταβλητών και καλή στοίχιση - Χρησιµοποιείτε σωστά τις δηλώσεις #define ώστε το πρόγραµµα να τρέξει εύκολα και για διαφορετικό πλήθος φοιτητών ή/και µαθηµάτων - Θα µπορούσατε να δηλώσετε ως σταθερά την τιµή 1350 - Στο do...while πρέπει να µπει µια συθήκη ελέγχου αµέσως µετά το scanf του ΑΜ, πχ if(am == -1) break; Έτσι πως είναι ο κώδικας, ουσιαστικά, όταν διαβάζει ΑΜ -1, περιµένει να διαβάσει και 5 τιµές για τους βαθµούς και µετά να βγει από την while, οπότε και δεν τερµατίζει σωστά. - Κατά τα άλλα τα πήγατε καλά Άσκηση 2η: