Δοκιμή διαδαστικών προβλημάτων τοπικά

Γενικά θέματα για το διαγωνισμό. Ερωτήσεις, προτάσεις και ό,τι άλλο ταιριάζει.
Απάντηση
Άβαταρ μέλους
Zlaton
Δημοσιεύσεις: 6
Εγγραφή: Σάβ Ιαν 20, 2024 9:31 pm

Δοκιμή διαδαστικών προβλημάτων τοπικά

Δημοσίευση από Zlaton »

Ένα από τα 4 θέματα του φετινού διαγωνισμού είναι διαδραστικό. Μας έχει δωθεί αρχείο zip με τα αρχεία που χρειάζονται για δοκιμή του διαδραστικού περιβάλλοντος τοπικά, αλλά ακόμα να δωθούν οδηγίες σχετικά με την χρήση αυτών των αρχείων.

Υποτίθεται ότι θα δινόταν σύντομα οδηγός για διαδραστικά προβλήματα. Η 1η φάση τελειώνει σε λιγότερο από 5 ημέρες. Έχετε καμιά ιδέα πως θα μπορούσα να κάνω τοπικές δοκιμές; Χρησιμοποιώ C++
Βασισμένος ανήρ.
Άβαταρ μέλους
Zlaton
Δημοσιεύσεις: 6
Εγγραφή: Σάβ Ιαν 20, 2024 9:31 pm

Re: Δοκιμή διαδαστικών προβλημάτων τοπικά

Δημοσίευση από Zlaton »

Εντάξει, βρήκα εξήγηση στο εξής βίντεο

https://www.youtube.com/watch?v=dbiaa2d_YoA
Βασισμένος ανήρ.
Άβαταρ μέλους
Zlaton
Δημοσιεύσεις: 6
Εγγραφή: Σάβ Ιαν 20, 2024 9:31 pm

Re: Δοκιμή διαδαστικών προβλημάτων τοπικά

Δημοσίευση από Zlaton »

Τελικά ήταν απλώς εξήγηση των διαδραστικών προβλημάτων γενικά, όχι εξήγηση της χρήσης του grader.zip. Το πρόβλημα ακόμη εκρεμμεί.
Βασισμένος ανήρ.
Άβαταρ μέλους
switch
Δημοσιεύσεις: 97
Εγγραφή: Σάβ Δεκ 05, 2015 11:46 am
Τοποθεσία: 127.0.0.1

Re: Δοκιμή διαδαστικών προβλημάτων τοπικά

Δημοσίευση από switch »

Καλημέρα. Μερικές 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 και πληκτρολογείτε την εντολή

Κώδικας: Επιλογή όλων

cl /EHsc finding.cpp grader.cpp

και αν δεν έχετε συντακτικά λάθη, θα παραχθεί το αρχείο finding.exe που μπορείτε να το τρέξετε πληκτρολογώντας την εντολή

Κώδικας: Επιλογή όλων

finding
Αν δουλεύετε με κάποιο ide όπως CodeBlocks ή Visual Studio, φτιάξτε ένα project και προσθέστε τα δύο αρχεία finding.cpp και grader.cpp μέσα του. Κάνοντας build θα παραχθεί το εκτελέσιμο αρχείο που μπορείτε να τρέξετε και να δείτε τα αποτελέσματα στην οθόνη σας.

ΥΓ: Το αρχείο grader.cpp που παρέχεται μαζί με το πρόβλημα είναι ενδεικτικό αλλά λειτουργικό για να κάνετε τις δοκιμές σας τοπικά. Στον διαγωνισμό ενδέχεται να είναι διαφορετικό (για λόγους ασφαλείας κυρίως).
Απάντηση