• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
September 18, 2025, 22:35:47 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
September 18, 2025, 22:35:47 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Aναζωπύρωση των εχθροπραξ...
by Katarameno
[Today at 21:33:37]

Ποιον πάροχο να επιλέξω?
by Nikos_313
[Today at 20:41:30]

[Οπτική] Να επιλέξω το μά...
by Nikostrim
[Today at 05:05:26]

Ποιο τραγούδι ακούσατε 5+...
by Katarameno
[Today at 02:13:58]

Αστεία Βίντεο
by Katarameno
[Today at 00:38:19]

best username in THMMY.gr
by Katarameno
[September 17, 2025, 20:35:29 pm]

Αποτελέσματα Εξεταστικής ...
by ilazarit
[September 17, 2025, 19:59:41 pm]

[Τηλεπικοινωνιακά Συστήμα...
by chatzikys
[September 17, 2025, 16:07:13 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by sg31a
[September 17, 2025, 11:35:11 am]

Εργασία στην METLEN, Γνώμ...
by ChrisKaloy-Kakou
[September 17, 2025, 00:51:50 am]

Συμβάσεις και εταιρείες
by Nikos_313
[September 16, 2025, 23:02:05 pm]

[Στοχαστικά Σήματα και Δι...
by Nikos_313
[September 16, 2025, 22:54:08 pm]

Μέλος του μήνα - Ιούλιος ...
by Katarameno
[September 16, 2025, 19:37:40 pm]

Ευρωμπάσκετ 2025
by Katarameno
[September 16, 2025, 02:46:49 am]

Πότε θα βγει το μάθημα; -...
by Katarameno
[September 16, 2025, 01:08:33 am]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[September 15, 2025, 22:10:40 pm]

Users <=22 OR >=222
by Mr Watson
[September 14, 2025, 19:36:18 pm]

[ΑΡΑΓΕ Attack] ΝΑ ΕΠΙΣΤΡΕ...
by Aris★
[September 14, 2025, 14:31:33 pm]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[September 14, 2025, 13:29:36 pm]

Των συνειρμών το παίγνιο....
by chatzikys
[September 14, 2025, 13:20:18 pm]
Στατιστικά
Members
Total Members: 10014
Latest: Jimana
Stats
Total Posts: 1428154
Total Topics: 31767
Online Today: 661
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 36
Guests: 358
Total: 394
gkaramp
gpap
kvas
chaniotism
hevidis3524
chris123
Papalamprous humor
Guts
jim_sklab
Saint_GR
George_RT
maestros
qwertyuiop
tpt
Marihouan820
cmpillis
HlektrikhPatata
ggalamat
malogeor
bsp
Billyskotsikas
anastasis34
vasillikiiiiii
vterz
Sotirisbikos
ANTREAS
arispetr
sassi
thomasdt
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πληροφορίες Καθηγητών
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] 5η Εργασια 2009
0 Members and 1 Guest are viewing this topic.
Pages: 1 [2] 3 4 ... 6 Go Down Print
Author Topic: [C++] 5η Εργασια 2009  (Read 11435 times)
Indy
Θαμώνας
****
Gender: Male
Posts: 367


View Profile WWW
Re: [C++] 5η Εργασια 2009
« Reply #15 on: November 16, 2009, 18:47:56 pm »

Ναι, βάζουμε ένα τυχαίο x π.χ. το [0 0 ... 0]
Logged

Programs must be written for people to read, and only incidentally for machines to execute.
foulis
Νεούλης/Νεούλα
*
Posts: 49


View Profile
Re: [C++] 5η Εργασια 2009
« Reply #16 on: November 18, 2009, 20:34:01 pm »

ξέρει κανένας πως γινεται αυτο?

"Στην κλάση να οριστεί μια επικάλυψη του τελεστή [ ] τέτοια ώστε η έκφραση a[ i ] [ j ]  , όπου a αντικείμενο τύπου matrix, να επιστρέφει την τιμή του στοιχείου του πίνακα που ορίζει το αντικείμενο a και το οποίο βρίσκεται στην i γραμμή και στην j στήλη του πίνακα."


float operator[ ][ ](int i,int j);      <-- η αρχική ιδέα μου αλλά είναι λάθος


edit1:μετα απο το κατω post και ψαξιμο
http://www.thmmy.gr/smf/index.php?topic=27849.75
ευχαριστω billakos
« Last Edit: November 18, 2009, 21:01:49 pm by foulis » Logged
billakos
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2270



View Profile
Re: [C++] 5η Εργασια 2009
« Reply #17 on: November 18, 2009, 20:37:54 pm »

δεν θυμαμαι ακριβως αλλα αν δεις παλιοτερα τοπικ εχει ξαναειπωθει...περσυ θυμαμαι ειχε γίνει μεγάλη συζητηση..και το βιβλιο σε ενα σημειο νομιζω κατι γραφει για τον συγκεκριμενο τελεστή    Wink
Logged

για σημειώσεις μαθημάτων      http://users.auth.gr/valexiad      http://www.thmmy.gr/smf/index.php?topic=34410.0 

νυστααα λεμε...
kgiann78
Guest
Re: [C++] 5η Εργασια 2009
« Reply #18 on: November 19, 2009, 20:12:49 pm »

Ρε σεις το ψάχνω και γω αλλά δεν βρίσκω κάτι σχετικό που να έχει overloading operator με διπλό [] (αυτό το [][] δηλαδή...)
 Καθώς έψαχνα στο internet έπεσα σε καποιους που έλεγαν ότι είναι προτιμότερο να χρησιμοποιούμε το () παρά το [][]...

Στο () μπορείς να δώσεις δυο ορίσματα και να κάνεις την δουλειά σου...

πχ..  int Matrix::operator () (int a, int b) {
            return pinakas[ a ] [ b ];
        }
 
τόσο απλά... ενώ με τον τελεστή [] χρειάζεται οπωσδήποτε κάθε τελεστής το δικό του όρισμα.... Τώρα πως θα γίνει αυτό.... βλέπουμε

Αν βρείτε τίποτα ρίχτε το στη φωτιά....
Logged
il capitano
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 4090


Verona Rulez - aua


View Profile
Re: [C++] 5η Εργασια 2009
« Reply #19 on: November 19, 2009, 20:20:45 pm »

Το θεμα ειναι οτι πρεπει να επιστρεφει float. Αν δεν το ελεγε ειχα κατι στα υπ'οψιν αλλα  lips_sealed lips_sealed lips_sealed
Logged

Η βραζιλιανικη μουσικη ειναι αντικαταστατικη γιατι χορευεται σε παραλιες
οι παραλιες εχουν αμμο
που αποτελειται απο πυριτιο
που προερχεται απο την λεξη πυρ
εκ'του οποιου αναγενναται ο φοινικας
γνωστο συμβολο της χουντας των Συνταγματαρχων
Αντ'αυτου το καταστατικο απαγορευει καθε φασιστικη οργανωση!!!!!

Quote from: γνωστός μελισσοκόμος on October 28, 2010, 03:09:57 am
ΑΣΑ, ΟΥΙΣΚΙ ΚΑΙ ΑΙΡΟΝ ΜΕΗΝΤΕΝ ΔΙΣΚΟΙ
Peace
kgiann78
Guest
Re: [C++] 5η Εργασια 2009
« Reply #20 on: November 19, 2009, 20:59:08 pm »

float ε? Θεωρούσα ότι κάτι σε integer θα ήθελε... Πάλι καλά....

Τελικά ήταν πιο εύκολο απ' ότι πίστευα!

int * Matrix::operator [](int k){
   return value[(k)];
}

βέβαια το int είναι γιατί νόμιζα ότι θα έβγαζε ιντ αλλά δεν πειράζει... Το αλλάζουμε αυτό...

Μόνο μια παρατήρηση... Για να μου δουλέψει σωστά, δηλαδή όταν δίνεις
Logged
il capitano
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 4090


Verona Rulez - aua


View Profile
Re: [C++] 5η Εργασια 2009
« Reply #21 on: November 19, 2009, 21:04:48 pm »

Δεν σε πιανω...

Η value να φανταστω ειναι ο πινακας της κλασης...

Γιατι γινεται αυτο με την παρενθεση?
Logged

Η βραζιλιανικη μουσικη ειναι αντικαταστατικη γιατι χορευεται σε παραλιες
οι παραλιες εχουν αμμο
που αποτελειται απο πυριτιο
που προερχεται απο την λεξη πυρ
εκ'του οποιου αναγενναται ο φοινικας
γνωστο συμβολο της χουντας των Συνταγματαρχων
Αντ'αυτου το καταστατικο απαγορευει καθε φασιστικη οργανωση!!!!!

Quote from: γνωστός μελισσοκόμος on October 28, 2010, 03:09:57 am
ΑΣΑ, ΟΥΙΣΚΙ ΚΑΙ ΑΙΡΟΝ ΜΕΗΝΤΕΝ ΔΙΣΚΟΙ
Peace
kgiann78
Guest
Re: [C++] 5η Εργασια 2009
« Reply #22 on: November 19, 2009, 21:48:01 pm »

xmmm η value είναι ας πούμε η τιμήτου εκάστοτε στοιχείου του πίνακα... βλέπε float **value;
Logged
frou_ira
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 540


Smart enough to be an ΗΜΜΥ??


View Profile
Re: [C++] 5η Εργασια 2009
« Reply #23 on: November 20, 2009, 17:48:08 pm »

Μία πολυ απλη ερωτηση: Πως διαβάσατε τα στοιχεία του πίνακα b;Η εκφώνηση λέει να κάνουμε όλα τα άλλα εκτός από το πώς να τα διαβάζουμε.Δε λέει τίποτα για αρχικών συνθηκών.Αν τα διαβάσω από τη main δεν θα μπερδευτεί με την επικάλυψη του [ ] που έχουμε κάνει στην κλάση vector;
Logged

"Η τεχνητή νοημοσύνη δεν μπορεί να κερδίσει τη φυσική ηλιθιότητα"
kgiann78
Guest
Re: [C++] 5η Εργασια 2009
« Reply #24 on: November 21, 2009, 12:20:46 pm »

Quote from: frou_ira on November 20, 2009, 17:48:08 pm
Μία πολυ απλη ερωτηση: Πως διαβάσατε τα στοιχεία του πίνακα b;Η εκφώνηση λέει να κάνουμε όλα τα άλλα εκτός από το πώς να τα διαβάζουμε.Δε λέει τίποτα για αρχικών συνθηκών.Αν τα διαβάσω από τη main δεν θα μπερδευτεί με την επικάλυψη του [ ] που έχουμε κάνει στην κλάση vector;

Εγώ για να μη μπαίνω σε τέτοια διαδικασία έφτιαξα μια συνάρτηση (στη Vector) που να δίνω τιμές. Έτσι την καλώ στη main στο στοιχείο τύπου vector που θέλω να γεμίσω (με τιμές).

Πάντως θα πρέπει να φτιάξουμε συνθήκες αρχικοποίησης γιατί τις χρειάζεται... πχ έστω όπως λέει η άσκηση θέλει:

 d = a , όπου d vector και a matrix... Φυσικά ο τελεστής επικάλυψης = δεν μπορεί να κάνει απευθείας και τη δήλωση της d που σημαίνει ότι πιο πρίν θα πρέπει να έχουμε πει ότι το d είναι τυπου Vector, δηλαδή:

Vector d;
d = a;

Αν δεν κάνω συνθήκη αρχικοποίησης για το Vector τότε ο compiler μου χτυπάει...
Χρησιμοποιώ βέβαια 2 editors-compilers, Xcode στο macbook μου, και codeblocks στα windows.... Τη συγκεκριμένη συμπεριφορά τη βγάζει το codeblocks.... Στο Xcode δεν πρόλαβα να τη δοκιμάσω....

Logged
Κάρβουνο
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1593


Πρόεδρας.


View Profile
Re: [C++] 5η Εργασια 2009
« Reply #25 on: November 26, 2009, 15:48:48 pm »

Η άσκηση θέλει να δημιουργήσουμε την κλάσση vector ή να χρησιμοποιήσουμε με include την έτοιμη κλασση που υπάρχει στη C++ (<vector>);
Logged

Για κήνσορα τάξεων/αριστερών πεποιθήσεων απευθυνθείτε στον Μανωλάκη.
Για ορθογραφία στον Άπλυτο.

Guest    22:15:25    Viewing Κάρβουνο's profile. (11.3.11)
Ποιός με κατασκοπεύει;
il capitano
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 4090


Verona Rulez - aua


View Profile
Re: [C++] 5η Εργασια 2009
« Reply #26 on: November 26, 2009, 17:54:41 pm »

Quote from: karvouno on November 26, 2009, 15:48:48 pm
Η άσκηση θέλει να δημιουργήσουμε την κλάσση vector ή να χρησιμοποιήσουμε με include την έτοιμη κλασση που υπάρχει στη C++ (<vector>);

Μπα θελει να δημιουργησεις την κλαση vector απο μονος σου....

Δηλαδη πιστευες οτι με ενα απλο include ειχες ξεμπερδεψει Roll Eyes
« Last Edit: November 26, 2009, 18:43:32 pm by il capitano » Logged

Η βραζιλιανικη μουσικη ειναι αντικαταστατικη γιατι χορευεται σε παραλιες
οι παραλιες εχουν αμμο
που αποτελειται απο πυριτιο
που προερχεται απο την λεξη πυρ
εκ'του οποιου αναγενναται ο φοινικας
γνωστο συμβολο της χουντας των Συνταγματαρχων
Αντ'αυτου το καταστατικο απαγορευει καθε φασιστικη οργανωση!!!!!

Quote from: γνωστός μελισσοκόμος on October 28, 2010, 03:09:57 am
ΑΣΑ, ΟΥΙΣΚΙ ΚΑΙ ΑΙΡΟΝ ΜΕΗΝΤΕΝ ΔΙΣΚΟΙ
Peace
Κάρβουνο
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1593


Πρόεδρας.


View Profile
Re: [C++] 5η Εργασια 2009
« Reply #27 on: November 26, 2009, 17:55:32 pm »

<censored>
Logged

Για κήνσορα τάξεων/αριστερών πεποιθήσεων απευθυνθείτε στον Μανωλάκη.
Για ορθογραφία στον Άπλυτο.

Guest    22:15:25    Viewing Κάρβουνο's profile. (11.3.11)
Ποιός με κατασκοπεύει;
tourb3x
Ανερχόμενος/Ανερχόμενη
**
Posts: 91

Είμαι ηλεκτρολόγος, συμβαίνει κάτι;


View Profile
Re: [C++] 5η Εργασια 2009
« Reply #28 on: November 26, 2009, 18:38:54 pm »

Quote from: koureas on November 19, 2009, 20:59:08 pm
Μόνο μια παρατήρηση... Για να μου δουλέψει σωστά, δηλαδή όταν δίνεις

Καλά αυτό είναι λάθος πρακτική. Στην C/C++ όταν δηλώνεις έναν πίνακα του λες πόσα στοιχεία έχει ο πίνακας και αυτά είναι αριθμημένα απο το 0 μέχρι το Ν-1, όπου Ν το πλήθος των στοιχείων του πίνακα.
πχ

int A[10];

A[0] = 1;
A[9] = 2;
A[10] = 3; // Βλακεία. Ξεπερασες τα ορια του πίνακα και κάνεις corrupt το stack.

Καλύτερα να αλλάξεις την συνάρτηση που κάνεις επικάλυψη για τον operator [] ώστε να σου επιστρέφει το i-1 στοιχείο του πίνακα. Έτσι οι κλήσεις Matrix [10]  θα επιστρέφει το στοιχείο που βρίσκεται στη θέση 9 και που στην πραγματικότητα είναι το 10ο στοιχείο (αφού το πρώτο είναι στη θέση 0).

(Βέβαια στη δισδιάστατη περίπτωση, θα έχεις πρόβλημα γιατι θα έπρεπε να κανεις overload και τον global operator[](float*,int) κάτι που δεν επιτρέπεται.)

Το πιο εύκολο είναι να δηλώσεις τον πίνακά σου με 1 παραπανήσιο στοιχείο έτσι ώστε το M[1][2] να δίνει αυτό που θες (1η γραμμή, 2η στήλη παρόλο που στην πραγματικότητα θα είναι 2η γραμμή 3η στήλη).

Αυτό που ήθελα να τονίσω είναι οτι θέλει προσοχή στην προσπέλαση της μνήμης, σύμφωνα με τα όρια του πίνακα. Απο κει και πέρα κάνεις οτι θες.
« Last Edit: November 26, 2009, 18:52:25 pm by tourb3x » Logged
4Dcube
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 9068


just.do.it.cut.carrots.


View Profile
Re: [C++] 5η Εργασια 2009
« Reply #29 on: November 26, 2009, 19:54:03 pm »

Για να κάνετε overload 2D array (hint->google the words) πρέπει να γίνει διπλό overload, επειδή ο τελεστής [] δέχεται ως επικάλυψη μόνο ένα όρισμα.

Για να γίνει αυτό, χρειάζεται ένα προσωρινό αντικείμενο. Γιατί μετά την πρώτη επικάλυψη για το i στοιχείο, αυτό που επιστρέφεται είναι ένα αντικείμενο. Κατόπιν κάνουμε επικάλυψη [] και σε αυτό για το j στοιχείο.

Μόνο που επιστρέφουμε το i-1, j-1 , όπως πρότεινε ο tourb3x
Logged

https://www.youtube.com/watch?v=6CAzdawCzhg
Pages: 1 [2] 3 4 ... 6 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...