Καλημέρα. Μερικές unofficial οδηγίες για C++ που αφορούν το πρόβλημα finding για όσους δεν έχουν εξοικειωθεί με τις έννοιες compile, link, εκτελέσιμο αρχείο, βιβλιοθήκη κλπ. και δεν ξέρουν πως να αξιοποιήσουν το συμπιεσμένο αρχείο που δίνεται μαζί με την εκφώνηση.
Ο τρόπος που λειτουργεί αυτή η κατηγορία διαδραστικών προβλημάτων έχει εξηγηθεί στο βίντεο του κ. Παπασπύρου.
Εδώ θα συζητηθεί μόνο το πως να τα δοκιμάσουμε στον υπολογιστή μας (τοπικά) όταν γράφουμε κώδικα σε C++.
Ο κώδικας είναι μοιρασμένος ανάμεσα στο δικό σας αρχείο finding.cpp και στο έτοιμο grader.cpp και οι συναρτήσεις των δυο αρχείων αλληλοεπιδρούν. Άρα όταν κάνετε compile, πρέπει να κάνετε compile δυο αρχείων, του δικού σας finding.cpp και του grader.cpp και αυτά θα ενωθούν (link) σε ένα εκτελέσιμο αρχείο.
Προτείνεται να έχετε στον ίδιο φάκελο όλα τα αρχεία του φακέλου cpp που περιέχονται στο συμπιεσμένο αρχείο.
Ένα πρότυπο παράδειγμα (skeleton) για να προσθέσετε τη λύση σας, σας δίνεται στο αρχείο finding.cpp. Άρα, απλά τροποποιήστε το finding.cpp και συμπληρώστε τη λύση σας.
Στην περίπτωση που δουλεύετε σε λειτουργικό σύστημα linux, τότε από το τερματικό σας, τρέχετε τo script που κάνει ταυτόχρονα compile και link πληκτρολογώντας την εντολή ./compile_cpp.sh και αν δεν έχετε συντακτικά λάθη, πληκτρολογώντας την εντολή ./run_cpp.sh το δοκιμάζετε και βλέπετε τα αποτελέσματα.
Στην περίπτωση που δουλεύετε σε Windows, τότε το τι πρέπει να πληκτρολογήσετε, εξαρτάτε από τον compiler που έχετε εγκαταστήσει. Π.χ. με visual studio community, ανοίγετε ένα Developer Command Prompt και πληκτρολογείτε την εντολή
και αν δεν έχετε συντακτικά λάθη, θα παραχθεί το αρχείο finding.exe που μπορείτε να το τρέξετε πληκτρολογώντας την εντολή
Αν δουλεύετε με κάποιο ide όπως CodeBlocks ή Visual Studio, φτιάξτε ένα project και προσθέστε τα δύο αρχεία finding.cpp και grader.cpp μέσα του. Κάνοντας build θα παραχθεί το εκτελέσιμο αρχείο που μπορείτε να τρέξετε και να δείτε τα αποτελέσματα στην οθόνη σας.
ΥΓ: Το αρχείο grader.cpp που παρέχεται μαζί με το πρόβλημα είναι ενδεικτικό αλλά λειτουργικό για να κάνετε τις δοκιμές σας τοπικά. Στον διαγωνισμό ενδέχεται να είναι διαφορετικό (για λόγους ασφαλείας κυρίως).