• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 17:45:42 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.
June 17, 2025, 17:45:42 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πρακτική Άσκηση ΤΗΜΜΥ 201...
by asemas
[Today at 16:20:27]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 14:25:00]

Αντικατάστασης πυκνωτή σε...
by george14
[Today at 13:58:20]

Πότε θα βγει το μάθημα; -...
by tzortzis
[Today at 13:19:53]

Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426690
Total Topics: 31710
Online Today: 218
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 80
Guests: 127
Total: 207
jimalexoud
papatmaria
marilita
iJasonOP
theofr
mailon
Emilios
maestros
Christop
Βασιλης
alexandraskol
vaggelis.ntokas
k_tasio_
filon05
DimKaratzas
Sotirisbikos
vpoug
Elenit
prigians
Vaantoniadis
Captain
dkatsoul
Mardouk75
nikitask
eli_k
vajim
distillery
ariadnipm
evitzv
iliaskou
panapasc05
papakyrn
andripappa
skopsinos
sofaki
dkonst
dmoral
akiousia
Χρήστος Κίτσος
palladas
BossiTsif
kesha
kassamanwlhs
antontsiorvas
Ioannakoliou
george14
Evripidis
Juror8
Ioannis Apostolikas
apob
Δημητρης Αξιμιωτης
ThanosV
marwt
angiek
Kv
faidonchatz
glavdakis
stnanou
tzortzis
George_RT
geojohn
vasillikiiiiii
Kenedy
Gianbou
bit11
Saint_GR
afroditi
kchatziae
ggougous
johnderme5
vaiatyr
kvas
giannis g
Εμφάνιση

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

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα 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 10290 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...