gms20 Δημοσ. 14 Ιανουαρίου 2008 Δημοσ. 14 Ιανουαρίου 2008 Γειά σας παιδία έχω μια άσκηση και θα ήθελα σας παρακαλώ να της ρίξετε μια ματιά: > [b]Εκφώνηση[/b] Να κατασκευαστεί μια κλάση FeatureVector που αναπαριστά ένα διάνυσμα με ετικέτα π.χ. το (3.2, 9.6, 8.2) με ετικέτα “label1”. Η κλάση θα πρέπει να ορίζεται σύμφωνα με το παρακάτω υπόδειγμα. Ακολουθεί ημιτελές προσχέδιο της κλάσης το οποίο θα πρέπει να συμπληρώσετε τις μεθόδους που παρουσιάζονται με κόκκινο χρώμα. class FeatureVector { private double[] feature; // το τρέχον διάνυσμα private String label; // η ετικέτα του τρέχοντος διανύσματος public FeatureVector(int dimension) /* θα δημιουργεί ένα μηδενικό διάνυσμα – δηλαδή θα έχει όλες τις συνιστώσες του μηδέν – με πλήθος συνιστωσών dimension και label=”0” */ public FeatureVector(double[] feature, String label) /* θα δημιουργεί ένα νέο διάνυσμα με συνιστώσες τα στοιχεία του πίνακα feature και ετικέτα label */ public void setLabel(String label) /* θα θέτει νέα ετικέτα label στο τρέχον διάνυσμα */ public void setFeature(double value, int index) /* θα θέτει νέα τιμή value στη συνιστώσα που βρίσκεται στη θέση index του τρέχοντος διανύσματος*/ public double getFeature(int index) /* θα επιστρέφει την τιμή της συνιστώσας που βρίσκεται στη θέση index του τρέχοντος διανύσματος */ public double[] getVector() /* θα επιστρέφει τον πίνακα με τις συνιστώσες του τρέχοντος διανύσματος */ public String getLabel() /* θα επιστρέφει την ετικέτα του τρέχοντος διανύσματος */ public String toString() /* Θα επιστρέφει την αλφαριθμητική αναπαράσταση του διανύσματος. Οι συνιστώσες θα τυπώνονται η μια δίπλα στην άλλη με ένα κενό ανάμεσά τους και στο τέλος δεξιά μετά από ένα κενό θα τυπώνεται η ετικέτα του διανύσματος π.χ. 3.2 9.6 8.2 label1*/ public boolean equals(FeatureVector otherVector) /* Θα επιστρέφει true εάν το otherVector έχει ίδιο μήκος, τιμές συνιστωσών και ετικέτα με το τρέχον διάνυσμα*/ public double distanceEuclidean(FeatureVector otherVector) /* Θα επιστρέφει την Ευκλείδεια απόσταση του τρέχοντος διανύσματος από ένα άλλο διάνυσμα otherVector. Η ευκλείδεια απόσταση δυο διανυσμάτων v(v1, v2,…) και u(u1, u2,…) ορίζεται ως d(v,u) = sqrt( (v1-u1)^2 + (v2-u2)^2 + …), όπου sqrt η συνάρτηση της τετραγωνικής ρίζας. */ public double distanceManhattan(FeatureVector otherVector) /* Θα επιστρέφει την απόσταση Manhattan του τρέχοντος διανύσματος από ένα άλλο διάνυσμα otherVector. Η απόσταση Manhattan δυο διανυσμάτων v(v1, v2,…) και u(u1, u2,…) ορίζεται ως d(v,u) = abs(v1-u1) + abs(v2-u2) + …, όπου abs η συνάρτηση της απόλυτης τιμής. */ public double distanceIntersection(FeatureVector otherVector) /* Θα επιστρέφει την απόσταση Intersection του τρέχοντος διανύσματος από ένα άλλο διάνυσμα otherVector. Η απόσταση Intersection δυο διανυσμάτων v(v1, v2,…) και u(u1, u2,…) ορίζεται ως d(v,u) = min(v1,u1)+ min(v2,u2)+… όπου min μια συνάρτηση που επιστρέφει τη μικρότερη από τις δύο τιμές που δίνονται ως ορίσματά της.*/ public FeatureVector select(int[] selection) /* Θα επιστρέφει ένα διάνυσμα μικρότερο από το τρέχον διάνυσμα, το οποίο θα αποτελείται μόνο από τις συνιστώσες του τρέχοντος διανύσματος που έχουμε συμπληρώσει μέσα στον πίνακα selection. To νέο διάνυσμα που θα επιστρέφεται θα πρέπει να έχει την ίδια ετικέτα με το αρχικό. Π.χ. αν έχουμε το διάνυσμα v=(2.3, 4.2, 9.0, 8.3, 6.0) με ετικέτα “label1” τότε, η κλήση της u=v.select(x), όπου int[] x={2,4}, θα επιστρέψει ένα νέο διάνυσμα u΄=(9.0, 6.0) με ετικέτα “label1”. */ } Να κατασκευαστεί μια κλάση FeatureVectorFile η οποία θα αναπαριστά ένα αρχείο διανυσμάτων. Η κλάση θα πρέπει να ορίζεται σύμφωνα με το παρακάτω υπόδειγμα. class FeatureVectorFile { private String filename; public FeatureVectorFile(String filename) /* Δημιουργεί ένα νέο αντικείμενο της κλάσης FeatureVectorFile. */ public void writeText(FeatureVector[] vectors) /* Γράφει σε ένα αρχείο κειμένου με όνομα filename έναν πίνακα vectors που περιέχει ανύσματα (αντικείμενα της κλάσης FeatureVector). Θυμηθείτε ότι οι συνιστώσες των διανυσμάτων είναι τύπου double. */ public FeatureVector[] readText() /* Διαβάζει από ένα αρχείο κειμένου με όνομα filename έναν πίνακα διανυσμάτων vectors και τον επιστρέφει. Θυμηθείτε ότι οι συνιστώσες των διανυσμάτων είναι τύπου double. */ public void writeBinary(FeatureVector[] vectors) /* Γράφει σε ένα δυαδικό αρχείο με όνομα filename έναν πίνακα vectors που περιέχει ανύσματα (αντικείμενα της κλάσης FeatureVector). Θυμηθείτε ότι οι συνιστώσες των διανυσμάτων είναι τύπου double. Από κάθε διάνυσμα θα γράφονται πρώτα οι συνιστώσες του και μετά η ετικέτα του.*/ public FeatureVector[] readBinary() /* Διαβάζει από ένα δυαδικό αρχείο με όνομα filename έναν πίνακα διανυσμάτων vectors και τον επιστρέφει. Θυμηθείτε ότι οι συνιστώσες των διανυσμάτων είναι τύπου double. Από κάθε διάνυσμα θα διαβάζονται πρώτα οι συνιστώσες του και μετά η ετικέτα του. */ } καταρχήν, επειδή έχω ξεχάσει τα διανύσματα,τι ακριβώς θα κάνω???? και εντάξει,πες οτι θυμάμαι τα βασικά,πως θα τα χρησιμοποιήσω στη java! να ήταν σε c++ πάει στο καλό,κάτι θα έκανα,εδώ όμως τι κάνω?
gms20 Δημοσ. 14 Ιανουαρίου 2008 Μέλος Δημοσ. 14 Ιανουαρίου 2008 Παιδιά συγνώμη τωρα το παρατήρησα! Και ο φίλος "fire4way" εχει το ιδιο θέμα!ζητάω συγνώμη αν αυτό απαγορευεται!!! Μάλλον είμαστε συμφοιτητές.Τέλος πάντων,"συνάδερφε" θα ανταλλάξουμε και απόψεις!! (παλούκι η άσκηση)
Γηρυόνης Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 καταρχήν, επειδή έχω ξεχάσει τα διανύσματα,τι ακριβώς θα κάνω???? Θα κάτσεις και θα διαβάσεις. Άρχισε από εδώ: http://www.deitel.com/articles/java_tutorials/20051209/Vector.html http://java.sun.com/docs/books/tutorial/collections/interfaces/list.html
bokarinho Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 Γιατί η άσκηση φαίνεται απλή και σε εμένα που δεν γνωρίζω Java; Μερικές συναρτησούλες είναι να φτιάξεις, ειδικά κάποιες δεν θέλουν πάνω από 2-3 γραμμές κώδικα, μην πελαγώνετε...
gms20 Δημοσ. 15 Ιανουαρίου 2008 Μέλος Δημοσ. 15 Ιανουαρίου 2008 ρε,σας είπα εγώ να μου κάνετε την ασκηση?να με βοηθήσετε σας ζήτησα στα διανυσματα! έχω απο το λύκειο να κάνω διανύσματα! δε ζήτησα κάτι παραλογο! αλλα εσεις μη χασετε!αμεσως να μου ζητησετε λεφτα για να μου την κανετε,γυφτοι! απλα φοιτητης ειμαι και ζητησα βοηθεια! αλητες,εκμεταλλευτες!!!! Μη σώσω και την κάνω!!!!
bokarinho Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 Πρώτον χαλάρωσε, δεν ξέρω τι σε ώθησε να απαντήσεις έτσι, μπορεί και δικαιολογημένα. Δεν νομίζω ότι κάποιος θα κάτσει να σου κάνει την άσκηση, όχι ότι δεν έχει γίνει κατά καιρούς αλλά λέμε τώρα. Ποστάρεις όμως όλη την άσκηση σου και ζητάς μία γενική βοήθεια πάνω σε μία ολόκληρη άσκηση, νιώθω σαν να ζητάς να σου γίνει όλη η άσκηση με τον τρόπο που ποστάρεις το θέμα αλλά δεν είναι εκεί το θέμα. Μπορεί να μην ζητάς όλη την άσκηση, δείξε λοιπόν με κώδικα την προσπάθεια σου και τα παιδιά που γνωρίζουν Java, ίσως και εγώ αν καταλαβαίνω λίγα θα σε βοηθήσω. Τώρα αν κάποιος σου ζήτησε χρήματα για να σου κάνει την άσκηση είναι δικαίωμα του, όπως δικαίωμα σου είναι να ποστάρεις όλη την άσκηση στο forum και να ζητάς βοήθεια.
Directx Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 ρε,σας είπα εγώ να μου κάνετε την ασκηση?να με βοηθήσετε σας ζήτησα στα διανυσματα!έχω απο το λύκειο να κάνω διανύσματα! δε ζήτησα κάτι παραλογο! αλλα εσεις μη χασετε!αμεσως να μου ζητησετε λεφτα για να μου την κανετε,γυφτοι! απλα φοιτητης ειμαι και ζητησα βοηθεια! αλητες,εκμεταλλευτες!!!! Μη σώσω και την κάνω!!!! Που θα πάει .. όλο και κάποιος θα βρεθεί να στην κάνει δωρεάν ή να σε βοηθήσει (όπως μπορεί -εγώ ξέρω μόνο από C/C++), περίμενε λίγο, χθες την Postαρες σε ένα κάρο forums, υπομονη λοιπόν http://www.adslgr.com/forum/showthread.php?t=164765 http://experts.pathfinder.gr/index.php?view=12&question_id=50199 http://www.forums.gr/showthread.php?p=578238 http://www.technews.gr/modules/newbb/viewtopic.php?topic_id=3027&forum=36&post_id=14479 Υ.Γ. Ύστερα κορίτσι πράμα να βρίζεις έτσι .. τσ-τσ-τσ
bokarinho Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 Χα χα χα, κλασσικό φαινόμενο... Τελικά ίσως θα πρέπει να καταφύγεις σε άλλες λύσεις αν καίγεσαι όντως για την άσκηση που δεν το βλέπω. Τελευταία έχει γίνει και λίγο της μόδας αυτό το copy-paste σε ότι programming forum υπάρχει, ποτέ δεν ξέρεις μπορεί και να πιάνει το κόλπο στο τέλος. Συγχαρητήρια φίλε, keep up the good work. :lol: At DirectX: Σίγουρα τα βρήκες και είναι μόνο αυτά ή σου ξέφυγε κανένα;
djapal Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 At DirectX: Σίγουρα τα βρήκες και είναι μόνο αυτά ή σου ξέφυγε κανένα; http://www.google.com/search?q=%CE%9D%CE%B1+%CE%BA%CE%B1%CF%84%CE%B1%CF%83%CE%BA%CE%B5%CF%85%CE%B1%CF%83%CF%84%CE%B5%CE%AF+%CE%BC%CE%B9%CE%B1+%CE%BA%CE%BB%CE%AC%CF%83%CE%B7+FeatureVector&hl=el&lr=lang_el&client=opera&rls=en&hs=lh5&filter=0 Τουλάχιστον το google αυτά βγάζει :P
Directx Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 At DirectX: Σίγουρα τα βρήκες και είναι μόνο αυτά ή σου ξέφυγε κανένα; Μέχρι το βράδυ μπορεί να το Postάρει και αλλού - Κύριος (& Google ) είδε που ..
Γηρυόνης Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 ρε,σας είπα εγώ να μου κάνετε την ασκηση?να με βοηθήσετε σας ζήτησα στα διανυσματα!έχω απο το λύκειο να κάνω διανύσματα! δε ζήτησα κάτι παραλογο! αλλα εσεις μη χασετε!αμεσως να μου ζητησετε λεφτα για να μου την κανετε,γυφτοι! απλα φοιτητης ειμαι και ζητησα βοηθεια! αλητες,εκμεταλλευτες!!!! Μη σώσω και την κάνω!!!! Κατ' αρχήν χαλάρωσε, έκανες μία ερώτηση και σου απάντησα. Τώρα αν δε σου άρεσε η απάντησή μου αυτό είναι καθαρώς δικό σου πρόβλημα. Εγώ πάντως προσφέρθηκα. Κατά δεύτερον κανείς δε σου ζήτησε χρήματα για την άσκηση οπότε σταμάτα να έχεις εφιάλτες. Και κατά τρίτον είσαι τυχερός που ζεις σε μια χώρα που ανέχεται τους τεμπέληδες. Α, και κάτι άλλο, άλλη φορά αν θέλεις συγκεκριμένη βοήθεια να ρωτάς για συγκεκριμένα ζητήματα, σε συγκεκριμένο forum και όχι να καταχωρείς ολόκληρη την άσκηση κατεβατή σε 15 φόρουμς και όποιος φιλοτιμηθεί να την κάνει. Από ότι φαίνεται ψάχνεις για μαλάκες, όχι για βοήθεια.
bokarinho Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 Φίλε Γηρυόνη i cant agree more.... :mad:
Γηρυόνης Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 E ναι, αρκετά πια. Βρήκανε την εύκολη λύση· δεν ξέρω, ρωτάω σε ένα φόρουμ και όποιος ψαρώσει την λύνει ολόκληρη. Λες και η επίλυση μιας άσκησης δεν απαιτεί χρόνο και ο καθένας έχει αρκετό για να χαραμίζει σε παιδιαρίσματα.
dark_banishing Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 Το θέμα είναι ότι έχει γίνει της μόδας εδώ και πολύ καιρό. Εδώ βρέθηκαν δυο άτομα που πόσταραν την ίδια άσκηση. Είναι πολύ άσχημο να κοιτάς το forum του προγραμματισμού και να βλέπεις μόνο ασκήσεις που περιμένουν να λυθούν. Εμένα η απορία μου είναι καθηγητές-βοηθούς-συμφοιτητές δεν έχουν να ρωτήσουν; Δεν είναι δυνατόν με το που παίρνεις την άσκηση να την ποστάρεις στο ίντερνετ! Αναρωτιέμαι μήπως όπως στην ενότητα software υπάρχει η επιγραφή "Απαγορεύονται θέματα σχετικά με warez καθώς και η αναζήτηση serial και cracks προγραμμάτων" να μπει και εδώ μια αντίστοιχη.. Μην περιμένετε να σας λύσουν άλλοι τις ασκήσεις σας! Απλά ως προτροπή.
Super Moderators paredwse Δημοσ. 15 Ιανουαρίου 2008 Super Moderators Δημοσ. 15 Ιανουαρίου 2008 Εκτός από τεμπέλης, και αγνώμων. Τέλος.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.