IHateLove Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 σταματήστε ρε τρολλερς, δεν έχει σημασία, μας νοιάζει αν είναι αγόρι ή κορίτσι? (μπα) αυτό που θέλω να πω στην τριπλή μερυ είναι ότι το καλό με αυτές τις ασκήσεις (πολλαπλής) είναι ότι σε βοηθάει πολύ να θυμηθείς, το κακό είναι (αυτό που συμβαίνει με σένα) ότι αν δεν ξέρεις τίποτα, αν δεν ξέρεις τα βασικά τότε δεν μπορείς να κάνεις τίποτα δεν μπορείς να τα μάθεις παπαγαλία, πρέπει να καταλάβεις τον κώδικα, άντε ωραία στα έλυσα εγώ, so what? στην εξεταστική αυτή θα πέσουν στο περίπου ίδιο στυλ και φυσικά με άλλα νούμερα!!!! ΥΓ : συνήθως πόσες ερωτήσεις βάζει σε κάθε εξεταστική γιατί μου φαίνονται αρκετά για 2 ώρες, άσε που στο τέλος έχει να φτιάξεις και μια συνάρτηση (αν και μικρή) ??
marymarymary Δημοσ. 13 Σεπτεμβρίου 2012 Μέλος Δημοσ. 13 Σεπτεμβρίου 2012 σε ευχαριστω ihatelove ...συνεχιζω να ειμαι κοριτσι απλως αυτα τα θεματα αφορουν τον αδερφο μου.. 2ωρο νομιζω
defacer Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 Σελίδα 25: ΔΙΑΦΑΝΕΙΑ - ΑΞΙΟΚΑΡΤΙΑ - ΙΣΟΝΟΜΙΑ Αυτές τις αρχές διεκδικούμε, με αυτές τις αρχές πορευόμαστε... Είστε πιο gtp απ' όσο μπορεί να περιγράψει ακόμα και ο Χελάκης. Ευτυχώς το επίπεδο του ανταγωνισμού που έχετε δεν είναι τέτοιο που να σας δημιουργεί πρόβλημα. 1
deps Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 αν κοιταξεις τα θεματα του 2008 ζηταει να γραψουμε μια αναδρομικη μεθοδο οπου θα παιρνει δυο πινακες και αν ειναι ισοι στο μεγεθος και ως προς τα στοιχεια του να επιστρεφει true!! στη μεθοδο εχω συμπεριλαβει τα εξης : if (( a1_length<=0 ) || (a2_length <=0)) return false ; else if (a1_length !=a2_length ) return false ; else if (( a1_length< a2_length) || (a2_length <a1_length)) return false ; else if (a1_length ==a2_length ) { if ( a1[a1_length]==a2[a2_length]) { if (( a1[a1_length>1 ) & a2_length>1 )) { result = compareArrayw ( a1,a2,a1_length-1,a2_length-1) και εκει εχω σκαλωσει!! βγαζει κανενα νοημα αυτο που γραφω η μολις δολοφοnησα την java ???
defacer Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 (επεξεργασμένο) Δε βγάζει νόημα, όχι. > if (a1_pos != a2_pos) return false; else if (a1_pos < 0) return true; else return a1[a1_pos] == a2[a2_pos] && compareArray(a1, a2, a1_pos - 1, a2_pos - 1); Tην καλείς ως compareArray(a1, a2, a1.length - 1, a2.length - 1); Επέλεξα να κάνω τους ελέγχους από το τέλος προς την αρχή γιατί έτσι βολεύει καλύτερα. Επεξ/σία 13 Σεπτεμβρίου 2012 από defacer
IHateLove Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 αν κοιταξεις τα θεματα του 2008 ζηταει να γραψουμε μια αναδρομικη μεθοδο οπου θα παιρνει δυο πινακες και αν ειναι ισοι στο μεγεθος και ως προς τα στοιχεια του να επιστρεφει true!! στη μεθοδο εχω συμπεριλαβει τα εξης : if (( a1_length<=0 ) || (a2_length <=0)) return false ; else if (a1_length !=a2_length ) return false ; else if (( a1_length< a2_length) || (a2_length <a1_length)) return false ; else if (a1_length ==a2_length ) { if ( a1[a1_length]==a2[a2_length]) { if (( a1[a1_length>1 ) & a2_length>1 )) { result = compareArrayw ( a1,a2,a1_length-1,a2_length-1) και εκει εχω σκαλωσει!! βγαζει κανενα νοημα αυτο που γραφω η μολις δολοφοnησα την java ??? τι μαθαίνει κανείς, το ξέρατε ότι 4 != 5 & 4 < 5 & 5 > 4 ΄;;
deps Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 χαχαχαχαχαχ!! σορρυ παιδια!! το ξερω ειμαι παντελως ασχετη!! defacer η εντολη αυτη else if (a1_pos < 0) return true; σημαινει οτι αν δοθει αρνητικο μηκος να επιστρεψει true?? ή εγω καταλαβα λαθος??
defacer Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 Κατ' αρχήν το a1_pos δεν αντιπροσωπεύει μήκος όπως φαίνεται και από το όνομα της μεταβλητής (άσχετα αν στην πρώτη κλήση τυχαίνει να έχει "σχετική" με το μήκος τιμή). Δεύτερον η συνάρτηση εφόσον υποτίθεται ότι δουλεύει θα πρέπει να έχει τουλάχιστον ένα υπο συνθήκη return true και αντίστοιχα ένα return false. Είναι προφανές ότι το return true αντιπροσωπεύει το ότι οι πίνακες είναι ίδιοι σύμφωνα με το κριτήριο της εκφώνησης. Εφόσον επέλεξα να συγκρίνω από το τέλος προς την αρχή και στην πρώτη διαφορά επιστρέφω false, το να μου ζητήσεις να συγκρίνω το στοιχείο -1 των πινάκων σημαίνει πως όλα τα προηγούμενα (δηλαδή όλα) τα συγκρίναμε ήδη και ήταν ίδια. Άρα οι δύο πίνακες είναι τελείως ίδιοι. Άρα return true.
IHateLove Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 http://pastebin.com/CrvijrAu Δυστυχώς το φόρουμ έχει θέμα με την στοίχιση, δες από το link. by the way, υπάρχει κάποιο αντίστοιχο #region στην Java? > return a1[a1_pos] == a2[a2_pos] && compareArray(a1, a2, a1_pos - 1, a2_pos - 1); length = 5, έχεις έναν έλεγχο > if (a1_pos < 0 || a2_pos< 0) return false; που σε καλύπτει για να μην πάει -1 όμως! το 0 != -1, δηλαδή όταν πάει 0 το a1_pos || a2_pos θα εκτελεστεί κανονικά αυτή η γραμμή > return a1[a1_pos] == a2[a2_pos] && compareArray(a1, a2, a1_pos - 1, a2_pos - 1); το οποίο σημαίνει > return a1[a1_pos] == a2[a2_pos] && compareArray(a1, a2, 0 - 1, 0 - 1); > return a1[a1_pos] == a2[a2_pos] && compareArray(a1, a2, -1, -1);
defacer Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 Και στο αμέσως επόμενο call θα είναι a1_pos < 0 και θα επιστρέψει true. Δεν καταλαβαίνω τι προσπαθείς να πεις. Το γεγονός ότι ο κώδικας που παραθέτεις εκεί που λες για τον έλεγχο δεν έχει καμία σχέση με τον δικό μου δε βοηθάει. http://ideone.com/CB5rk
IHateLove Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 -------------------------------------------------------------- Using Data > int[] a = {4, -2, 6, 15, -2}; int[] b = {4, -2, 6, 15, -1}; Using this as monitor > System.out.println("A[" + (alen-1) + "] (" + a[alen-1] + ") --- B[" + (blen-1) + "] (" + b[blen-1] + ")"); we have this result A[4] (-2) --- B[4] (-1) I dont think so Changing Data to this > int[] a = {4, -2, 6, 15, -2}; int[] b = {4, -2, 6, 15, -2}; we have this A[4] (-2) --- B[4] (-2)A[3] (15) --- B[3] (15) A[2] (6) --- B[2] (6) A[1] (-2) --- B[1] (-2) A[0] (4) --- B[0] (4) Yes is same
IHateLove Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 Και στο αμέσως επόμενο call θα είναι a1_pos < 0 και θα επιστρέψει true. Δεν καταλαβαίνω τι προσπαθείς να πεις. Το γεγονός ότι ο κώδικας που παραθέτεις εκεί που λες για τον έλεγχο δεν έχει καμία σχέση με τον δικό μου δε βοηθάει. http://ideone.com/CB5rk λέω ότι εσύ του λες αν είναι όμοιοι οι πίνακες ή όχι, άστο να το βρει μόνο του εννοώ ότι, λες, " θα πάει -1, ΟΚ σημαίνει ότι διέσχισε τον πίνακα και είναι Δε βγάζει νόημα, όχι. > if (a1_pos != a2_pos) return false; else if (a1_pos < 0) return true; else return a1[a1_pos] == a2[a2_pos] && compareArray(a1, a2, a1_pos - 1, a2_pos - 1); Tην καλείς ως compareArray(a1, a2, a1.length - 1, a2.length - 1); Επέλεξα να κάνω τους ελέγχους από το τέλος προς την αρχή γιατί έτσι βολεύει καλύτερα. να αποφεύγεις τα +- 1, δεν είναι καλή τακτική στο λέω εγώ ο τρολλερ κατά τα λεγόμενά σας. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at Hello.compareArray(Hello.java:26) at Hello.main(Hello.java:9) ΥΓ: κατάλαβα το σκεπτικό σου, λες αν πάει -1 σημαίνει ότι διέσχισε τον πίνακα και δεν παρουσίασε κάποιο πρόβλημα , άρα επέστρεψε true απλά χτυπάει... (μισώ την αναδρομικότητα!!!) Update: την καλούσα λάθος, οκ δουλεύει! απλά ... (ρίξε μια ματιά) I dont think so Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1 at Hello.main(Hello.java:15) Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1 at Hello.main(Hello.java:15) Yes is same
defacer Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 Ρε συ IHateLove κάνε μια μικρή προσπάθεια να βγάζουν κάποιο νόημα αυτά που γράφεις. Μέχρι το exception δεν κατάλαβα τίποτα. Το exception από την άλλη δεν το δίνει ο δικός μου κώδικας (το link στο ideone δουλεύει μια χαρά) επομένως σε ποιό κώδικα αναφέρεται?
IHateLove Δημοσ. 13 Σεπτεμβρίου 2012 Δημοσ. 13 Σεπτεμβρίου 2012 γράψε άκυρο, σορρυ απλά είχα ένα κομάτι κώδικα στην Main που το προκαλούσε αυτό > int[] x = new int[2]; x[-1] = 1; System.out.print(x[-1]); λειτουργεί μια χαρά! σε ποιον τύπο μεταβλητής μπορούμε να έχουμε και αρνητικές θέσεις σε έναν πίνακα? δηλαδή να έχουμε στοιχεία και στο -1, -2...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα