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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

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

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

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

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

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

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

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

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

9 - Δεν βάζετε καθόλου σχόλια! - Η µεταβλητή 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]); είναι χωρίς *. - Διαβάστε τις Διαλέξεις για καλύτερη κατανόηση της σχέσης µεταξύ πινάκων και δεικτών. -Καλή δουλειά. Σωστός κώδικας, καλή στοίχιση και µεταβλητές, όπως και σχόλια FAIL Καλή προσπάθεια. -Σωστή αριθµητική δεικτών. -Το 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. µεταβλητές αλλά µέτρια στοίχιση. -Λείπει το σχόλιο FAIL Άσκηση 2(Λάθος όνοµα αρχείου): -Δεν κάνει compile. Έχεις αρκετά λάθη. -Στο αλγοριθµικό κοµµάτι το SIZE*WORDLEN που δηλώνεις ως µέγεθος του πίνακα και στο τερµατισµό της for είναι λάθος. Θέλει σκέτο SIZE. -Το strlen(words[size]) είναι λάθος. Με SIZE είσαι εκτός ορίων πίνακα. -Δες την ενδεικτική λύση.

10 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 πέρα από αυτά που σας δόθηκαν FAIL - Το πρόγραµµα δεν εκτυπώνει ακριβώς σωστές τιµές και γενικά δεν ακολουθούνται ακριβώς οι προδιαγραφές της άσκησης. -Πολλές κενές γραµµές στο τέλος του κώδικα. - Ο πίνακας numbers_ptr χρειάζεται διαφορετικό index για να τον διατρέχουµε σε σχέση µε τον πίνακα numbers kai to else κοµµάτι γραµµές δε θα έπρεπε να υπάρχει εκεί. Θα έπρεπε να αντικατασταθεί µε µία αρχικοποίηση του πίνακα numbers_ptr σε NULL. - Το πρόγραµµα περιέχει errors και δεν κάνει compile. - Κακή στοίχιση. - Στη γραµµή 19 η κλήση της συνάρτησης πρέπει να γίνει ως εξής: findminandswap(start, words); - Ηµιτελής άσκηση

11 1608 -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση οριακό - Καλή υλοποίηση, δεν περιέχονται όµως καθόλου σχόλια στο κώδικα. - Στην εκτύπωση των αποτελεσµάτων, η 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, σας λείπει το ; - Πρέπει να κατανοήσεις την σχέση πίνακας-δείκτης, δες Διάλεξη Ωραία περιγραφικά σχόλια και καλή στοίχιση Πολύ καλή προσπάθεια, σωστά αποτελέσµατα χωρίς λάθη. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε το µήκος των λέξεων που πρόκειται να εµφανίσετε, αυτό διορθώνεται αν βάζατε ένα (int) πριν ακριβώς από το strlen(index[i]). -Ωραία περιγραφικά σχόλια και καλή στοίχιση.

12 1612 οριακό - Ο κώδικας σας δεν ακολουθεί ακριβώς τις προδιαγραφές της άσκησης στην εκτύπωση των αποτελεσµάτων. Αναλυτικά, -- ln 9-11 αρχικοποιείτε τον πίνακα δεικτών σε NULL. Ωραία µέχρι εδώ -- ln 14-18, εδώ χαλάτε την αρχικοποίηση αποθηκεύοντας σε κάθε στοιχείο του πίνακα τη διεύθυνση για κάθε στοιχείο από τον πίνακα numbers. Αυτές οι γραµµές είναι περιττές. Αν τις βάλλατε για να µην παίρνετε το segmentation fault, αυτό οφείλεται σε κακό indexing πινάκων στο for και if στις ln Συγκεκριµένα, η ln 41 πρέπει να γίνει if(maxnumber_ptr[k]!= NULL) αντί για if(maxnumber_ptr!= NULL) που έχετε. -- Επίσης ln ο 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 Καλή προαπάθεια. -Το pos είναι σωστό αλλά θα έπρεπε να το υπολογίσετε µε αριθµητική δεικτών. -Στη γραµµή 21 δεν χρειάζεται το & (δείτε το warning). -Το warning για το size_t θα µπορούσατε να το αποφύγετε κάνοντας typecast το αποτέλεσµα της strlen σε int. -Ωραία περιγραφικά σχόλια και καλή στοίχιση(αν και το τελευταίο τόσο µεγάλο κενό προς το τέλος του προγράµµατος δε χρειαζόταν.) -Γιατί εδώ δε βάλατε καθόλου σχόλια όπως είχατε στην 1? Επίσης δεν έχετε τόσο καλή στοίχιση.

13 -Καλές µεταβλητές, στοίχιση και σχόλιο. -Δε βάζετε σωστά τα στοιχεία τα µεγαλύτερα από το wall. Πρέπει να ξεκινάτε από το τέλος του πίνακα και να έρχεστε προς το wall και όχι να ξεκινάτε από το wall και να βάζετε νούµερα Μεταβλητές, στοίχιση και σχόλιο όπως πάνω. -Έχετε warning επειδή δεν κάνετε typecasting σε int το µέγεθος στην εκτύπωση. -Τα Strings εκτύπωνονται σωστά. Έχετε ένα µικρό θέµα µε τη θέση και το µέγεθος του string. Και στις 2 περιπτώσεις σας βγαίνει κατά 1 µικρότερο Μεταβλητές, σχόλιο και στοίχιση όπως πάνω. -Σωστή εκτύπωση των 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. -Καλή προσπάθεια οριακό - Υπάρχει 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. - Οι γραµµές (else κοµµάτι) δε θα έπρεπε να υπάρχουν. Αντί αυτών θέλατε στην αρχή να αρχικοποιήσετε κάθε στοιχείο του πίνακα pointers σε NULL. - To segmenation fault οφείλεται στη µη αρχικοποίηση του j σε 0 πριν τη ln Και εδώ υπάρχουν 2 warnings. O temp είναι τύπου int ενώ το words[minpos] είναι τύπου char *... O temp έπρεπε να δηλωθεί ως char *temp; για να µπορούµε στη συνέχεια να κάνουµε temp = words[minpos];. - Σωστός αλγόριθµος για εύρεση του string µε το µικρότερο µήκος.

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

15 Οριακό οριακό - Δεν βάζετε καθόλου σχόλια στον κώδικά σας - Η υλοποίηση είναι σωστή, η εκτύπωση των αποτελεσµάτων οκ, µόνο που στην γραµµή 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 Συγκεκριµένα, η ln 41 πρέπει να γίνει if(maxnumber_ptr[k]!= NULL) αντί για if(maxnumber_ptr!= NULL) που έχετε. -- Επίσης ln ο 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.! Σωστός κώδικας, καλές µεταβλητές, στοίχιση και σχόλια ξανά. -Τα warnings θα µπορούσατε να τα αποφύγετε αν κάνατε typecast σε int.

16 1633 FAIL 1634 FAIL 1635 FAIL - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Γεµίζετε σωστά τον πίνακα µε τους δείκτες στις θέσεις των ακεραίων, αλλά στην εκτύπωση των αποτελεσµάτων έχετε πρόβληµα. - Η θέση pos του κάθεσ στοιχείου δεν δίνεται από την έκφραση *akeraioi_p[i] +i, γιατί καταρχήν το i αυξάνεται βηµατικά, ενώ οι θέσεις των ακεραίων όχι, και η δήλωση *akeraioi_p[i] σηµαίνει "το περιεχόµενο της µνήµης στην διεύθυνση που είναι αποθηκευµένη στη θέση akeraioi_p[i]", άρα στην περίπτωση µας, οι τιµές 1, 2, 3, 5, 6, 9 και Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Σας πετάει 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]) χωρίς λάθη και -Ωραίο περιγραφικό σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση. -Υπάρχουν λάθη και προειδοποιήσεις, το πρόγραµµα σας είναι ηµιτελές. Το πρόγραµµα σας δεν κάνει σχεδόν τίποτα. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Δεν υπάρχει σχόλιο στην αρχή του προγράµµατος και καλή στοίχιση.

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

18 οριακό οριακό - Υπάρχει 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. - Οι γραµµές (else κοµµάτι) δε θα έπρεπε να υπάρχουν. Αντί αυτών θέλατε στην αρχή να αρχικοποιήσετε κάθε στοιχείο του πίνακα pointers σε NULL. - To segmenation fault οφείλεται στη µη αρχικοποίηση του j σε 0 πριν τη ln Και εδώ υπάρχουν 2 warnings. O temp είναι τύπου int ενώ το words[minpos] είναι τύπου char *... O temp έπρεπε να δηλωθεί ως char *temp; για να µπορούµε στη συνέχεια να κάνουµε temp = words[minpos];. - Σωστός αλγόριθµος για εύρεση του string µε το µικρότερο µήκος. Λάθος θέµα . -Σας έχουµε πει τόσες πολλές φορές να βάζετε σχόλια! -Οκ θέλεις να κάνεις καλή στοίχιση, αλλά µην αφήνεις τόσο κενό!!! -Καλή προσπάθεια, σχετικά καλά αποτελέσµατα χωρίς λάθη. Έπρεπε να εµφανίζεται η πρώτη λέξη που βρίσκεται µε διαφορετικό µήκος. Σε εσάς φαίνονται και οι 3 λέξεις µεγέθους 2. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε την ανάθεση τιµών σχετικά µε το πίνακα δεικτών. -Για να βρείτε την θέση (pos) απλά έπρεπε να κάνετε στην printf την πράξη: (wordsp[i]-wordsp[0])/wordlen. -Σωστή δήλωση και χρήστη µεταβλητών,σταθερών. -Ισχύει το ίδιο για τα σχόλια! Προσέξτε λίγο και τη στοίχιση! FAIL - Σωστή, καλά σχόλια, µεταβλητές. Προσέξτε λίγο τη στοίχιση και τα κενά ανάµεσα σε εντολές. - Το x είναι ακέραιος και το words[i] συµβολοσειρά, οπότε δε γίνεται να τα συγκρίνετε. Γιαυτό εµφανίζεται warning. Θα έπρεπε να συγκρίνετε το x µε το strlen της συµβολοσειράς. - Ηµιτελής άσκηση, αλλά αλγοριθµικά σε καλό σηµείο. Κανένα από τα δύο προγράµµατα δεν κάνει compile και γενικά έχουν πολλά προβλήµατα.

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

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

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

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

