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

Συζητήσεις για προετοιμασία για τον διαγωνισμό, online διαγωνισμούς, βιβλία προγραμματισμού και αλγορίθμων, και όλων των σχετικών.
Απάντηση
Memas
Δημοσιεύσεις: 87
Εγγραφή: Παρ Δεκ 31, 2010 4:13 pm
Επικοινωνία:

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

Δημοσίευση από Memas » Παρ Δεκ 31, 2010 4:36 pm

Ρε παιδιά δεν ξέρω τι φτάνει... Τα Λίνουξ, ο compiler... πάντως πάντα σε όλες τις υποβολές μου μου παρουσιάζεται μήνυμά λάθος απάντησης. Το πρόβλημα το έχω λύσει και δουλεύει τέλεια σε free pascal που το δοκίμασα. Και το πιο ωραίο είναι ότι δεν μου εμφανίζεται καν η" λάθος" απάντηση και η αναμενόμενη... Τι γίνεται; Σάς συμβαίνει κάτι παρόμοιο;
Τελευταία επεξεργασία από το μέλος thetrojan01 την Σάβ Ιαν 01, 2011 12:28 am, έχει επεξεργασθεί 2 φορές συνολικά.
Λόγος: Greeklish -> Greek

Άβαταρ μέλους
mariosal
Δημοσιεύσεις: 63
Εγγραφή: Σάβ Μαρ 20, 2010 12:00 am
Τοποθεσία: Χολαργός, Ελλάδα
Επικοινωνία:

Re: Boh8eia me thn pascal

Δημοσίευση από mariosal » Παρ Δεκ 31, 2010 5:11 pm

Ἐκτός τῆς ἀπαντήσεως ἀνάγκη προστιθέναι τὸν χαρακτήρα νέας γραμμῆς.

Άβαταρ μέλους
kernelpanic
Δημοσιεύσεις: 404
Εγγραφή: Κυρ Δεκ 21, 2008 8:16 pm
Τοποθεσία: Αθήνα

Re: Boh8eia me thn pascal

Δημοσίευση από kernelpanic » Παρ Δεκ 31, 2010 7:57 pm

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

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

Ο χαρακτήρας νέας γραμμής έχει αριθμό 10 στο δεκαδικό σύστημα, A στο δεκαεξαδικό.
99 little bugs in the code,
99 bugs in the code,
Fix one bug,
Compile again,
104 little bugs in the code.

Άβαταρ μέλους
mariosal
Δημοσιεύσεις: 63
Εγγραφή: Σάβ Μαρ 20, 2010 12:00 am
Τοποθεσία: Χολαργός, Ελλάδα
Επικοινωνία:

Re: Boh8eia me thn pascal

Δημοσίευση από mariosal » Παρ Δεκ 31, 2010 8:31 pm

[pastebin]http://pastebin.com/VD7JVucp[/pastebin]

Άβαταρ μέλους
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Τοποθεσία: Ρόδος
Επικοινωνία:

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

Δημοσίευση από thetrojan01 » Σάβ Ιαν 01, 2011 12:31 am

Memas, κατ' αρχάς καλωσόρισες στο forum. Θα σε παρακαλούσα να μη γράφεις σε greeklish, αλλά σε Ελληνικά (μονοτονικό, πολυτονικό, ό,τι θες).

Δες αν όντως η έξοδος του προγράμματός σου είναι ΑΚΡΙΒΩΣ έτσι όπως ζητάει το πρόβλημα, και ΜΗΝ διανοηθείς να στείλεις τη λύση σου στο φόρουμ :D
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.

chris
Δημοσιεύσεις: 528
Εγγραφή: Κυρ Δεκ 28, 2008 9:27 am

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

Δημοσίευση από chris » Σάβ Ιαν 01, 2011 12:55 am

1) Το linux κάνει διάκριση μεταξύ κεφαλαίων και πεζών, το windows όχι. Άρα αν εσύ διαβάζεις από το File.in και το αρχείο λέγεται file.in, σε windows θα δουλεύει ενώ σε linux όχι.
2) Endline ('\n')?
Μετα από 397 δημοσιεύσεις, έβαλα και υπογραφή.

Άβαταρ μέλους
mariosal
Δημοσιεύσεις: 63
Εγγραφή: Σάβ Μαρ 20, 2010 12:00 am
Τοποθεσία: Χολαργός, Ελλάδα
Επικοινωνία:

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

Δημοσίευση από mariosal » Σάβ Ιαν 01, 2011 6:26 am

Λύων τοῦ προβλήματος τὲ ἐν τῇ Pascal, ὅμως λέγον, τὸ σύστημα ὑποβολῶν, τοῦδε:

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

