Hellenico
-
- Δημοσιεύσεις: 27
- Εγγραφή: Παρ Ιουν 12, 2020 10:04 am
Re: Hellenico
Οκ! Το βρήκα ( char x; ... cin>> x;)
- Κηπουρίδης
- Δημοσιεύσεις: 397
- Εγγραφή: Παρ Φεβ 05, 2010 5:05 pm
Re: Hellenico
Καλώς όρισες στο forum και συγχαρητήρια για την επιμονή σου! Πράγματι πολύ σωστά το έκανες.
Καλή συνέχεια, είμαστε εδώ για ό,τι χρειαστείς!
Λύσεις θεμάτων ΠΔΠ: https://pdp-archive.github.io/
Μπούσουλας διαβάσματος ΠΔΠ: http://snf-800715.vm.okeanos.grnet.gr/PDP/
Tutorials: https://kallinikos.github.io/
Επίσημο forum ΠΔΠ: https://www.pdpforum.eu.org/forum/
Μπούσουλας διαβάσματος ΠΔΠ: http://snf-800715.vm.okeanos.grnet.gr/PDP/
Tutorials: https://kallinikos.github.io/
Επίσημο forum ΠΔΠ: https://www.pdpforum.eu.org/forum/
-
- Δημοσιεύσεις: 27
- Εγγραφή: Παρ Ιουν 12, 2020 10:04 am
Re: Hellenico
ΠΡΟΒΛΗΜΑ 3 , Ενότητα 1.1 Hellenico
Ο κώδικάς μου βγάζει σωστό αποτέλεσμα σε δικά μου test cases αλλά στο hellenico τα βγάζει όλα λάθος.Θα μπορούσα να έχω κάποια βοήθεια ;;;
Ο κώδικάς μου βγάζει σωστό αποτέλεσμα σε δικά μου test cases αλλά στο hellenico τα βγάζει όλα λάθος.Θα μπορούσα να έχω κάποια βοήθεια ;;;
- Spoiler: show
- Κηπουρίδης
- Δημοσιεύσεις: 397
- Εγγραφή: Παρ Φεβ 05, 2010 5:05 pm
Re: Hellenico
Η λογική σου είναι σωστή και με μικρές αλλαγές έκανα τον κώδικά σου να περάσει. Όμως ομολογώ... ότι δεν έχω ιδέα τι μαγικά κάνεις!Marilenatsiop έγραψε: ↑Κυρ Ιούλ 05, 2020 11:47 pm ΠΡΟΒΛΗΜΑ 3 , Ενότητα 1.1 Hellenico
Ο κώδικάς μου βγάζει σωστό αποτέλεσμα σε δικά μου test cases αλλά στο hellenico τα βγάζει όλα λάθος.Θα μπορούσα να έχω κάποια βοήθεια ;;;
- Spoiler: show
Το λαθάκι σου είναι ότι υποθέτεις ότι οι μεταβλητές σου είναι αρχικοποιημένες σε 0 (πχ δες τη μεταβλητή T, που της κάνεις +=, ενώ δεν ξέρεις τι τιμή είχε αρχικά). Κάποια συστήματα (όπως ο υπολογιστής σου) αρχικοποιούν τις μεταβλητές σε 0 ούτως ή άλλως, και κάποια άλλα όχι. Ο δικός μου υπολογιστής και το hellenico για παράδειγμα δε τις αρχικοποιούσαν σε 0.
Προφανώς χρειάζεται να διαβάσεις από / γράψεις σε αρχείο, και είσαι έτοιμη!
Λύσεις θεμάτων ΠΔΠ: https://pdp-archive.github.io/
Μπούσουλας διαβάσματος ΠΔΠ: http://snf-800715.vm.okeanos.grnet.gr/PDP/
Tutorials: https://kallinikos.github.io/
Επίσημο forum ΠΔΠ: https://www.pdpforum.eu.org/forum/
Μπούσουλας διαβάσματος ΠΔΠ: http://snf-800715.vm.okeanos.grnet.gr/PDP/
Tutorials: https://kallinikos.github.io/
Επίσημο forum ΠΔΠ: https://www.pdpforum.eu.org/forum/
-
- Δημοσιεύσεις: 27
- Εγγραφή: Παρ Ιουν 12, 2020 10:04 am
Re: Hellenico
Κηπουρίδης έγραψε: ↑Δευ Ιούλ 06, 2020 12:17 amΗ λογική σου είναι σωστή και με μικρές αλλαγές έκανα τον κώδικά σου να περάσει. Όμως ομολογώ... ότι δεν έχω ιδέα τι μαγικά κάνεις!Marilenatsiop έγραψε: ↑Κυρ Ιούλ 05, 2020 11:47 pm ΠΡΟΒΛΗΜΑ 3 , Ενότητα 1.1 Hellenico
Ο κώδικάς μου βγάζει σωστό αποτέλεσμα σε δικά μου test cases αλλά στο hellenico τα βγάζει όλα λάθος.Θα μπορούσα να έχω κάποια βοήθεια ;;;
- Spoiler: show
Το λαθάκι σου είναι ότι υποθέτεις ότι οι μεταβλητές σου είναι αρχικοποιημένες σε 0 (πχ δες τη μεταβλητή T, που της κάνεις +=, ενώ δεν ξέρεις τι τιμή είχε αρχικά). Κάποια συστήματα (όπως ο υπολογιστής σου) αρχικοποιούν τις μεταβλητές σε 0 ούτως ή άλλως, και κάποια άλλα όχι. Ο δικός μου υπολογιστής και το hellenico για παράδειγμα δε τις αρχικοποιούσαν σε 0.
Προφανώς χρειάζεται να διαβάσεις από / γράψεις σε αρχείο, και είσαι έτοιμη!
Ευχαριστώ πολύ για την βοήθεια !!!
Δοκιμάζοντας βρήκα οτι χρειάζεται να αρχικοποιήσω μόνο το time και όχι το Τ ( με int Τ; περναει όλα τα test cases ).....;;;
Συνεχίζω στην ενότητα 1.2....!!!!
ΕΥΧΑΡΙΣΤΩ
- Κηπουρίδης
- Δημοσιεύσεις: 397
- Εγγραφή: Παρ Φεβ 05, 2010 5:05 pm
Re: Hellenico
Γενικά είναι ιδιαίτερα τυχαίο το τι χρειάζεται να αρχικοποιήσεις. Μπορεί τώρα να το τρέξεις σε κάποιο ακόμα μηχάνημα και να χρειάζεται αρχικοποίηση και το Τ. Οπότε συνήθισε να τα αρχικοποιείς όλα!Marilenatsiop έγραψε: ↑Δευ Ιούλ 06, 2020 5:54 pmΚηπουρίδης έγραψε: ↑Δευ Ιούλ 06, 2020 12:17 amΗ λογική σου είναι σωστή και με μικρές αλλαγές έκανα τον κώδικά σου να περάσει. Όμως ομολογώ... ότι δεν έχω ιδέα τι μαγικά κάνεις!Marilenatsiop έγραψε: ↑Κυρ Ιούλ 05, 2020 11:47 pm ΠΡΟΒΛΗΜΑ 3 , Ενότητα 1.1 Hellenico
Ο κώδικάς μου βγάζει σωστό αποτέλεσμα σε δικά μου test cases αλλά στο hellenico τα βγάζει όλα λάθος.Θα μπορούσα να έχω κάποια βοήθεια ;;;
- Spoiler: show
Το λαθάκι σου είναι ότι υποθέτεις ότι οι μεταβλητές σου είναι αρχικοποιημένες σε 0 (πχ δες τη μεταβλητή T, που της κάνεις +=, ενώ δεν ξέρεις τι τιμή είχε αρχικά). Κάποια συστήματα (όπως ο υπολογιστής σου) αρχικοποιούν τις μεταβλητές σε 0 ούτως ή άλλως, και κάποια άλλα όχι. Ο δικός μου υπολογιστής και το hellenico για παράδειγμα δε τις αρχικοποιούσαν σε 0.
Προφανώς χρειάζεται να διαβάσεις από / γράψεις σε αρχείο, και είσαι έτοιμη!
Ευχαριστώ πολύ για την βοήθεια !!!
Δοκιμάζοντας βρήκα οτι χρειάζεται να αρχικοποιήσω μόνο το time και όχι το Τ ( με int Τ; περναει όλα τα test cases ).....;;;
Συνεχίζω στην ενότητα 1.2....!!!!
ΕΥΧΑΡΙΣΤΩ
Καλή συνέχεια στην ενότητα 1.2, ελπίζω να σου αρέσουν τα προβλήματα!!
Λύσεις θεμάτων ΠΔΠ: https://pdp-archive.github.io/
Μπούσουλας διαβάσματος ΠΔΠ: http://snf-800715.vm.okeanos.grnet.gr/PDP/
Tutorials: https://kallinikos.github.io/
Επίσημο forum ΠΔΠ: https://www.pdpforum.eu.org/forum/
Μπούσουλας διαβάσματος ΠΔΠ: http://snf-800715.vm.okeanos.grnet.gr/PDP/
Tutorials: https://kallinikos.github.io/
Επίσημο forum ΠΔΠ: https://www.pdpforum.eu.org/forum/
-
- Δημοσιεύσεις: 27
- Εγγραφή: Παρ Ιουν 12, 2020 10:04 am
Re: Hellenico
Καλησπέρα!!!
Στο πρόβλημα 3της ενότητας 1.2 μου λέει οτι βγαίνω εκτος πίνακα... καποια βοήθεια;;;
*στις τελευταίες γραμμές του κώδικα είναι ...wi άγγιστρο i άγγιστρο...
Στο πρόβλημα 3της ενότητας 1.2 μου λέει οτι βγαίνω εκτος πίνακα... καποια βοήθεια;;;
*στις τελευταίες γραμμές του κώδικα είναι ...wi άγγιστρο i άγγιστρο...
- Spoiler: show
Re: Hellenico
Αρκεί να αναρωτηθεις τι διάσταση εχει ο πινακας που δημιουργήσες στην 2η γραμμη του παραπανω αποσπασματος κωδικα...Κώδικας: Επιλογή όλων
freopen("elevator.out","w",stdout); int n,a,wi[n]; cin>>n;
Στον προγραμματισμό ονομαζουμε "Δομη ακολουθιας" τη σειρα με την οποια εκτελουνται οι εντολες απο τον επεξεργαστη (ή το μεταγλωτιστη της γλωσσας προγραμματισμου).
Υγ. Δεν κοιταξα παρακατω στον κωδικα αν ειναι ενταξει.
-
- Δημοσιεύσεις: 27
- Εγγραφή: Παρ Ιουν 12, 2020 10:04 am
Re: Hellenico
Κύριε ευχαριστώ...είχα υπέρβαση χρόνου σε κάποια τεστ αλλα αντικατέστησα το (while ! is_sorted) με της sort τησ algorithm και τωρα είναι οκ :)
Ευχαριστώ!!
Ευχαριστώ!!
Re: Hellenico
Το bubble sort δεν είναι αποδοτικός αλγόριθμος για τυχαίους πίνακες γιατί μπορεί να χρειαστεί έως n^2/2 (ν τετράγωνο δια δυο) αντιμεταθέσεις. Ήταν όμως μια ωραία άσκηση για το μάθημα με τα συνδυασμένα loop: while και for .
Το sort στο algorithm είναι τύπου merge sort (μπορείς να το δεις στη wikipedia ή σε βίντεο στο youtube για να καταλάβεις πως λειτουργεί) και έχει πολύ καλύτερη απόδοση (έχει λογαριθμική πολυπλοκότητα).
Υπάρχει και ένας ακόμα τύπος sort στις βιβλιοθήκες της C++ που χρησιμοποιεί τη μέθοδο quick sort και περιέχεται στη βιβλιοθήκη cstdlib (συντάσσεται διαφορετικά).
Το sort στο algorithm είναι τύπου merge sort (μπορείς να το δεις στη wikipedia ή σε βίντεο στο youtube για να καταλάβεις πως λειτουργεί) και έχει πολύ καλύτερη απόδοση (έχει λογαριθμική πολυπλοκότητα).
Υπάρχει και ένας ακόμα τύπος sort στις βιβλιοθήκες της C++ που χρησιμοποιεί τη μέθοδο quick sort και περιέχεται στη βιβλιοθήκη cstdlib (συντάσσεται διαφορετικά).
-
- Δημοσιεύσεις: 35
- Εγγραφή: Τετ Ιούλ 22, 2020 4:55 pm
Re: Hellenico
Καλησπέρα σας. Θα μπορούσε να με βοηθήσει κάποιος με το 1.1 3ο πρόβλημα (bandwidth)? Δεν έχω καταλάβει κάθε πότε πρέπει να μειώνεται ο χρόνος των αρχείων. Κάθε φορά που τελειώνει κάθε ένα αρχείο ή μια φορά στο καθένα. Διότι έχω το πρώτο τεστ σωστό ενώ τα άλλα 9 λάθος.
- Spoiler: show
Re: Hellenico
Στο πρόβλημα αυτό αλλά και γενικά στα προβλήματα, πρέπει να τα μετασχηματίσεις όπως σε βολεύουν εσένα. Σκέψου πολύ απλά ότι έχεις ένα συγκεκριμένο bandwidth.
Σε αυτό πρέπει να χωρέσουν ολα τα κατεβάσματα. Κάθε φορά που τελειώνει ένα κατέβασμα, το bandwidth που ελευθερώθηκε μοιράζεται στα υπόλοιπα. Έχει σημασία πως μοιράζεται το ελευθερωμένο bandwidth των ολοκληρωμένων λήψεων για την απάντηση σου;
Σε αυτό πρέπει να χωρέσουν ολα τα κατεβάσματα. Κάθε φορά που τελειώνει ένα κατέβασμα, το bandwidth που ελευθερώθηκε μοιράζεται στα υπόλοιπα. Έχει σημασία πως μοιράζεται το ελευθερωμένο bandwidth των ολοκληρωμένων λήψεων για την απάντηση σου;
-
- Δημοσιεύσεις: 35
- Εγγραφή: Τετ Ιούλ 22, 2020 4:55 pm
Re: Hellenico
Σε ευχαριστώ για την απάντησή σου switch. Νομίζω πως έχει γιατί έχω μόνο το πρώτο από τα 10 testcases σωστά και δεν ξέρω πού έχω κάνει λάθος. Μπορείς να δεις τον κώδικά μου στο spoiler που έχω στο προηγούμενό μου μήνυμα. Και μια εξήγηση... Η μεταβλητή tempfloat ήταν αρχικά να είναι ενα temporary float που μετά αποφάσισα να κάνω long double οπότε θα έπρεπε να την λενε templdouble. Θα εκτιμούσα την περαιτέρω βοήθειά σου στο πρόβλημά μου...
- Κηπουρίδης
- Δημοσιεύσεις: 397
- Εγγραφή: Παρ Φεβ 05, 2010 5:05 pm
Re: Hellenico
Καλησπέρα Δημήτρη._Dimitris_ έγραψε: ↑Τετ Ιούλ 22, 2020 9:59 pm Σε ευχαριστώ για την απάντησή σου switch. Νομίζω πως έχει γιατί έχω μόνο το πρώτο από τα 10 testcases σωστά και δεν ξέρω πού έχω κάνει λάθος. Μπορείς να δεις τον κώδικά μου στο spoiler που έχω στο προηγούμενό μου μήνυμα. Και μια εξήγηση... Η μεταβλητή tempfloat ήταν αρχικά να είναι ενα temporary float που μετά αποφάσισα να κάνω long double οπότε θα έπρεπε να την λενε templdouble. Θα εκτιμούσα την περαιτέρω βοήθειά σου στο πρόβλημά μου...
Θα σου πω μια συμβουλή για να είναι πιο πιθανό να παίρνεις απαντήσεις που θα σε βοηθάνε. Συνήθως βοηθάει να εξηγήσεις σε φυσική γλώσσα το ΤΙ προσπάθησες να κάνεις, και μετά ο κώδικας να εξηγεί το ΠΩΣ το έκανες. Για παράδειγμα το ΤΙ κάνεις θα μπορούσε να ήταν ότι επιλέγεις την εργασία που τελειώνει νωρίτερα, και μοιράζεις την ταχύτητά της σε όλες τις άλλες εργασίες ισομερώς. Κάποιος άλλος, στο ΤΙ κάνει θα μπορούσε να επιλέγει την εργασία που τελειώνει νωρίτερα και να αναθέτει την ταχύτητά της σε μία τυχαία εργασία. Και βεβαίως υπάρχουν πάρα πολλοί τρόποι ακόμα.
Αφού βεβαιωθείς ότι το ΤΙ θέλεις να κάνεις είναι σωστό (και το εξηγήσεις και σε εμάς), τότε μόνο έχει νόημα ο κώδικας, για να δούμε ΠΩΣ ακριβώς πετυχαίνεις αυτό που ήθελες. Διότι εμείς που δε γνωρίζουμε τη σκέψη σου (το ΤΙ) δυσκολευόμαστε πάρα πολύ να το αντιληφθούμε μέσω του κώδικά σου.
Το πώς ξεχωρίζεις το ΤΙ απ' το ΠΩΣ είναι εύκολο. Το ΤΙ μπορείς να το εξηγήσεις και σε άνθρωπο που δεν έχει την παραμικρή ιδέα από προγραμματισμό/γλώσσες προγραμματισμού κλπ.
Περιμένουμε λοιπόν την επεξήγησή σου για το τι θες να πετύχεις, και θα προσπαθήσουμε με χαρά να σε βοηθήσουμε!
Καλή συνέχεια παλικάρι μου.
Λύσεις θεμάτων ΠΔΠ: https://pdp-archive.github.io/
Μπούσουλας διαβάσματος ΠΔΠ: http://snf-800715.vm.okeanos.grnet.gr/PDP/
Tutorials: https://kallinikos.github.io/
Επίσημο forum ΠΔΠ: https://www.pdpforum.eu.org/forum/
Μπούσουλας διαβάσματος ΠΔΠ: http://snf-800715.vm.okeanos.grnet.gr/PDP/
Tutorials: https://kallinikos.github.io/
Επίσημο forum ΠΔΠ: https://www.pdpforum.eu.org/forum/
-
- Δημοσιεύσεις: 35
- Εγγραφή: Τετ Ιούλ 22, 2020 4:55 pm
Re: Hellenico
Φυσικά, εννοείται πως θα σας εξηγήσω όσο πιο αναλυτικά μπορώ! Ευχαριστώ, θα μου χρειαστεί και στο μέλλον αυτή η συμβουλή! Λοιπόν, στον παραπάνω κώδικα αποθηκεύω κάθε ζεύγος (ταχύτητα - χρόνος) σε ενα vecror το οποίο μετα sortαρω. Παίρνω τον πρώτο χρόνο και τον αποθηκεύω στην time. Μετά η time παίρνει συνέχεια κι άλλες τιμές, το κάθε στοιχείο (χρόνο) πολλαπλασιαμένο με την ταχύτητά του και διαιρεμένο με το bandwidth το οποίο έχει ως τιμή το άθροισμα όλων των ταχυτήτων, όλων των αρχείων μας. Τέλος, το time στρογγυλοποιείται στην πλησιέστερη μονάδα (ακέραιος). Θεωρώ ότι με 2 αρχεία (όπως το παράδειγμα που δίνουν) το πρόγραμμα λειτουργεί σωστά. Με 3 αρχεία και πάνω μάλλον όχι. Ίσως, απ' ό,τι κατάλαβα και εγω το λάθος να είναι ότι παίρνω ξεχωριστά κάθε ταχύτητα και κάνω τις πράξεις μία φορά. Τη δεύτερη φορά που (μάλλον) πρέπει να κατανεμηθεί ξανά το bandwidth κάτι δεν γίνεται σωστά. Μήπως θα μπορούσατε να με βοηθήσετε στο πώς να ξανακατανείμω το bandwidth (δηλαδή το λάθος στον κώδικα); Σας ευχαριστώ πολύ...Κηπουρίδης έγραψε: ↑Τετ Ιούλ 22, 2020 11:06 pmΚαλησπέρα Δημήτρη._Dimitris_ έγραψε: ↑Τετ Ιούλ 22, 2020 9:59 pm Σε ευχαριστώ για την απάντησή σου switch. Νομίζω πως έχει γιατί έχω μόνο το πρώτο από τα 10 testcases σωστά και δεν ξέρω πού έχω κάνει λάθος. Μπορείς να δεις τον κώδικά μου στο spoiler που έχω στο προηγούμενό μου μήνυμα. Και μια εξήγηση... Η μεταβλητή tempfloat ήταν αρχικά να είναι ενα temporary float που μετά αποφάσισα να κάνω long double οπότε θα έπρεπε να την λενε templdouble. Θα εκτιμούσα την περαιτέρω βοήθειά σου στο πρόβλημά μου...
Θα σου πω μια συμβουλή για να είναι πιο πιθανό να παίρνεις απαντήσεις που θα σε βοηθάνε. Συνήθως βοηθάει να εξηγήσεις σε φυσική γλώσσα το ΤΙ προσπάθησες να κάνεις, και μετά ο κώδικας να εξηγεί το ΠΩΣ το έκανες. Για παράδειγμα το ΤΙ κάνεις θα μπορούσε να ήταν ότι επιλέγεις την εργασία που τελειώνει νωρίτερα, και μοιράζεις την ταχύτητά της σε όλες τις άλλες εργασίες ισομερώς. Κάποιος άλλος, στο ΤΙ κάνει θα μπορούσε να επιλέγει την εργασία που τελειώνει νωρίτερα και να αναθέτει την ταχύτητά της σε μία τυχαία εργασία. Και βεβαίως υπάρχουν πάρα πολλοί τρόποι ακόμα.
Αφού βεβαιωθείς ότι το ΤΙ θέλεις να κάνεις είναι σωστό (και το εξηγήσεις και σε εμάς), τότε μόνο έχει νόημα ο κώδικας, για να δούμε ΠΩΣ ακριβώς πετυχαίνεις αυτό που ήθελες. Διότι εμείς που δε γνωρίζουμε τη σκέψη σου (το ΤΙ) δυσκολευόμαστε πάρα πολύ να το αντιληφθούμε μέσω του κώδικά σου.
Το πώς ξεχωρίζεις το ΤΙ απ' το ΠΩΣ είναι εύκολο. Το ΤΙ μπορείς να το εξηγήσεις και σε άνθρωπο που δεν έχει την παραμικρή ιδέα από προγραμματισμό/γλώσσες προγραμματισμού κλπ.
Περιμένουμε λοιπόν την επεξήγησή σου για το τι θες να πετύχεις, και θα προσπαθήσουμε με χαρά να σε βοηθήσουμε!
Καλή συνέχεια παλικάρι μου.
Re: Hellenico
Η βασική σου ιδέα είναι γενικά καλή. Η υλοποίηση θέλει δουλίτσα και ίσως κάποιες λεπτομέρειες ακόμα. Είσαι σε καλό δρόμο όμως.
Ταξινομείς με το bandwidth (σε αύξουσα σειρά). Αυτό ήθελες να κάνεις;_Dimitris_ έγραψε: ↑Τετ Ιούλ 22, 2020 11:24 pmΛοιπόν, στον παραπάνω κώδικα αποθηκεύω κάθε ζεύγος (ταχύτητα - χρόνος) σε ενα vecror το οποίο μετα sortαρω.
Παίρνεις έναν τυχαίο χρόνο και τον βάζεις στην time (πιο συγκεκριμένα παίρνεις τον τελευταίο χρόνο του αρχείου εισόδου αγνοώντας την ταξινόμηση που έκανες). Θέλει διόρθωση
Το κάθε στοιχείο; Έχεις βάλει loop for αλλά πάντα διαβάζεις ένα στοιχείο του πίνακα. Δες τη σύνταξη του vector για βοήθεια._Dimitris_ έγραψε: ↑Τετ Ιούλ 22, 2020 11:24 pm Μετά η time παίρνει συνέχεια κι άλλες τιμές, το κάθε στοιχείο (χρόνο)...
-
- Δημοσιεύσεις: 35
- Εγγραφή: Τετ Ιούλ 22, 2020 4:55 pm
Re: Hellenico
Όχι όχι, η ταξινόμηση γίνεται με βάση την ταχύτητα, το πρώτο στοιχείο (στο παράδειγμα το 3 και το 2). Επίσης παίρνω πάντα τον πρώτο χρόνο, οχι έναν τυχαίο αλλά τώρα που το ξανασκεφτομαι επειδή θέλω να πάρω τον ελάχιστο χρόνο, πρέπει να κάνω την ταξινόμηση με βάση το δεύτερο στοιχείο, σωστα δεν λεω;switch έγραψε: ↑Πέμ Ιούλ 23, 2020 12:45 am Η βασική σου ιδέα είναι γενικά καλή. Η υλοποίηση θέλει δουλίτσα και ίσως κάποιες λεπτομέρειες ακόμα. Είσαι σε καλό δρόμο όμως.
Ταξινομείς με το bandwidth (σε αύξουσα σειρά). Αυτό ήθελες να κάνεις;_Dimitris_ έγραψε: ↑Τετ Ιούλ 22, 2020 11:24 pmΛοιπόν, στον παραπάνω κώδικα αποθηκεύω κάθε ζεύγος (ταχύτητα - χρόνος) σε ενα vecror το οποίο μετα sortαρω.
Παίρνεις έναν τυχαίο χρόνο και τον βάζεις στην time (πιο συγκεκριμένα παίρνεις τον τελευταίο χρόνο του αρχείου εισόδου αγνοώντας την ταξινόμηση που έκανες). Θέλει διόρθωση
Το κάθε στοιχείο; Έχεις βάλει loop for αλλά πάντα διαβάζεις ένα στοιχείο του πίνακα. Δες τη σύνταξη του vector για βοήθεια._Dimitris_ έγραψε: ↑Τετ Ιούλ 22, 2020 11:24 pm Μετά η time παίρνει συνέχεια κι άλλες τιμές, το κάθε στοιχείο (χρόνο)...
Το loop (for) τρέχει όσα είναι τα στοιχεία - 1, το αρχικό γιατί τον μικρότερο χρόνο δεν θέλουμε να τον πειράξουμε. Επομένως κάνω την πράξη ΧΡΟΝΟΣ*ΤΑΧΥΤΗΤΑ/BANDWIDTH στο κάθε στοιχείο...
Re: Hellenico
γιατί; Φοβάσαι μήπως τον χάσεις; Ενω θα τον υπολογίσεις και αυτόν με τον τύπο σου._Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 am Όχι όχι, η ταξινόμηση γίνεται με βάση την ταχύτητα, το πρώτο στοιχείο (στο παράδειγμα το 3 και το 2). Επίσης παίρνω πάντα τον πρώτο χρόνο, οχι έναν τυχαίο αλλά τώρα που το ξανασκεφτομαι επειδή θέλω να πάρω τον ελάχιστο χρόνο,
δεν θα σου απαντήσω για την ταξινόμηση ακόμα. Θα σε αφήσω να το βρεις μόνος σου_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 amπρέπει να κάνω την ταξινόμηση με βάση το δεύτερο στοιχείο, σωστα δεν λεω;
ξανά: γιατί;_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 amΤο loop (for) τρέχει όσα είναι τα στοιχεία - 1, το αρχικό γιατί τον μικρότερο χρόνο δεν θέλουμε να τον πειράξουμε.
Αυτό πρέπει να το σκεφτείς καλά. Ο τύπος σου είναι σωστός. Τι μέγεθος μας δίνει το χρονος*ταχυτητα;_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 am Επομένως κάνω την πράξη ΧΡΟΝΟΣ*ΤΑΧΥΤΗΤΑ/BANDWIDTH στο κάθε στοιχείο...
Μερικές παρατηρήσεις στον κώδικα σου:
Κώδικας: Επιλογή όλων
sort...
time=X;
Κώδικας: Επιλογή όλων
for...
tempfloat=files.second;
Κώδικας: Επιλογή όλων
tempfloat=(files.second-time)*files.first/bandwidth;
-
- Δημοσιεύσεις: 35
- Εγγραφή: Τετ Ιούλ 22, 2020 4:55 pm
Re: Hellenico
Καλησπέρα. Ο ΧΡΟΝΟΣ*ΤΑΧΥΤΗΤΑ είναι integer αλλά όταν διαιρεθεί με bandwidth γίνεται double.switch έγραψε: ↑Πέμ Ιούλ 23, 2020 4:58 pmγιατί; Φοβάσαι μήπως τον χάσεις; Ενω θα τον υπολογίσεις και αυτόν με τον τύπο σου._Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 am Όχι όχι, η ταξινόμηση γίνεται με βάση την ταχύτητα, το πρώτο στοιχείο (στο παράδειγμα το 3 και το 2). Επίσης παίρνω πάντα τον πρώτο χρόνο, οχι έναν τυχαίο αλλά τώρα που το ξανασκεφτομαι επειδή θέλω να πάρω τον ελάχιστο χρόνο,
δεν θα σου απαντήσω για την ταξινόμηση ακόμα. Θα σε αφήσω να το βρεις μόνος σου_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 amπρέπει να κάνω την ταξινόμηση με βάση το δεύτερο στοιχείο, σωστα δεν λεω;
ξανά: γιατί;_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 amΤο loop (for) τρέχει όσα είναι τα στοιχεία - 1, το αρχικό γιατί τον μικρότερο χρόνο δεν θέλουμε να τον πειράξουμε.
Αυτό πρέπει να το σκεφτείς καλά. Ο τύπος σου είναι σωστός. Τι μέγεθος μας δίνει το χρονος*ταχυτητα;_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 am Επομένως κάνω την πράξη ΧΡΟΝΟΣ*ΤΑΧΥΤΗΤΑ/BANDWIDTH στο κάθε στοιχείο...
Μερικές παρατηρήσεις στον κώδικα σου:εδω είναι ο τυχαίος χρόνος που παίρνεις (ότι ήταν αποθηκευμένο στην Χ, αρα τον τελευταίο χρόνο που διάβασες από το αρχείο). Η γραμμή αυτή όπως καταλαβαίνεις είναι άσχετη με την ταξινόμηση,Κώδικας: Επιλογή όλων
sort... time=X;
Τι θέλεις να κάνεις εδω; Μια περιττή γραμμή κώδικα;Κώδικας: Επιλογή όλων
for... tempfloat=files.second;
που υπάρχει αναφορά στη θέση i του πίνακα;Κώδικας: Επιλογή όλων
tempfloat=(files.second-time)*files.first/bandwidth;
Όπως βλέπω στο παράδειγμα, το 22 (ο ελάχιστος χρόνος) δεν παθαίνει κάποια αλλαγή. Ο άλλος παθαίνει με αυτήν την πράξη και από 57 γίνεται 21 (22+21=43). Με τον παραπάνω κώδικα, το output σε αυτό το testcase είναι όντως 43. Έχεις/Έχετε δίκιο με το time=X. Θα ήταν καλύτερο το time=files[0].second αφού γίνεται η ταξινόμηση με βάση τον χρόνο (τότε το time θα έχει τον ελάχιστο χρόνο, το 22 στο παράδειγμα). Όσο για την περιττή γραμμή κώδικα, ναι όντως είναι άκυρη. Αναφορά στο i γίνεται μετά από κάθε φορά που λέει files, μέσα σε αγκύλες (στη θέση i του vector). Απλά δεν μου το παίρνει το forum εξαιτίας των αγκυλών.
-
- Δημοσιεύσεις: 35
- Εγγραφή: Τετ Ιούλ 22, 2020 4:55 pm
Re: Hellenico
_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 7:05 pmΚαλησπέρα. Ο ΧΡΟΝΟΣ*ΤΑΧΥΤΗΤΑ είναι integer αλλά όταν διαιρεθεί με bandwidth γίνεται double.switch έγραψε: ↑Πέμ Ιούλ 23, 2020 4:58 pmγιατί; Φοβάσαι μήπως τον χάσεις; Ενω θα τον υπολογίσεις και αυτόν με τον τύπο σου._Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 am Όχι όχι, η ταξινόμηση γίνεται με βάση την ταχύτητα, το πρώτο στοιχείο (στο παράδειγμα το 3 και το 2). Επίσης παίρνω πάντα τον πρώτο χρόνο, οχι έναν τυχαίο αλλά τώρα που το ξανασκεφτομαι επειδή θέλω να πάρω τον ελάχιστο χρόνο,
δεν θα σου απαντήσω για την ταξινόμηση ακόμα. Θα σε αφήσω να το βρεις μόνος σου_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 amπρέπει να κάνω την ταξινόμηση με βάση το δεύτερο στοιχείο, σωστα δεν λεω;
ξανά: γιατί;_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 amΤο loop (for) τρέχει όσα είναι τα στοιχεία - 1, το αρχικό γιατί τον μικρότερο χρόνο δεν θέλουμε να τον πειράξουμε.
Αυτό πρέπει να το σκεφτείς καλά. Ο τύπος σου είναι σωστός. Τι μέγεθος μας δίνει το χρονος*ταχυτητα;_Dimitris_ έγραψε: ↑Πέμ Ιούλ 23, 2020 1:18 am Επομένως κάνω την πράξη ΧΡΟΝΟΣ*ΤΑΧΥΤΗΤΑ/BANDWIDTH στο κάθε στοιχείο...
Μερικές παρατηρήσεις στον κώδικα σου:εδω είναι ο τυχαίος χρόνος που παίρνεις (ότι ήταν αποθηκευμένο στην Χ, αρα τον τελευταίο χρόνο που διάβασες από το αρχείο). Η γραμμή αυτή όπως καταλαβαίνεις είναι άσχετη με την ταξινόμηση,Κώδικας: Επιλογή όλων
sort... time=X;
Τι θέλεις να κάνεις εδω; Μια περιττή γραμμή κώδικα;Κώδικας: Επιλογή όλων
for... tempfloat=files.second;
που υπάρχει αναφορά στη θέση i του πίνακα;Κώδικας: Επιλογή όλων
tempfloat=(files.second-time)*files.first/bandwidth;
Όπως βλέπω στο παράδειγμα, το 22 (ο ελάχιστος χρόνος) δεν παθαίνει κάποια αλλαγή. Ο άλλος παθαίνει με αυτήν την πράξη και από 57 γίνεται 21 (22+21=43). Με τον παραπάνω κώδικα, το output σε αυτό το testcase είναι όντως 43. Έχεις/Έχετε δίκιο με το time=X. Θα ήταν καλύτερο το time=files[0].second αφού γίνεται η ταξινόμηση με βάση τον χρόνο (τότε το time θα έχει τον ελάχιστο χρόνο, το 22 στο παράδειγμα). Όσο για την περιττή γραμμή κώδικα, ναι όντως είναι άκυρη. Αναφορά στο i γίνεται μετά από κάθε φορά που λέει files, μέσα σε αγκύλες (στη θέση i του vector). Απλά δεν μου το παίρνει το forum εξαιτίας των αγκυλών.
Ο κώδικας διορθωμένος μέχρι στιγμής (πάλι μόνο το 1ο από τα 10 testcases του hellenico είναι σωστό)
- Spoiler: show