23 -Το πρόγραµµα σας έχει µια προειδοποίηση που θα µπορούσατε να διορθώσετε, δεν έχει λάθη αλλά και πάλι δεν εµφανίζονται τα σωστά αποτελέσµατα.δεν εµφανίζεται σωστά το pos/val. -Δεν υπάρχει περιγραφικό σχόλιο. -Δεν ακολουθείτε την λογική της άσκησης σωστά. -Κάπως καλή στοίχιση FAIL 'Ασκηση 2η: -Πολλά λάθη και προειδοποιήσεις. -Δεν υπάρχει περιγραφικό σχόλιο. -Δεν ακολουθείτε την λογική της άσκησης σωστά. -'Εχετε µία συνάρτηση στον ορισµό της κενή, και αυτά που κάνατε στη συνάρτηση main έπρεπε να τα κάνετε στο σώµα της συνάρτησης που δηµιουργήσατε. -Κάπως καλή στοίχιση. -Ωραία περιγραφικά σχόλια και καλή στοίχιση Πολύ καλή προσπάθεια, σωστά αποτελέσµατα χωρίς λάθη. -Σας βγάζει κάποιες προειδοποιήσεις που µπορούσατε να διορθώσετε, σχετικά µε το µήκος των λέξεων που πρόκειται να εµφανίσετε, αυτό διορθώνεται αν βάζατε ένα (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]); είναι χωρίς *. - Διαβάστε τις Διαλέξεις για καλύτερη κατανόηση της σχέσης µεταξύ πινάκων και δεικτών.

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

25 1676 FAIL FAIL - Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Γεµίζετε σωστά τον πίνακα µε τους δείκτες στις θέσεις των ακεραίων, αλλά στην εκτύπωση των αποτελεσµάτων έχετε πρόβληµα. - Η θέση pos του κάθεσ στοιχείου δεν δίνεται από την έκφραση *akeraioi_p[i] +i, γιατί καταρχήν το i αυξάνεται βηµατικά, ενώ οι θέσεις των ακεραίων όχι, και η δήλωση *akeraioi_p[i] σηµαίνει "το περιεχόµενο της µνήµης στην διεύθυνση που είναι αποθηκευµένη στη θέση akeraioi_p[i]", άρα στην περίπτωση µας, οι τιµές 1, 2, 3, 5, 6, 9 και Δεν βάζετε σχόλια στην αρχή του προγράµµατος - Σας πετάει 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 FAIL - Δεν υπολογίζετε σωστά τις θέσεις των αριθµών και στην εκτύπωση δεν σας εµφανίζει τίποτα για το τελευταίο στοιχείο του πίνακα numbers - Δεν παραδόθηκε

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

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

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

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

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

Sheet2 Α.Μ FAIL. οριακό PASS. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h Α.Μ. 1375 FAIL 1413 1417 1420 1421 FAIL 1422 FAIL 1424 1425 FAIL 1426 FAIL - Πρώτα να ελέγχετε αν η malloc επέστρεψε NULL και µετά να προσπαθείτε να προσπελάσετε τη δεσµευµένη µνήµη - Όταν διαβάζετε string

Διαβάστε περισσότερα

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

Βαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string. Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 1242 1243 - Πολύ καλή δουλειά κατά τα άλλα, µπράβο. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.h

Διαβάστε περισσότερα

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

- Το πρόγραµµα σας δίνει τα αναµενόµενα αποτελέσµατα. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1349 FAIL Δεν ελήφθη άσκηση 1482 1556 1559 1562 1563 1565 1566 FAIL - Στην initialize πρέπει να κάνετε έλεγχο αν η malloc αποτυγχάνει για κάθε κλήση της, άρα και για δέσµευση χώρου για

Διαβάστε περισσότερα

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

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 - Καλή δουλειά 1242 1243 1244 1245 - Κακή χρήση συναρτήσεων. Κάνεις τον ίδιο έλεγχο και εντός και εκτός της συνάρτησης. Θα έπρεπε να έχεις βρεί ένα τρόπο

Διαβάστε περισσότερα

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1 ΑΕΜ ΒΑΘΜΟΣ 449 PASS 451 PASS 476-1733 PASS 1779-1899 FAIL 1900 FAIL Page 1 1901 PASS 1904 PASS 1908 PASS 1909 PASS 1910 - Page 2 1911 PASS 1914 Οριακό PASS 1915 PASS 1926 PASS Page 3 1927 PASS 1928 Οριακό

Διαβάστε περισσότερα

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

lab9grades Άσκηση 1 - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Μέτρια σχόλια. 00497 PASS - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της factorial. - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh. - Καλά ονόµατα µεταβλητών

Διαβάστε περισσότερα

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

Sheet2. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Δεν κάνει compile και το λάθος είναι σηµαντικό: Το head1 είναι δείκτης σε struct, εποµένως η προσπέλαση πεδίου γίνεται 321 FAIL µε head1->next και όχι head1.next. Επιπλέον, έχετε λάθος

Διαβάστε περισσότερα

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

Στην clearlist: - Όλα ok. οριακό PASS Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Στη main: - Αποθηκεύετε το αποτέλεσµα της removepart στη µεταβλητή curr, αλλά στην κλήση της clearlist µετά περνάτε την παλιά κεφαλή της λίστας (µεταβλητή list) η οποία δεν είναι πια

Διαβάστε περισσότερα

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

Sheet1_2. - Δεν απελευθερώνεις τη δυναµικά δεσµευµένη µνήµη. - Η έξοδος του προγράµµατός σου δεν είναι ακριβώς όπως ζητούσε η άσκηση. Sheet1_2 AEM 0001 0002 0003 0004 0006 COMMENTS - Segmentation fault λόγω λάθους στην αναδροµή. Δες τη λύση, αλλά προσπάθησε να το ξανακάνεις και στο σπίτι για εξ - Πρόσεχε λίγο τη στοίχιση - Καλή δουλειά

Διαβάστε περισσότερα

FAIL PASS PASS οριακά

FAIL PASS PASS οριακά AEM 0001 0002 COMMENTS οριακά -Το πρόγραµµά σου δουλεύει λάθος για τις εισόδους: 7 -Δεν έχεις µεριµνήσει για την περίπτωση step=1. Μπορούσες να θεωρήσεις ειδική περίπτωση και να την υλοποιείς σε άλλον

Διαβάστε περισσότερα

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

lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! AEM 0001 0002 0003 COMMENTS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! -Τυπώνεις 1,2,3 αντί για AVAILABLE, RESERVED,

Διαβάστε περισσότερα

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

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 -Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. -Σωστά τερµατίζετε

Διαβάστε περισσότερα

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

Sheet2. - Άσκηση 1 οκ - Άσκηση 2 οκ. Σκέψου πώς θα µπορούσες να την AEM ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1413. Σκέψου πώς θα µπορούσες να την 1417 κάνεις χωρίς χρήση της βοηθητικής µεταβλητής curr - Πρώτη άσκηση οκ - Στη δεύτερη άσκηση το free(head) δεν έπρεπε να είναι στο else, αλλά να

Διαβάστε περισσότερα

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

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS lab7 Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 1242 1243 1244 1246 - Η συνθήκη του do/while είναι λάθος µε αποτέλεσµα να µπορεί ο χρήστης να βάζει στοιχεία περισσότερα του SIZE. - Στην συνθήκη

Διαβάστε περισσότερα

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

Τα ονόµατα των φακέλων πρέπει να έχουν το επίθετά σας και όχι τα username που χρησιµοποιείτε στα εργαστήρια. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Άσκηση 1η - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα

Διαβάστε περισσότερα

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

Sheet1_2 FAIL. - To πρόγραµµα δεν κάνει compile Δεν παρέδωσε FAIL AEM 0001 0002 0003 COMMENTS οριακά -Η σταθερά για το µέγιστο µέγεθος του πίνακα έπρεπε να έχει τιµή 101 και όχι 100. -Έπρεπε να δεσµέυσεις δυναµικά και την µνήµη του αρχικού string και να το κάνεις free

Διαβάστε περισσότερα

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

lab6grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ. 449 451 οριακό PASS οριακό PASS, αλλά τα ονόµατα σταθερών γράφονται πάντα µε κεφαλαία για να ξεχωρίζουν. Το max έπρεπε να ήταν MAX. - Ονόµατα µεταβλητών: Καλά, εκτός

Διαβάστε περισσότερα

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

lab7grades -Σωστή χρήση της sprintf -Σωστά ανιχνεύετε τον χαρακτήρα που πρέπει να αφαιρέσετε. -Σωστή µεταφορά στοιχείων µια θέση αριστερά. 00497 Άσκηση1 -Σωστή στοίχιση. -Σωστή χρήση σταθερών. -Σωστά ονόµατα µεταβλητών. -Σωστή χρήση της sprintf. Το sprintf(formatstring, "%%%ds", INIT_SIZE 1); αρκεί να γραφτεί µια φορά. -Σωστή χρήση των συναρτήσεων

Διαβάστε περισσότερα

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

Δείτε τώρα και πώς θα έπρεπε να ήταν το παραπάνω: Page 1 Επειδή αρκετοί εξακολουθείτε να βάζετε σχόλια στην ίδια γραµµή αλλά πολύ πιο "δεξιά" από τον κώδικα που σχολιάζουν, δείτε παρακάτω πώς µοιάζει ένα τέτοιο πρόγραµµα σε συµβατικό terminal. Όπως έχουµε πει

Διαβάστε περισσότερα

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

lab5 -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο AEM 0001 0002 0003 0004 0005 0006 0007 0008 0009 0012 COMMENTS -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο commenting_standard.pdf.

Διαβάστε περισσότερα

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

lab10grades - Το αποτέλεσµα της τοµής θα έπρεπε να εµφανίζετε µέσα σε εισαγωγικά Helo. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Δεν χρησιµοποιείτε καλά ονόµατα µεταβλητών και παραµέτρων στις συναρτήσεις. - Σωστή χρήση της fgets. - Σωστός εντοπισµός του \n και αντικατάσταση µε \0. - Ο χαρακτήρας τερµατισµού \0

Διαβάστε περισσότερα

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

lab9grades -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449 οριακό PASS - Η µεταβλητή aukswn_aritmos είναι περιττή. Μπορούσες να χρησιµοποιήσεις i+1 στη θέση της. - Σωστή αριθµητική δεικτών - Καλή στοίχιση, σχόλια 451 PASS -Καλή στοίχιση -Καλά

Διαβάστε περισσότερα

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

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ. οριακό PASS Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 οριακό 1058 FAIL - Καλή δουλειά γενικά. - Πρόσεχε λίγο τα ονόµατα συναρτήσεων/µεταβλητών. Για παράδειγµα, το όνοµα integer δεν είναι καθόλου καλό γιατί δεν περιγράφει τι κάνει η

Διαβάστε περισσότερα

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

Sheet1_2. - Δεν υπάρχουν σχόλια συναρτήσεων - Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών (και σίγουρα όχι απλούς χαρακτήρες όπως c, d) Page 1 AEM 0001 0002 0003 0004 0005 0006 0007 COMMENTS οριακά -Υπολογίζεις λάθος τα στατιστικά. -Δεν βάζεις τα σχόλια µε βάση τις προδιαγραφές του φυλλαδίου. -Πρόσεξε λίγο την στοίχιση σε κάποια σηµεία. - Τα

Διαβάστε περισσότερα

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

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL Άσκηση 1η: - Δεν βάζετε σχόλια στην αρχή του κώδικα - Στοίχιση οκ, τα ονόµατα των µεταβλητών καλό είναι να είναι πιο περιγραφικά - Δεν χρησιµοποιείτε #define για να ορίσετε

Διαβάστε περισσότερα

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

lab2grades - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες %5.2f προδιαγραφές που ζητούνται στην εκφώνηση. - Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1375 - Καλή στοίχηση, σωστά ονόµατα µεταβλητών, όµως δεν έχετε δηλώσει ως σταθερές το ΦΠΑ και την τιµή ανά τετραγωνικό µέτρο για τη µοκέτα. - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες

Διαβάστε περισσότερα

Sheet PASS 1426 PASS 1428 PASS. Page 1

Sheet PASS 1426 PASS 1428 PASS. Page 1 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ -Δεν εκτελείτε κάποιο loop για το πλήθος των επαναλήψεων που 1413 FAIL θα κληθεί η ανάγνωση και η εγγραφή από το αρχείο. -Το άνοιγµα και κλείσιµο του αρχείου γίνεται σωστά. Έχετε αποστείλει

Διαβάστε περισσότερα

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

- Σωστή χρήση του προσδιοριστή const για την σταθερά pi. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Σωστή χρήση του προσδιοριστή const για την σταθερά p. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς. - Στην printf("enter radius: \n"); ο χαρακτήρας αλλαγής γραµµής

Διαβάστε περισσότερα

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

Βαθμός Σχόλια. lab8. οριακά PASS 1194 PASS Α. Μ. Βαθμός Σχόλια 1183 1194 1195 FAIL 1238 1239 - Άσχηµα ονόµατα µεταβλητών (s, t) - Δε δεσµεύεις αρκετή µνήµη για τις λέξεις που αποθηκεύονται στον πίνακα (και γι αυτό τελικά το πρόγραµµά σου κάνει

Διαβάστε περισσότερα

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

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

Διαβάστε περισσότερα

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

Άσκηση 2: -Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6 Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Λάθος όνοµα αρχείου.το επίθετο βάζουµε όχι το όνοµα. 1058 FAIL -Έχεις συντακτικά λάθη και προειδοποιήσεις στο πρόγραµµα σου. -Υπαρξη σχολίου στη πρώτη γραµµή. -Σωστή δήλωση και χρήση

Διαβάστε περισσότερα

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

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα. Α. Μ. Βαθμός Σχόλιο 1183 lab2 - Πολύ καλή δουλειά κατά τα άλλα 1194 1238 1239 FAIL 1240 1241 1242 1243 1244 1245 1246 - πολύ καλό (*υπάρχουν οι τελεστές = ). Ο κώδικας είναι καλά σχολιασµένος -

Διαβάστε περισσότερα

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

ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ. 812 PASS Καλή δουλειά ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 812 Καλή δουλειά 887 926 FAIL 1040 FAIL Μη αναγνωρίσιµο φορµατ 1060 1138 FAIL Ηµιτελές - Άσχηµα ονόµατα µεταβλητών/πεδίων που κάνουν δυσνόητο τον κώδικα. Μη χρησιµοποιείτε µεταβλητές

Διαβάστε περισσότερα

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

to post PASS PASS FAIL

to post PASS PASS FAIL AEM COMMENTS - Να δίνεις περιγραφικά ονόµατα σε όλες τις µεταβλητές (τι είναι τα k, flag, temp?) - Το.katastash πρέπει να γίνεται reset σε 0 στην euresh_grammatos, µετά από κάθε κλήση στη search_the_word.

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

ΑΕΜ ή username. Sheet2

ΑΕΜ ή username. Sheet2 ΑΕΜ ή username ΒΑΘΜΟΣ 357 ΣΧΟΛΙΑ - Σωστοί τύποι και περιγραφικά ονόµατα µεταβλητών. Αν το price_euro το είχατε price_euro_liter (όπως κάνατε και µε το price_dollar_gallon) δε θα χρειαζόταν καν διευκρινιστικό

Διαβάστε περισσότερα

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

Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου. 357 - Σωστά αποτελέσματα - Περιγραφικά ονόματα μεταβλητών. - Δεν έχετε

Διαβάστε περισσότερα

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

lab6grades - Δεν έχετε δηλώσει το βαθµό βάσης ως σταθερά. - Το µήνυµα εισόδου θέλει χαρακτήρα κενού ' ' στο τέλος και όχι TAB '\t'. 00497 PASS - Τα ονόµατα των µεταβλητών θα µπορούσαν να ήταν λίγο πιο περιγραφικά. - Το µήκος του πίνακα θα έπρεπε να δωθεί ως σταθερά πριν τη main µε την εντολή #define SIZE 5 και όχι ως const. - Πολύ

Διαβάστε περισσότερα

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

- Ο τελευταίος έλεγχος στη συνάρτηση είναι περιττός. Αν έχει φτάσει µέχρι εκεί το πρόγραµµα, τότε αναγκαστικά το µήκος είναι >= του PASSWD_MIN_LEN. 7/1/2014 ΣΗΜΑΝΤΙΚΗ ΑΝΑΚΟΙΝΩΣΗ: Όπως ακούσατε και στο σηµερινό µάθηµα, θα υπάρξει ειδική ρύθµιση όσον αφορά τις εξετάσεις για όσους φοιτητές δεν πληρούν τις προϋποθέσεις είτε για τα quiz είτε για τις απουσίες

Διαβάστε περισσότερα

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

lab11 - Να εκτυπώνεις πιο κατατοπιστικά µηνύµατα λάθους. Αν είναι όλα ίδια, δεν είναι ξεκάθαρο ποιο αρχείο έχει πρόβληµα. Α. Μ. Βαθμός Σχόλια 1183 FAIL - Πρώτα ελέγχουµε το argc και µετά κάνουµε προσπάθεια να προσπελάσουµε το argv. - Λάθος στην ανάγνωση του πρώτου αρχείου. Κάθε φορά που κάνεις fgetc διαβάζεις τον επόµενο

Διαβάστε περισσότερα

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

lab5grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΣΚΗΣΗΣ ΑΛΛΑ ΣΧΟΛΙΑ 00497 PASS 02103 PASS - Δεν έχει γίνει καθόλου χρήση σταθερών όπως έχουµε ζητήσει να γίνεται για όλες τις σταθερές τιµές. - Υπάρχουν σχόλια αλλά θα µπορούσαν να ήταν πιο επεξηγηµατικά και λίγο περισσότερα

Διαβάστε περισσότερα

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

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

Διαβάστε περισσότερα

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

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) Κεφάλαιο 9.1-9.2 Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) ( ιάλεξη 19) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1) Strings στη C Ένα string είναι µία ακολουθία αλφαριθµητικών χαρακτήρων, σηµείων στίξης κτλ. Π.χ.

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

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