chris
Δημοσιεύσεις: 528
Εγγραφή: Κυρ Δεκ 28, 2008 9:27 am

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

Δημοσίευση από chris » Σάβ Ιαν 01, 2011 10:33 am

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.
Μετα από 397 δημοσιεύσεις, έβαλα και υπογραφή.

Άβαταρ μέλους
kernelpanic
Δημοσιεύσεις: 404
Εγγραφή: Κυρ Δεκ 21, 2008 8:16 pm
Τοποθεσία: Αθήνα

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

Δημοσίευση από kernelpanic » Σάβ Ιαν 01, 2011 10:41 am

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

ΥΓ: Άκουσα Pascal ή με γελούν τ'αυτιά μου;
(Όποιος κατάλαβε, κατάλαβε, το ράβει και κάνει κουράγιο, το camp πέφτει νωρίς φέτος)
99 little bugs in the code,
99 bugs in the code,
Fix one bug,
Compile again,
104 little bugs in the code.

Άβαταρ μέλους
mariosal
Δημοσιεύσεις: 63
Εγγραφή: Σάβ Μαρ 20, 2010 12:00 am
Τοποθεσία: Χολαργός, Ελλάδα
Επικοινωνία:

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

Δημοσίευση από mariosal » Σάβ Ιαν 01, 2011 3:31 pm

chris έγραψε:
mariosal έγραψε:Λύων τοῦ προβλήματος τὲ ἐν τῇ Pascal, ὅμως λέγον, τὸ σύστημα ὑποβολῶν, τοῦδε:

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

Άβαταρ μέλους
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Τοποθεσία: Ρόδος
Επικοινωνία:

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

Δημοσίευση από thetrojan01 » Σάβ Ιαν 01, 2011 5:04 pm

halt(0) για να επιστρέφεις 0, και ΜΗ ΓΡΑΦΕΙΣ ΑΡΧΑΙΑ ;)

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

Κάθε απόπειρα κακόβουλης εισόδου ή ακόμα και εξερεύνησης του συστήματος, εκτός της παρεχόμενης διεπαφής, θα εντοπίζεται και θα επιβάλλονται κυρώσεις.
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.

feedWARd
Δημοσιεύσεις: 72
Εγγραφή: Κυρ Δεκ 21, 2008 3:32 pm

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

Δημοσίευση από feedWARd » Σάβ Ιαν 01, 2011 6:34 pm

Ο 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 και να δεις τι δεν δουλεύει καλά.

Memas
Δημοσιεύσεις: 87
Εγγραφή: Παρ Δεκ 31, 2010 4:13 pm
Επικοινωνία:

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

Δημοσίευση από Memas » Κυρ Ιαν 02, 2011 11:26 am

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

Memas
Δημοσιεύσεις: 87
Εγγραφή: Παρ Δεκ 31, 2010 4:13 pm
Επικοινωνία:

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

Δημοσίευση από Memas » Κυρ Ιαν 02, 2011 11:50 am

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

G7Rider
Δημοσιεύσεις: 13
Εγγραφή: Σάβ Ιαν 22, 2011 7:01 pm

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

Δημοσίευση από G7Rider » Κυρ Ιαν 23, 2011 1:39 pm

Παρ'οτι έχω κάνει ακριβώς ότι και εσύ εγω εξακολουθώ να έχω πρόβλημα...

Memas
Δημοσιεύσεις: 87
Εγγραφή: Παρ Δεκ 31, 2010 4:13 pm
Επικοινωνία:

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

Δημοσίευση από Memas » Κυρ Ιαν 30, 2011 12:26 pm

Μήπως ξέρει κανείς αν υπάρχουν integers με μέγεθος 20 bits? :D

Άβαταρ μέλους
kernelpanic
Δημοσιεύσεις: 404
Εγγραφή: Κυρ Δεκ 21, 2008 8:16 pm
Τοποθεσία: Αθήνα

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

Δημοσίευση από kernelpanic » Κυρ Ιαν 30, 2011 2:35 pm

Δε μπορείς να φτιάξεις έναν μόνος σου; ;)
99 little bugs in the code,
99 bugs in the code,
Fix one bug,
Compile again,
104 little bugs in the code.

Memas
Δημοσιεύσεις: 87
Εγγραφή: Παρ Δεκ 31, 2010 4:13 pm
Επικοινωνία:

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

Δημοσίευση από Memas » Κυρ Ιαν 30, 2011 3:32 pm

Μάλλον θα εννοείς με τα Types...για να δώ..Ευχαριστώ ρε :D

Απάντηση