ΑΕΜ ΒΑΘΜΟΣ 357 402 Πολύ σωστά, µπράβο ΣΧΟΛΙΑ Λάθος στον υπολογισµό του πλήθους αστερίσκων. Δε µετράτε αυτούς της "κάτω" σειράς, οπότε το αποτέλεσµα δεν είναι σωστό. Η πράξη που κάνετε στη main είναι λάθος (και δε θα έπρεπε να "διορθώνετε' την τιµή που επιστρέφει η συνάρτηση, αλλά να επιστρέφετε από την αρχή το ζητούµενο) 403 Λάθος στον υπολογισµό του πλήθους αστερίσκων. Δε µετράτε αυτούς της "κάτω" σειράς, οπότε το αποτέλεσµα δεν είναι σωστό. Η πράξη που κάνετε στη main είναι λάθος (και δε θα έπρεπε να "διορθώνετε' την τιµή που επιστρέφει η συνάρτηση, αλλά να επιστρέφετε από την αρχή το ζητούµενο) 1560. Επίσης προσέξτε τη στοίχιση. Σωστή αναδροµή. 1717 Πολύ σωστά, µπράβο 1718 1720 Καλή δουλειά στην αναδροµική συνάρτηση.. Σωστή αναδροµή, αλλά πολύ άσχηµη στοίχιση! 1721 επιστρέφει. Με τον τρόπο που το κάνατε ουσιαστικά "παρακάµπτετε" την ιδέα του να κλήσης. Προσπαθήστε να την ξανακάνετε, αλλά αυτή τη φορά επιστρέφοντας int και
1723 1724 επιστρέφει. Με τον τρόπο που το κάνατε έχετε 2 προβλήµατα: (1) Επειδή περνάτε πάντα τη διεύθυνση, στην πραγµατικότητα το πλήθος αστερίσκων προστίθεται πάντα στην ίδια µεταβλητή και βγαίνει το συνολικό (για όλες τις κλεψύδρες), ενώ εµείς θέλουµε για κάθε µία χωριστά. (2) Με το να περνάτε διεύθυνση, ουσιαστικά "παρακάµπτετε" την ιδέα του να υπολογίσουµε κάτι αναδροµικά και να χρησιµοποιούµε το αποτέλεσµα της αναδροµικής κλήσης. Προσπαθήστε να την ξανακάνετε, αλλά αυτή τη φορά επιστρέφοντας int και όχι µε επιπλέον παράµετρο. Κάπως overkill οι πίνακες, ειδκά αν σκεφτεί κανείς πόσο χώρο καταναλώνουν στο stack οι αναδροµικές συναρτήσεις. Γιατί να µη χρησιµοποιήσετε ένα απλό for loop σε κάθε περίπτωση? Επίσης, ΜΗ χρησιµοποιείτε variable length arrays αν δεν είστε απολύτως σίγουροι ότι το κάνετε σωστά. Η συνθήκη για το base case θα µπορούσε να ήταν πιο ασφαλής. Τι θα συµβεί στο πρόγραµµά σας αν κάποιος δώσει 0 για πλήθος αστεριών? 1725 Πολύ σωστά, µπράβο 1726 1727 1731 Η srand έπρεπε να είναι έξω από το loop. Τη χρησιµοποιείτε µη συµβατικά. Δείτε τα παραδείγµατα του κυρίου Αντωνόπουλο για τον ενδεδειγµένο τρόπο χρήσης της. επιστρέφει. Με τον τρόπο που το κάνατε ουσιαστικά "παρακάµπτετε" την ιδέα του να κλήσης. Προσπαθήστε να την ξανακάνετε, αλλά αυτή τη φορά επιστρέφοντας int και Ο υπολογισµός του random_num έπρεπε να γίνεται µέσα στο loop ώστε κάθε φορά να καλείται η συνάρτηση µε διαφορετική παράµετρο. Εσύ ζωγραφίζεις LOOPS φορές το ίδιο πράγµα. είχες: rand()%10+1.με ανησυχεί το σχόλιο ότι η διαίρεση µε 11 δίνει υπόλοιπο από 1 έως 10! Η συνθήκη για το base case θα µπορούσε να ήταν πιο ασφαλής. Τι θα συµβεί στο πρόγραµµά σας αν κάποιος δώσει -2 για πλήθος αστεριών? Σωστό το πρώτο µέρος. 1736 Πολύ σωστά, µπράβο 1737 Πολύ καλή δουλειά, µπράβο.
1738 Καλή δουλειά, µπράβο 1741 Όλα σωστά 1742 1743 Καλή δουλειά κατά τα άλλα. Καλή δουλειά κατά τα άλλα. 1747 Πολύ σωστά, αν και το j θα έπρεπε να έχει πιο περιγραφικό όνοµα. 1748 Πολύ καλή δουλειά, µπράβο. 1750 Πολύ σωστά, µπράβο 1751 Καλή δουλειά, µπράβο 1752 Πολύ σωστά, µπράβο 1753 Πολύ σωστά, αν και το j θα έπρεπε να έχει πιο περιγραφικό όνοµα. 1761 1763 1767 Καλή δουλειά στην αναδροµική συνάρτηση. Η συνθήκη για το base case δεν είναι σωστή αν θεωρήσουµε ότι το startingcol είναι όντως η στήλη που ξεκινά το ζωγράφισµα. Δοκιµάστε να καλέσετε από τη main τη συνάρτησή σας µε δεύτερη παράµετρο το 2. Κανονικά, θα έπρεπε να ζωγραφίζει την κλεψύδρα δύο στήλες πιο µέσα. Μπράβο για το περσινό lab13, καλή δουλειά. Καλή δουλειά κατά τα άλλα. 1769 Πολύ καλή δουλειά, µπράβο.
1770 1772 1774 Η srand έπρεπε να είναι έξω από το loop. Τη χρησιµοποιείτε µη συµβατικά. Δείτε τα παραδείγµατα του κυρίου Αντωνόπουλο για τον ενδεδειγµένο τρόπο χρήσης της. Σωστή η αναδροµή Η συνθήκη για το base case δεν είναι σωστή αν θεωρήσουµε ότι το startingcol είναι όντως η στήλη που ξεκινά το ζωγράφισµα. Δοκιµάστε να καλέσετε από τη main τη συνάρτησή σας µε δεύτερη παράµετρο το 2. Κανονικά, θα έπρεπε να ζωγραφίζει την κλεψύδρα δύο στήλες πιο µέσα. Μπράβο για το περσινό lab13, καλή δουλειά.. Το k θα έπρεπε να έχει πιο περιγραφικό όνοµα, κατά τα άλλα σωστή αναδροµή. 1775 Πολύ σωστά, µπράβο 1776 Καλή δουλειά στην αναδροµική συνάρτηση. 1777 Έπρεπε να καλείτε την αναδροµική συνάρτηση σε loop για να σχεδιάζονται 5 διαφορετικά τρίγωνα. Το maxsize είναι το µέγιστο πλήθος χαρακτήρων που έπρεπε να ζωγραφίζεται. Εσείς το χρησιµοποιείτε σα να είναι το µέγιστο πλήθως τελειών. Κατά τα άλλα οκ. 1781 Καλή δουλειά, µπράβο 1785 Πολύ άσχηµη στοίχιση. Δεν έπρεπε να προσθέσετε τρίτη παράµετρο. Ουσιαστικά δε χρησιµοποιείτε το αποτέλεσµα της αναδροµής, αλλά το περνάτε από κλήση σε κλήση µέσω των παραµέτρων. Η συνθήκη µε το % είναι µπερδεµένη χωρίς λόγο. Αρκεί το ast > 2
1790 1791 επιστρέφει. Με τον τρόπο που το κάνατε έχετε 2 προβλήµατα: (1) Επειδή περνάτε πάντα τη διεύθυνση, στην πραγµατικότητα το πλήθος αστερίσκων προστίθεται πάντα στην ίδια µεταβλητή και βγαίνει το συνολικό (για όλες τις κλεψύδρες), ενώ εµείς θέλουµε για κάθε µία χωριστά. (2) Με το να περνάτε διεύθυνση, ουσιαστικά "παρακάµπτετε" την ιδέα του να υπολογίσουµε κάτι αναδροµικά και να χρησιµοποιούµε το αποτέλεσµα της αναδροµικής κλήσης. Προσπαθήστε να την ξανακάνετε, αλλά αυτή τη φορά επιστρέφοντας int και όχι µε επιπλέον παράµετρο. Πολύ άσχηµη στοίχιση. Δεν έπρεπε να προσθέσετε τρίτη παράµετρο. Ουσιαστικά δε χρησιµοποιείτε το αποτέλεσµα της αναδροµής, αλλά το περνάτε από κλήση σε κλήση µέσω των παραµέτρων. Η συνθήκη µε το % είναι µπερδεµένη χωρίς λόγο. Αρκεί το ast > 2 1797 Όλα σωστά. Ο τρόπος µε τον οποίο ελέγχετε αν πρέπει να εµφανιστεί κενό ή αστεράκι είναι ελαφρώς µπερδεµένος και θα έπρεπε να συνοδεύεται από σχόλια. Εναλλακτικά, θα µπορούσατε να είχατε 2 ξεχωριστές for, µία που ζωγραφίζει stili κενά και µια που ζωγραφίζει τα αστεράκια. Επίσης, καλό θα ήταν να είχατε σχόλια που να εξηγούν γιατί ο έλεγχος πριν την αναδροµική κλήση είναι ειδικά asterakia>2. 1802 επιστρέφει. Με τον τρόπο που το κάνατε ουσιαστικά "παρακάµπτετε" την ιδέα του να κλήσης. Προσπαθήστε να την ξανακάνετε, αλλά αυτή τη φορά επιστρέφοντας int και 1803 Πολύ σωστά, µπράβο 1806 1812 1813. Σωστά κατά τα άλλα Όλα σωστά. Ο τρόπος µε τον οποίο ελέγχετε αν πρέπει να εµφανιστεί κενό ή αστεράκι είναι ελαφρώς µπερδεµένος και θα έπρεπε να συνοδεύεται από σχόλια. Εναλλακτικά, θα µπορούσατε να είχατε 2 ξεχωριστές for, µία που ζωγραφίζει stili κενά και µια που ζωγραφίζει τα αστεράκια. Επίσης, καλό θα ήταν να είχατε σχόλια που να εξηγούν γιατί ο έλεγχος πριν την αναδροµική κλήση είναι ειδικά asterakia>2.. Σωστά κατά τα άλλα
1815 1816 Η συνθήκη για το base case θα µπορούσε να ήταν πιο ασφαλής. Τι θα συµβεί στο πρόγραµµά σας αν κάποιος δώσει -2 για πλήθος αστεριών? Σωστό το πρώτο µέρος. Κάπως overkill οι πίνακες, ειδκά αν σκεφτεί κανείς πόσο χώρο καταναλώνουν στο stack οι αναδροµικές συναρτήσεις. Γιατί να µη χρησιµοποιήσετε ένα απλό for loop σε κάθε περίπτωση? Επίσης, ΜΗ χρησιµοποιείτε variable length arrays αν δεν είστε απολύτως σίγουροι ότι το κάνετε σωστά. Η συνθήκη για το base caseθα µπορούσε να ήταν πιο ασφαλής. Τι θα συµβεί στο πρόγραµµά σας αν κάποιος δώσει 0 για πλήθος αστεριών? 1819 Πολύ καλή δουλειά, µπράβο. 1821 Το maxsize έπρεπε να παίρνει τιµή µέσα στη for για να σχεδιάζεται διαφορετική κλεψύδρα κάθε φορά. Για την παραγωγή τυχαίων αριθµών έπρεπε να είxες χρησιµοποιήσει την srand σε Σωστό το πρώτο µέρος. 1825 Πολύ σωστά, µπράβο 1828 1838 1839 1841 Για την παραγωγή τυχαίων αριθµών έπρεπε να είχες χρησιµοποιήσει την srand σε Ποια η λογική πίσω από το k<=chars_line-3; Χρειάζεται σχόλια αυτή τη γραµµή για να εξηγήσεις γιατί χρειάζονται τόσες ακριβώς επαναλήψεις. Καλή δουλειά στην αναδροµική συνάρτηση.. Σωστή αναδροµή, αλλά πολύ άσχηµη στοίχιση! Η srand έπρεπε να είναι έξω από το loop. Τη χρησιµοποιείτε µη συµβατικά. Δείτε τα παραδείγµατα του κυρίου Αντωνόπουλο για τον ενδεδειγµένο τρόπο χρήσης της. Σωστή η αναδροµή
1843 1844 Η srand έπρεπε να είναι έξω από το loop. Τη χρησιµοποιείτε µη συµβατικά. Δείτε τα παραδείγµατα του κυρίου Αντωνόπουλο για τον ενδεδειγµένο τρόπο χρήσης της. επιστρέφει. Με τον τρόπο που το κάνατε ουσιαστικά "παρακάµπτετε" την ιδέα του να κλήσης. Προσπαθήστε να την ξανακάνετε, αλλά αυτή τη φορά επιστρέφοντας int και Γενικά σωστή η αναδροµική συνάρτηση, αλλά η συνθήκη στη γραµµή 34 έπρεπε να ήταν if (mikos >2). Με τον τρόπο που το έχετε, αν το mikos αρχικά είναι 0 (το οποίο µπορεί να συµβεί δεδοµένου του λάθους µε τη rand()) το πρόγραµµά σας θα πέσει σε ατέρµονη αναδροµή, γιατί θα είναι πάντα!=1 και!=2. 1848 Καλή δουλειά, µπράβο 1850 Καλή δουλειά, µπράβο 1858 Καλή δουλειά κατά τα άλλα. 1860 Όλα σωστά 1862 1872 είχες: rand()%10+1. επιστρέφει. Με τον τρόπο που το έκανες ουσιαστικά "παρακάµπτεις" την ιδέα του να κλήσης. Προσπάθησε να την ξανακάνετε, αλλά αυτή τη φορά επιστρέφοντας int και Έπρεπε να καλείτε την αναδροµική συνάρτηση σε loop για να σχεδιάζονται 5 διαφορετικά τρίγωνα. Το maxsize είναι το µέγιστο πλήθος χαρακτήρων που έπρεπε να ζωγραφίζεται. Εσείς το χρησιµοποιείτε σα να είναι το µέγιστο πλήθως τελειών. Κατά τα άλλα οκ.
1873 Γενικά σωστή η αναδροµική συνάρτηση, αλλά η συνθήκη στη γραµµή 34 έπρεπε να ήταν if (mikos >2). Με τον τρόπο που το έχετε, αν το mikos αρχικά είναι 0 (το οποίο µπορεί να συµβεί δεδοµένου του λάθους µε τη rand()) το πρόγραµµά σας θα πέσει σε ατέρµονη αναδροµή, γιατί θα είναι πάντα!=1 και!=2. 1882 1885. Επίσης προσέξτε τη στοίχιση. Σωστή αναδροµή.. Το k θα έπρεπε να έχει πιο περιγραφικό όνοµα, κατά τα άλλα σωστή αναδροµή.