Σελίδα 1 από 1

Βοήθεια με την pascal

Δημοσιεύτηκε: Παρ Δεκ 31, 2010 4:36 pm
από Memas
Ρε παιδιά δεν ξέρω τι φτάνει... Τα Λίνουξ, ο compiler... πάντως πάντα σε όλες τις υποβολές μου μου παρουσιάζεται μήνυμά λάθος απάντησης. Το πρόβλημα το έχω λύσει και δουλεύει τέλεια σε free pascal που το δοκίμασα. Και το πιο ωραίο είναι ότι δεν μου εμφανίζεται καν η" λάθος" απάντηση και η αναμενόμενη... Τι γίνεται; Σάς συμβαίνει κάτι παρόμοιο;

Re: Boh8eia me thn pascal

Δημοσιεύτηκε: Παρ Δεκ 31, 2010 5:11 pm
από mariosal
Ἐκτός τῆς ἀπαντήσεως ἀνάγκη προστιθέναι τὸν χαρακτήρα νέας γραμμῆς.

Re: Boh8eia me thn pascal

Δημοσιεύτηκε: Παρ Δεκ 31, 2010 7:57 pm
από kernelpanic
Memas έγραψε:Re paidia den kserw ti ftaei...Ta linux ,o compiler...]
Βασικότατος κανών σε κάθε διαγωνισμό προγραμματισμού(ισχύει για όλους, πάντα):
Το σύστημα ποτέ δεν είναι λάθος. Εσύ είσαι λάθος.

Θα μπορούσα εδώ να κάνω εκτενέστερη ανάπτυξη και εξήγηση αυτού του κανόνα, αλλά μάλλον δε χρειάζεται :P

Ο χαρακτήρας νέας γραμμής έχει αριθμό 10 στο δεκαδικό σύστημα, A στο δεκαεξαδικό.

Re: Boh8eia me thn pascal

Δημοσιεύτηκε: Παρ Δεκ 31, 2010 8:31 pm
από mariosal
[pastebin]http://pastebin.com/VD7JVucp[/pastebin]

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Σάβ Ιαν 01, 2011 12:31 am
από thetrojan01
Memas, κατ' αρχάς καλωσόρισες στο forum. Θα σε παρακαλούσα να μη γράφεις σε greeklish, αλλά σε Ελληνικά (μονοτονικό, πολυτονικό, ό,τι θες).

Δες αν όντως η έξοδος του προγράμματός σου είναι ΑΚΡΙΒΩΣ έτσι όπως ζητάει το πρόβλημα, και ΜΗΝ διανοηθείς να στείλεις τη λύση σου στο φόρουμ :D

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Σάβ Ιαν 01, 2011 12:55 am
από chris
1) Το linux κάνει διάκριση μεταξύ κεφαλαίων και πεζών, το windows όχι. Άρα αν εσύ διαβάζεις από το File.in και το αρχείο λέγεται file.in, σε windows θα δουλεύει ενώ σε linux όχι.
2) Endline ('\n')?

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Σάβ Ιαν 01, 2011 6:26 am
από mariosal
Λύων τοῦ προβλήματος τὲ ἐν τῇ Pascal, ὅμως λέγον, τὸ σύστημα ὑποβολῶν, τοῦδε:

«Λανθασμένος κῶδιξ ἐξόδου, ΜΒ´.»

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Σάβ Ιαν 01, 2011 10:33 am
από chris
mariosal έγραψε:Λύων τοῦ προβλήματος τὲ ἐν τῇ Pascal, ὅμως λέγον, τὸ σύστημα ὑποβολῶν, τοῦδε:

«Λανθασμένος κῶδιξ ἐξόδου, ΜΒ´.»
ΜΗΝ ΓΡΑΦΕΙΣ ΑΡΧΑΙΑΑΑΑ!
Για τιμωρία θα σε δυσκολέψω:
Το πρόγραμμά σου πρέπει να επιστρέφει 0.
thetrojan01 έγραψε:Θα σε παρακαλούσα να μη γράφεις σε greeklish, αλλά σε Ελληνικά (μονοτονικό, πολυτονικό, ό,τι θες).
Έλεος :P. Νεοελληνικά, τουλάχιστον; :lol:

Alliws Tha Arxisw Na Grafw KapOs EtsI
H AKOMA KALITERA ETSI, GIA NA AKOYGOMAI PIO KALA. KALIMERA PAIDIA TI KANETE KALA EISTE, KALI XRONIA XRONIA POLLA.

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Σάβ Ιαν 01, 2011 10:41 am
από kernelpanic
mariosal έγραψε:κῶδιξ ἐξόδου, ΜΒ´
Συγχαρητήρια. Αυτό που πήρε 7.5 εκατομμύρια χρόνια σε μια ράτσα πολυδιαστάτων ποντικιών να το βρούν το βρίσκεις αμέσως, και μάλιστα κατά λάθος :D

ΥΓ: Άκουσα Pascal ή με γελούν τ'αυτιά μου;
(Όποιος κατάλαβε, κατάλαβε, το ράβει και κάνει κουράγιο, το camp πέφτει νωρίς φέτος)

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Σάβ Ιαν 01, 2011 3:31 pm
από mariosal
chris έγραψε:
mariosal έγραψε:Λύων τοῦ προβλήματος τὲ ἐν τῇ Pascal, ὅμως λέγον, τὸ σύστημα ὑποβολῶν, τοῦδε:

«Λανθασμένος κῶδιξ ἐξόδου, ΜΒ´.»
ΜΗΝ ΓΡΑΦΕΙΣ ΑΡΧΑΙΑΑΑΑ!
Για τιμωρία θα σε δυσκολέψω:
Το πρόγραμμά σου πρέπει να επιστρέφει 0.
Έχεις καμιά καλή ιδέα για το πώς θα επιστρέψω μηδέν στην Pascal; :P
kernelpanic έγραψε:
mariosal έγραψε:κῶδιξ ἐξόδου, ΜΒ´
Συγχαρητήρια. Αυτό που πήρε 7.5 εκατομμύρια χρόνια σε μια ράτσα πολυδιαστάτων ποντικιών να το βρούν το βρίσκεις αμέσως, και μάλιστα κατά λάθος :D
Προφανώς το ΜΒ´ σημαίνει 42 :P

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Σάβ Ιαν 01, 2011 5:04 pm
από thetrojan01
halt(0) για να επιστρέφεις 0, και ΜΗ ΓΡΑΦΕΙΣ ΑΡΧΑΙΑ ;)

Καλή χρονιά.
[*]Έλεγχος τιμών δεν απαιτείται. Οι τιμές των αρχείων ελέγχου είναι πάντα έγκυρες.
[*] Το σύστημα αξιολόγησης “τρέχει" σε Linux. Σας προτείνουμε να δοκιμάζετε τις λύσεις σας στο σύστημα. Έχετε δικαίωμα πολλαπλών υποβολών μέχρι το τέλος του διαγωνισμού. Μετά από κάθε υποβολή θα λαμβάνετε την αξιολόγηση της λύσης σας, σε τμήμα των Αρχείων Ελέγχου.
[*]Οι επιλογές του μεταγλωττιστή που χρησιμοποιούνται για τη βαθμολόγηση είναι οι εξής:
Pascal: gpc -O2 -DCONTEST -s
[*]Το Linux ξεχωρίζει μεταξύ κεφαλαίων και πεζών γραμμάτων. Ελέγξτε ότι τα ονόματα των αρχείων εισόδου και εξόδου είναι γραμμένα με μικρά (πεζά) γράμματα.
[*]Τα προγράμματά σας πρέπει να επιστρέφουν ως κωδικό εξόδου το μηδέν: Οι προγραμματιστές σε Pascal πρέπει να χρησιμοποιούν την εντολή "halt" μόνο με κωδικό εξόδου το μηδέν (μόνο δηλαδή με την μορφή "halt;" Ή "halt(0);".
[*]Το πρόγραμμα αξιολόγησης θα εξετάσει την τιμή που επιστρέφει το πρόγραμμά σας. Εάν η τιμή αυτή δεν είναι μηδέν, τότε το πρόγραμμα δεν θα βαθμολογηθεί για το συγκεκριμένο test.
[*]Κανένας άλλος χαρακτήρας εκτός του χαρακτήρα νέας γραμμής (newline) (χαρακτήρας 0A στο ASCII εκφρασμένο στο δεκαεξαδικό σύστημα αρίθμησης) (\n για προγραμματιστές C ή C++, $0A για προγραμματιστές Pascal) δεν θα υπάρχει μετά τον τελευταίο αριθμό κάθε γραμμής των αρχείων εισόδου και εξόδου.
Δηλαδή, κάθε γραμμή των αρχείων εισόδου και εξόδου, συμπεριλαμβανομένης και της τελευταίας, τερματίζεται με τον χαρακτήρα νέας γραμμής όπως ορίστηκε παραπάνω.

Κάθε απόπειρα κακόβουλης εισόδου ή ακόμα και εξερεύνησης του συστήματος, εκτός της παρεχόμενης διεπαφής, θα εντοπίζεται και θα επιβάλλονται κυρώσεις.

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Σάβ Ιαν 01, 2011 6:34 pm
από feedWARd
Ο compiler που χρησιμοποιούμε στον grader είναι ο gpc (gnu pascal) και οχι ο freepascal. Δεν θυμάμαι πως και γιατί έγινε αυτό :? , αλλά δεν γίνεται να αλλάξει στην μέση της α' φάσης. Ελπίζω να θυμηθώ να το αλλάξω πριν ξεκινήσει η β' φάση.

Πάντως η σημαντικότερη διαφορά απ'ότι θυμάμαι είναι ότι τα strings έχουν 1-based indexing στην fpc και 0-based indexing στην gpc. Αυτό σημαίνει ότι αν είχες:

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

for i := 1 to length(s)
πριν κάνεις υποβολή θα πρέπει να το αλλάξεις σε:

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

for i := 0 to length(s)-1
Δεν είμαι 100% σίγουρος γι'αυτο, κοίταξε το κι εσύ. Βασικά δεν θυμάμαι καθόλου pascal. Θα σου πρότεινα να κατεβάσεις στο pc σου το gpc και να δεις τι δεν δουλεύει καλά.

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Κυρ Ιαν 02, 2011 11:26 am
από Memas
Σας ευχαριστώ όλους.Το πρόβλημα όμως δεν είναι στα πεζά.Στην αρχή χρησειμοποιούσα μια while eof(fin)=False do για να διαβάζω τους αριθμούς ώς κείμενο και μετά να τους μετατρέπω σε αριθμούς με μία συνάρτηση.Βέβαια αυτό το εγκατέλειψα καθώς ο compiler μου εμφάνιζε μήνυμα υπέρβασης χρονικού ορίου...δεν ξέρω πώς έγινε αυτό αλλά τέλος πάντων.Τώρα χρησειμοποιώ μία For i:=1 to N Do read(fin,pin);,αλλά και πάλι τίποτα.Δεν έχω λάβει υπόψη μου τον χαρακτήρα eoln αλλά και πάλι πιστεύω πως το πρόγραμμα θα μου έβγαζε,έστω,λάθος απάντηση. Πράγμα που δεν γίνεται αφού όπως σας είπα δεν μου εμφανίζεται η "λάθος" απάντηση όταν κάνω την υποβολή μου.

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Κυρ Ιαν 02, 2011 11:50 am
από Memas
Σας χίλιο ΕΤΧΑΡΙΣΤΩ παιδιά.Άλλαξα μόνο το write (fout,x); με writeln. :D Σας ευχαριστώ πάλι.Δόξα το θεό που υπάρχει αυτό το forum....χαχαχαχ. ;)

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Κυρ Ιαν 23, 2011 1:39 pm
από G7Rider
Παρ'οτι έχω κάνει ακριβώς ότι και εσύ εγω εξακολουθώ να έχω πρόβλημα...

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Κυρ Ιαν 30, 2011 12:26 pm
από Memas
Μήπως ξέρει κανείς αν υπάρχουν integers με μέγεθος 20 bits? :D

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Κυρ Ιαν 30, 2011 2:35 pm
από kernelpanic
Δε μπορείς να φτιάξεις έναν μόνος σου; ;)

Re: Βοήθεια με την pascal

Δημοσιεύτηκε: Κυρ Ιαν 30, 2011 3:32 pm
από Memas
Μάλλον θα εννοείς με τα Types...για να δώ..Ευχαριστώ ρε :D