lab7grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449 Η strcpy αντιγράφει µια γραµµή, οπότε δεν έπρεπε να βρίσκεται µέσα σε διπλό loop. Η εκτύπωση δεν έπρεπε να βρίσκεται µέσα στο loop που γίνεται η αντιγραφή, αλλά να είναι ανεξάρτητη

Διαβάστε περισσότερα

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%

Διαβάστε περισσότερα

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

lab14grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 lab14grades - Σωστός έλεγχος του argc για όλες τις περιπτώσεις. - Θα έπρεπε να καλέσεις τη συνάρτηση strlen_r και στην περίπτωση του κενού string, strlen_r("\0"). - Σωστή χρήση

Διαβάστε περισσότερα

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

Sheet3_2. Τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές. AEM LAB2 0001 Δεν είναι στοιχισµένες σωστά οι εντολές µέσα στη main. 0002 Η απόδειξη εκτυπώνεται όλη σε µία γραµµή, όχι όπως ζητά η εκφώνηση: Να χρησιµοποιείς \n στο printf. 0003 0004 Οι µεταβλητές πρέπει

Διαβάστε περισσότερα

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

Παράδοση άσκησης: οκ, αλλά προσέξτε τις νέες οδηγίες για την ονοµασία του φακέλου. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Άσκηση 1: -Σωστά αποτελέσµατα και σωστή έξοδος. -Δεν έχετε περιορισµό στην scanf για την ανάγνωση strings. Δηµιουργείτε το format του string µε χρήση της µεθόδου µε το sprintf αλλά δεν

Διαβάστε περισσότερα

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

Δεν έστειλες την άσκηση 1, και αυτό που έστειλες ήταν σκέτο αρχείο, όχι το tgz που ζητούσε η εκφώνηση. Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Οκ 321 PASS -Το σχόλιο στην αρχή του προγράµµατος δεν είναι περιγραφικό. -Προσπάθησε να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών για να αποφεύγεις και τα πολλά σχόλια στον κώδικα.

Διαβάστε περισσότερα

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

Βαθμός Σχόλιο. lab3_grades Α. Μ. Βαθμός Σχόλιο 1183 1194 - Το πρόγραµµα πέφτει σε ατέρµονο loop γιατί στο while δεν έχει scanf ώστε να διαβάζει νέα επιλογή, η τιµή της επιλογής δε µπορεί να γίνει ποτέ 5 ή 6 για να τερµατίσει. -

Διαβάστε περισσότερα

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε

Διαβάστε περισσότερα

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

οριακό PASS 402 PASS Πολύ σωστά, µπράβο οριακό PASS ΑΕΜ ΒΑΘΜΟΣ 357 402 Πολύ σωστά, µπράβο ΣΧΟΛΙΑ Λάθος στον υπολογισµό του πλήθους αστερίσκων. Δε µετράτε αυτούς της "κάτω" σειράς, οπότε το αποτέλεσµα δεν είναι σωστό. Η πράξη που κάνετε στη main είναι λάθος

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 7ο Τμήμα Διοίκησης Επιχειρήσεων Παλαιό ΕΠΔΟ α εξάμηνο Β. Φερεντίνος Δείκτες (Pointers) (1) 142 Κάθε μεταβλητή, εκτός από την τιμή της, έχει και μία συγκεκριμένη διεύθυνση

Διαβάστε περισσότερα

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

