Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

σταματήστε ρε τρολλερς,

 

δεν έχει σημασία, μας νοιάζει αν είναι αγόρι ή κορίτσι? (μπα)

 

αυτό που θέλω να πω στην τριπλή μερυ είναι ότι το καλό με αυτές τις ασκήσεις (πολλαπλής) είναι ότι σε βοηθάει πολύ να θυμηθείς, το κακό είναι (αυτό που συμβαίνει με σένα) ότι αν δεν ξέρεις τίποτα, αν δεν ξέρεις τα βασικά τότε δεν μπορείς να κάνεις τίποτα

 

δεν μπορείς να τα μάθεις παπαγαλία, πρέπει να καταλάβεις τον κώδικα, άντε ωραία στα έλυσα εγώ, so what? στην εξεταστική αυτή θα πέσουν στο περίπου ίδιο στυλ και φυσικά με άλλα νούμερα!!!!

 

ΥΓ : συνήθως πόσες ερωτήσεις βάζει σε κάθε εξεταστική γιατί μου φαίνονται αρκετά για 2 ώρες, άσε που στο τέλος έχει να φτιάξεις και μια συνάρτηση (αν και μικρή) ??

Δημοσ.

 

 

Σελίδα 25:

 

 

ΔΙΑΦΑΝΕΙΑ - ΑΞΙΟΚΑΡΤΙΑ - ΙΣΟΝΟΜΙΑ

 

Αυτές τις αρχές διεκδικούμε, με αυτές τις αρχές πορευόμαστε...

 

Είστε πιο gtp απ' όσο μπορεί να περιγράψει ακόμα και ο Χελάκης. Ευτυχώς το επίπεδο του ανταγωνισμού που έχετε δεν είναι τέτοιο που να σας δημιουργεί πρόβλημα.

 

 

  • Like 1
Δημοσ.

αν κοιταξεις τα θεματα του 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 ??? :P

Δημοσ. (επεξεργασμένο)

Δε βγάζει νόημα, όχι.

 

>
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);

 

Επέλεξα να κάνω τους ελέγχους από το τέλος προς την αρχή γιατί έτσι βολεύει καλύτερα.

Επεξ/σία από defacer
Δημοσ.

αν κοιταξεις τα θεματα του 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 ??? :P

 

τι μαθαίνει κανείς, το ξέρατε ότι

4 != 5 &

4 < 5 &

5 > 4

 

΄;;

Δημοσ.

χαχαχαχαχαχ!! σορρυ παιδια!! το ξερω ειμαι παντελως ασχετη!!

defacer η εντολη αυτη else if (a1_pos < 0) return true;

σημαινει οτι αν δοθει αρνητικο μηκος να επιστρεψει true?? ή εγω καταλαβα λαθος??

Δημοσ.

Κατ' αρχήν το a1_pos δεν αντιπροσωπεύει μήκος όπως φαίνεται και από το όνομα της μεταβλητής (άσχετα αν στην πρώτη κλήση τυχαίνει να έχει "σχετική" με το μήκος τιμή).

 

Δεύτερον η συνάρτηση εφόσον υποτίθεται ότι δουλεύει θα πρέπει να έχει τουλάχιστον ένα υπο συνθήκη return true και αντίστοιχα ένα return false. Είναι προφανές ότι το return true αντιπροσωπεύει το ότι οι πίνακες είναι ίδιοι σύμφωνα με το κριτήριο της εκφώνησης.

 

Εφόσον επέλεξα να συγκρίνω από το τέλος προς την αρχή και στην πρώτη διαφορά επιστρέφω false, το να μου ζητήσεις να συγκρίνω το στοιχείο -1 των πινάκων σημαίνει πως όλα τα προηγούμενα (δηλαδή όλα) τα συγκρίναμε ήδη και ήταν ίδια. Άρα οι δύο πίνακες είναι τελείως ίδιοι. Άρα return true.

Δημοσ.

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);

Δημοσ.

Και στο αμέσως επόμενο call θα είναι a1_pos < 0 και θα επιστρέψει true.

 

Δεν καταλαβαίνω τι προσπαθείς να πεις. Το γεγονός ότι ο κώδικας που παραθέτεις εκεί που λες για τον έλεγχο δεν έχει καμία σχέση με τον δικό μου δε βοηθάει.

 

http://ideone.com/CB5rk

Δημοσ.

--------------------------------------------------------------

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

Δημοσ.

Και στο αμέσως επόμενο 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

 

 

 

Δημοσ.

Ρε συ IHateLove κάνε μια μικρή προσπάθεια να βγάζουν κάποιο νόημα αυτά που γράφεις. Μέχρι το exception δεν κατάλαβα τίποτα. Το exception από την άλλη δεν το δίνει ο δικός μου κώδικας (το link στο ideone δουλεύει μια χαρά) επομένως σε ποιό κώδικα αναφέρεται?

Δημοσ.

γράψε άκυρο, σορρυ απλά είχα ένα κομάτι κώδικα στην Main που το προκαλούσε αυτό

 

>
 int[] x = new int[2];
 x[-1] = 1;
 System.out.print(x[-1]);

 

λειτουργεί μια χαρά!

 

σε ποιον τύπο μεταβλητής μπορούμε να έχουμε και αρνητικές θέσεις σε έναν πίνακα? δηλαδή να έχουμε στοιχεία και στο -1, -2...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...