lab5grades Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας. : 449 οριακό - Λάθος στους υπολογισµούς. Σε κάθε µία επανάληψη

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

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

lab4grades Παράδοση ασκήσεων: -Όλα καλά Άσκηση 1η: -Σωστή 357 PASS ΑΕΜ ΒΑΘΜΟΣ -Όλα καλά ΣΧΟΛΙΑ η: -Σωστή 357 PASS η: -Ο κώδικας για την είσοδο του µητρώου πρέπει να δοµηθεί αλλιώς γιατί εµφανίζει λάθος πριν καν δοθεί για πρώτη φορά το µητρώο. -Σωστή στοίχιση, µοναδική

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

Διαβάστε περισσότερα

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 2:Αλφαριθμητικές Σειρές Χαρακτήρων (Strings)- Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγικές Έννοιες σε Strings(Αρχικοποίηση, Ανάγνωση & Εκτύπωση) Πίνακες από Strings

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 8: Πίνακες, Αλφαριθμητικά Πίνακες Ο πίνακας είναι μια ειδική δομή για την αποθήκευση μιας σειράς από δεδομένα του ίδιου τύπου. Η δήλωση ενός πίνακα γίνεται όπως για μια

Διαβάστε περισσότερα

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

403 FAIL Λάθος στο πακετάρισµα του αρχείου. ΑΕΜ ΒΑΘΜΟΣ 357 FAIL Λάθος στο πακετάρισµα του αρχείου. ΣΧΟΛΙΑ 400 FAIL 402 Έπρεπε να στείλετε ΜΟΝΟ το lab11.c Λάθος αλγόριθµος. Αµέσως µόλις συναντήστε κόµβο όπου το curr->number είναι διάφορο του number,

Διαβάστε περισσότερα

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

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες. Η C, όπως έχουμε αναφέρει, είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε για πρώτη φορά το 1972 από τον Dennis Ritchie στα AT&T Bell

Διαβάστε περισσότερα

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

5ο σετ σημειώσεων - Δείκτες 5ο σετ σημειώσεων - Δείκτες 11 Ιουνίου 01 1 Γενικά Σύμφωνα με το γενικό μοντέλο υπολογιστή, ένας υπολογιστής είναι μία μηχανή που διαθέτει μία κεντρική μονάδα επεξεργασίας η οποία μπορεί μεταξύ άλλων να

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

Διαβάστε περισσότερα

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

Ενδεικτικές λύσεις και στατιστικά Προγραμματισμός 1 Σύντομο Quiz 25/9/9 Ενδεικτικές λύσεις και στατιστικά Ερώτηση 1: Γράψτε παρακάτω συνάρτηση η οποία δέχεται ως παραμέτρους ένα string και ένα χαρακτήρα και επιστρέφει τον αριθμό των εμφανίσεων

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής Στο εργαστήριο αυτό θα δούμε πώς ορίζονται και πώς χρησιμοποιούνται οι συμβολοσειρές στην C. Επίσης, θα μελετήσουμε κάποιες από τις συναρτήσεις

Διαβάστε περισσότερα

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

Λύσεις για τις ασκήσεις του lab5 Εισαγωγή Λύσεις για τις ασκήσεις του lab5 Επειδή φάνηκε να υπάρχουν αρκετά προβλήματα σχετικά με τον τρόπο σκέψης για την επίλυση των προβλημάτων του lab5, θα συνοδεύσουμε τις λύσεις με αρκετές επεξηγήσεις,

Διαβάστε περισσότερα

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

Διάλεξη 5: Δείκτες και Συναρτήσεις Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 5: Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 5-1 Περιεχόμενο

Διαβάστε περισσότερα

lab3grades οριακό PASS

lab3grades οριακό PASS ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ - Αποστολή email: διαδικαστικά οκ, αλλά στείλατε την άσκηση µε δέκα λεπτά καθυστέρηση. Στο µέλλον τόσο µεγάλη καθυστέρηση θα είναι λόγος για fail γιατί η άσκηση θα θεωρείται εκπρόθεσµη.

Διαβάστε περισσότερα

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

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

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα Αλφαριθμητικά Πίνακες: μια σύντομη εισαγωγή Πίνακες χαρακτήρων: τα "Αλφαριθμητικά" Πίνακες(Arrays): έννοιες και ορισμοί Ορισμός: Πίνακας (array) = σύνολο μεταβλητών του ιδίου τύπου (int, float, char,...) με ένα κοινό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες Σκοπός της 3ης άσκησης είναι να μάθουμε να φτιάχνουμε και να προσπελαύνουμε λίστες, να δούμε τι διαφορά έχουν από τα tuples και επίσης πώς μπορούμε

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε

Διαβάστε περισσότερα

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

Μ.Σ. lab12grades FAIL. η συνθήκη για έξοδο είναι και αυτή σωστή. Οριακό PASS. στα string. - σωστή και η κλήση της συνάρτησης. ΒΑΘΜΟΣ ΣΧΟΛΙΑ - στην malloc που χρησιµοποιήσατε, δεν έχετε αφήσει χώρο για το \0 και χρησιµοποιείτε sizeof µε λάθος τρόπο. Στο τέλος που βάζετε το \0 είναι στην πραγµατικότητα σε µνήµη που δεν έχετε δεσµεύσει

Διαβάστε περισσότερα

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8 Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος

Διαβάστε περισσότερα

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

int a[5]; a[0] a[1] a[2] a[3] a[4] 15/10/2009 Προγραµµατισµός Ι (ΗΥ10) ιάλεξη : Πίνακες, Αλφαριθµητικά Πίνακες Ο πίνακας είναι µια ειδική δοµή για την αποθήκευση µιας σειράς από δεδοµένα του ίδιου τύπου. Η δήλωσηενός πίνακα γίνεται όπως για µια κανονική

Διαβάστε περισσότερα

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 3: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αριθμητική Δεικτών Δείκτες και Πίνακες Παραδείγματα Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #3 2 Γενικά Στο Τετράδιο #3 του Εργαστηρίου θα εξοικειωθούμε με τη χρήση της εντολής πολλαπλής

Διαβάστε περισσότερα

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

Υπολογισμός - Εντολές Επανάληψης Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

Διαβάστε περισσότερα

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

lab3grades - Δεν παραδόθηκε. - Προσπαθήστε να κάνετε την άσκηση στο σπίτι. 02103 FAIL προγράµµατος µε κενές γραµµές -Δεν έχετε συµπεριλάβει καθόλου σχόλια!!! -Τα ονόµατα των σταθερών είναι µε ΚΕΦΑΛΑΙΑ. Επίσης, το 20 και το 1000 έπρεπε να είναι αποθηκευµένα σε σταθερές. - Έχετε

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης Στο εργαστήριο αυτό, θα εξοικειωθούμε με τους τύπους δεδομένων που μας παρέχει η γλώσσα C, θα χρησιμοποιήσουμε τις δομές επανάληψης (for, while, do...while),

Διαβάστε περισσότερα

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

Πανεπιστήµιο Θεσσαλίας, THMMY HY120, Σεπτέµβριος 2015 ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΝΟΜΑΤΕΠΩΝΥΜΟ: AEM: ΜΕΡΟΣ Α: ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΩΝ ΕΠΙΛΟΓΩΝ [15 µονάδες] ΣΗΜΑΝΤΙΚΕΣ ΔΙΕΥΚΡΙΝΙΣΕΙΣ: Επιλέξτε ΜΙΑ σωστή απάντηση για κάθε ερώτηση. Λάθος απαντήσεις βαθµολογούνται αρνητικά Σε ερωτήσεις που

Διαβάστε περισσότερα

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

Η βασική συνάρτηση προγράμματος main() Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα

Διαβάστε περισσότερα

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59 ΣΕΤ ΑΣΚΗΣΕΩΝ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2009-20010 Προθεσµία: 15/11/09, 23:59 Στόχοι Χρήση συναρτήσεων Χρήση µονοδιάστατων πινάκων Διαχείριση συµβολοσειρών Φορµαρισµένη έξοδος δεδοµένων

Διαβάστε περισσότερα

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης Στο εργαστήριο αυτό θα μελετήσουμε τον τρόπο με τον οποίο ορίζουμε στην C πολυδιάστατους πίνακες και θα δούμε πώς μπορούμε να δεσμεύουμε

Διαβάστε περισσότερα

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

lab3_all Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1375 1389 1413 - Γράφετε αρκετά καθαρά τον κώδικα, µπράβο! Έχετε δώσει καλά ονόµατα στις µεταβλητές και ορίζετε ως σταθερές τις τιµές ταχυτήτων των κυνηγών - Μετατρέπετε όλο το χρόνο

Διαβάστε περισσότερα

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8 Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος

Διαβάστε περισσότερα

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf(%u\n, x); Β. unsigned char ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

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

Εργαστηριακή Άσκηση 1 Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε

Διαβάστε περισσότερα

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

είκτες και Πίνακες (2) είκτες και Πίνακες (2) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πολυδιάστατοι πίνακες Πέρασµα παραµέτρων σε προγράµµατα C ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1-1 Πίνακες εικτών Πίνακας δεικτών είναι

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δείκτες Τι είναι ένας δείκτης (pointer); Όταν δηλώνoυμε μια μεταβλητή σε ένα πρόγραμμα

Διαβάστε περισσότερα

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

lab10grades Άσκηση 2η: - Δεν κάνει compile: Δείτε την λύση και ξανα προσπαθήστε τα υπόλοιπα στο σπίτι. ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 449???? Άσκηση 1η: - Καλή δουλειά! Μπράβο - Σωστή στοίχιση - Σωστά σχόλια - Σωστός ορισµός των πεδίων struct - Σωστή υλοποίηση της init_books - Σωστή υλοποίηση της add_book_info: Εναλλακτικά,

Διαβάστε περισσότερα

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

Μεταβλητές τύπου χαρακτήρα Μεταβλητές τύπου χαρακτήρα 31 Μαρτίου 014 1 Μεταβλητές τύπου char Για χειρισμό χαρακτήρων η C διαθέτει τον τύπο char. Ο τύπος είναι βαθμωτός δηλαδή ακέραιης αναπαράστασης. Τυπικά έχει μέγεθος ενός byte

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 7: Δομές Επανάληψης - Αναγνωσιμότητα 19/10/2015 Επανάληψη εκτέλεσης: while 2 while () lexpr true false body Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται

Διαβάστε περισσότερα

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

scanf() scanf() stdin scanf() printf() int float double %lf float Εισαγωγή Στον Προγραµµατισµό «C» Είσοδος Δεδοµένων Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Η συνάρτηση scanf() Η συνάρτηση

Διαβάστε περισσότερα