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

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 18, 2025, 02:12:24 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 00:45:33]

[Μεταφορά και Διανομή ΗΕ]...
by Nikos_313
[Today at 00:10:29]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
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 _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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426704
Total Topics: 31710
Online Today: 215
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 21
Guests: 155
Total: 176
george pap
aafroditi
Joannapet
aplos paratiritis
melisste22
ioannisdamantis
Tsomp
Anton Pozov
teosimeon
Kazi
thomasdt
elias_farhood
Theislander
mimaki
Bit4Thought
tasos gourd
PolarBear
mitsos753905
Sanaia
Εμφάνιση

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

Νέα!
Για αλλαγή του public name σας, επικοινωνήστε με έναν από τους Admins.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] 4η εργασία 2008
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 10 Go Down Print
Author Topic: [C++] 4η εργασία 2008  (Read 14869 times)
zeus90
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 810



View Profile WWW
[C++] 4η εργασία 2008
« on: November 12, 2008, 13:52:50 pm »

 ΕΡΓΑΣΙΑ D Επικάλυψη τελεστών (Hμ/νία λήξης δηλώσεων: 17/11/2008)

Εργασία D

Να γραφεί το λογισμικό στο οποίο να ορίζεται η κλάση f_matrix η οποία υλοποιεί ένα πίνακα δύο διαστάσεων. Στην κλάση να ορίζεται ένας pointer σε pointer σε στοιχεία τύπου float και η κλάση να διαθέτει μια συνάρτηση αρχικών συνθηκών η οποία να δέχεται ως ορίσματα τις διαστάσεις του πίνακα και να δεσμεύει δυναμικά μνήμη για την καταχώριση των στοιχείων του πίνακα τη διεύθυνση του οποίου να αποδίδει ως τιμή στον pointer.

Ως μέλη τις κλάσης να ορίζονται:

α) Μια επικάλυψη του τελεστή [ ] τέτοια ώστε η έκφραση a[ i ] [ j ], όπου a αντικείμενο στον τύπο της κλάσης, να επιστρέφει την τιμή του στοιχείου του πίνακα που βρίσκεται στη θέσει i,j.

β) Μια επικάλυψη του τελεστή + τέτοια ώστε η έκφραση a+b, όπου a και b αντικείμενα στον τύπο της κλάσης, να επιστρέφει ένα αντικείμενο του ίδιου τύπου ο πίνακας του οποίου να περιέχει το άθροισμα των πινάκων των αντικειμένων a και b.

γ) Μια επικάλυψη του τελεστή * τέτοια ώστε η έκφραση a*b, όπου a και b αντικείμενα στον τύπο της κλάσης, να επιστρέφει ένα αντικείμενο του ίδιου τύπου ο πίνακας του οποίου να περιέχει το γινόμενο των πινάκων των αντικειμένων a και b.

δ) Μια επικάλυψη του τελεστή ~ τέτοια ώστε η έκφραση ~a, όπου a αντικείμενο στον τύπο της κλάσης, να επιστρέφει τον ανάστροφο πίνακα του αντικειμένου a.

ε) Μια επικάλυψη του τελεστή = τέτοια ώστε η έκφραση a=b, όπου a και b αντικείμενα στον τύπο της κλάσης, να καταχωρεί ως τιμές για τα στοιχεία του πίνακα του αντικειμένου a τις τιμές των αντίστοιχων στοιχείων του πίνακα του αντικειμένου b.

Ως εφαρμογή η συνάρτηση main του προγράμματος να ορίζει τα αντικείμενα a,b και c στον τύπο της κλάσης f_matrix δίνοντας τις κατάλληλες διαστάσεις και χρησιμοποιώντας τις επικαλύψεις των τελεστών, να υπολογίζει και να εκτυπώνει τον πίνακα του αντικειμένου m που θα προκύψει από την έκφραση m=~(a*b+c).

 

Σημείωση: Στη συνάρτηση main για την ανάγνωση των τιμών των στοιχείων των πινάκων καθώς και για την εκτύπωσή τους να χρησιμοποιείται η επικάλυψη του τελεστή [ ].

Για τη διευκόλυνση σας  να μη χρησιμοποιήσετε συναρτήσεις τελικών συνθηκών για την αποδέσμευση της μνήμης που δεσμεύτηκε δυναμικά
« Last Edit: November 14, 2008, 17:22:43 pm by zeus90 » Logged

“Έμαθα πως όταν κάποιος σκαρφαλώσει στην κορυφή ενός ψηλού λόφου, το μόνο που διαπιστώνει είναι πως πρέπει να σκαρφαλώσει σε πολλούς λόφους ακόμα..."
status_quo
Καταξιωμένος/Καταξιωμένη
***
Posts: 272



View Profile
Re: [C++] 4η εργασία
« Reply #1 on: November 12, 2008, 15:20:34 pm »

να ρωτήξω αυτό το επικάλυψη τελεστών αναφέρεται στο υπερφόρτωση τελεστών που λέει στο βιβλίο?γτ είμαι ολίγον τι άσχετη...έχω να παρακολουθήσω πολύ καιρό... Roll Eyes
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [C++] 4η εργασία
« Reply #2 on: November 12, 2008, 15:22:03 pm »

Quote from: status_quo on November 12, 2008, 15:20:34 pm
να ρωτήξω αυτό το επικάλυψη τελεστών αναφέρεται στο υπερφόρτωση τελεστών που λέει στο βιβλίο?γτ είμαι ολίγον τι άσχετη...έχω να παρακολουθήσω πολύ καιρό... Roll Eyes
΄

Ναι σε αυτό αναφέρεται
Logged
status_quo
Καταξιωμένος/Καταξιωμένη
***
Posts: 272



View Profile
Re: [C++] 4η εργασία
« Reply #3 on: November 12, 2008, 15:24:47 pm »

εντ'αξει λοιπόν!ευχαριστώ πολύ!πάω να το διαβάσω κι ας ελπίσουμε να επανέλθω με κανένα αξιοπρεπές κομμάτι κώδικα...
Logged
λήθη
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1935



View Profile
Re: [C++] 4η εργασία
« Reply #4 on: November 12, 2008, 21:26:05 pm »

Fistfucked by []..


Μα καλα..γιατι να το θελει με [][]?

Η υπερφορτωση με τον τελεστη () ειναι πολυ πιο ευκολη και στην υπολοιηση, και στη  γραφη..




α

532
Logged
Grecs
Καταστραμμένος
********
Gender: Male
Posts: 6379


Lived in the air died on asphalt


View Profile
Re: [C++] 4η εργασία
« Reply #5 on: November 12, 2008, 21:31:44 pm »

καλα παω να διαβασω γραμμικη αλγεβρα
Logged

"I wish punk, pizza, coke, and skateboarding could be combined into one thing that I could taste, look at or play with."
status_quo
Καταξιωμένος/Καταξιωμένη
***
Posts: 272



View Profile
Re: [C++] 4η εργασία 2008
« Reply #6 on: November 12, 2008, 22:04:28 pm »

Code:
class f_matrix
{ float **mat;
  public:
         f_matrix(int k,int m);
        
         f_matrix operator[](int i,int j){return mat[i][j];}
         f_matrix operator+(f_matrix op2);
         f_matrix operator*(f_matrix op2);
         f_matrix operator~(f_matrix op2);
         f_matrix operator=(f_matrix op2);
};

//Yperfortosi telesti +
f_matrix f_matrix::operator+(f_matrix op2)
{
     f_matrix temp;
     int i,j;
     for(i=0;i<k;i++){
                      for(j=0;j<m;j++){
                                       temp[i][j]=mat[i][j]+op2[i][j];
                                    }
                      }
}
ξέρω έχω κάνει ότι να'ναι αλλά στο βιβλίο δε δείχνει για διδιάστατο πως θα το κάνουμε...

επίσης μέσα στο βιβλίο γράφει:

class three_d{
 int x,y,z;
 public:
          ....
          three_d operator+(three_d op2);
};
three_d three_d::opertaor+(three_d op2)
{three_d temp;
 
  temp.x=x+op2.x;
  ....}

αυτά με τα bold δε τα 'πιασα... confused
Logged
λήθη
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1935



View Profile
Re: [C++] 4η εργασία 2008
« Reply #7 on: November 12, 2008, 22:13:17 pm »

Τα εξηγει λιγο πιο μετα τα bold..


H idea ειναι οτι χρησιμοποιεις ενα βοηθητικο αντικειμενο, το temp, τυπου tree_d
το οποιο επιστρεφεις γιατι δε θες να αλλαξεις τα op1, op2.

Το x ανηκει στο αντικειμενο αριστερα του + πχ και αυτο στα δεξια ειναι το op2

Ο τελεστης this λεει εννοειται οποτε εχει x αντι για this->x



α

535
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [C++] 4η εργασία 2008
« Reply #8 on: November 12, 2008, 22:20:08 pm »

Quote from: status_quo on November 12, 2008, 22:04:28 pm
Code:
class f_matrix
{ float **mat;
  public:
         f_matrix(int k,int m);
        
         f_matrix operator[](int i,int j){return mat[i][j];}
         f_matrix operator+(f_matrix op2);
         f_matrix operator*(f_matrix op2);
         f_matrix operator~(f_matrix op2);
         f_matrix operator=(f_matrix op2);
};

//Yperfortosi telesti +
f_matrix f_matrix::operator+(f_matrix op2)
{
     f_matrix temp;
     int i,j;
     for(i=0;i<k;i++){
                      for(j=0;j<m;j++){
                                       temp[i][j]=mat[i][j]+op2[i][j];
                                    }
                      }
}
ξέρω έχω κάνει ότι να'ναι αλλά στο βιβλίο δε δείχνει για διδιάστατο πως θα το κάνουμε...



edit: το operator[] το έχεις λάθος , θα βγάλει σφάλμα ότι θέλει να βάλεις ένα όρισμα  (δλδ 2 μαζί με την κλάση)
« Last Edit: November 12, 2008, 22:29:37 pm by Emfanever » Logged
status_quo
Καταξιωμένος/Καταξιωμένη
***
Posts: 272



View Profile
Re: [C++] 4η εργασία 2008
« Reply #9 on: November 12, 2008, 22:22:18 pm »

αλήθεια???οοοοοοο χαιρομαι χαιρομαι!
 Hello Hello Hello
ευχαριστώωωωωωωω
Logged
ILIAS
Θαμώνας
****
Gender: Male
Posts: 312



View Profile
Re: [C++] 4η εργασία 2008
« Reply #10 on: November 12, 2008, 22:24:33 pm »

Εγώ να διαφωνήσω λίγο με το f_matrix[](inti,int j){ return mat[j];}
1oν:δεν μπορούμε να επιστέψουμε τύπου float σε τύπου f_matrix.;Έτσι νομίζω Huh
2oν:ο dev μου λέει ότι ο τελεστής μπορεί να δεχτεί μόνο ένα όρισμα.

Και μία απορία¨ανάγνωση εννοεί εισαγωγή δεδομένων; Embarrassed
Logged
status_quo
Καταξιωμένος/Καταξιωμένη
***
Posts: 272



View Profile
Re: [C++] 4η εργασία 2008
« Reply #11 on: November 12, 2008, 22:25:49 pm »

Quote from: Emfanever on November 12, 2008, 22:20:08 pm
Quote from: status_quo on November 12, 2008, 22:04:28 pm
edit: το operator[] το έχεις λάθος , θα βγάλει σφάλμα ότι θέλει να βάλεις ένα όρισμα  (δλδ 2 μαζί με την κλάση)
χμμμμ αν βάλω
Code:
f_matrix operator[][](int i,int j){return mat[i][j];}
? Roll Eyes
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [C++] 4η εργασία 2008
« Reply #12 on: November 12, 2008, 22:28:52 pm »

Quote from: status_quo on November 12, 2008, 22:22:18 pm
αλήθεια???οοοοοοο χαιρομαι χαιρομαι!
 Hello Hello Hello
ευχαριστώωωωωωωω

Σορρυ , το είδα γρήγορα, έχεις λάθη τλκα! θα σου στείλω πμ
Logged
ILIAS
Θαμώνας
****
Gender: Male
Posts: 312



View Profile
Re: [C++] 4η εργασία 2008
« Reply #13 on: November 12, 2008, 22:30:46 pm »

Και μία απορία¨ανάγνωση εννοεί εισαγωγή δεδομένων;
Logged
Emfanever
Καταστραμμένος
********
Gender: Male
Posts: 5284


Πολίτης


View Profile
Re: [C++] 4η εργασία 2008
« Reply #14 on: November 12, 2008, 22:33:58 pm »

Quote from: ILIAS on November 12, 2008, 22:30:46 pm
Και μία απορία¨ανάγνωση εννοεί εισαγωγή δεδομένων;
Μάλλον ναι
Logged
Pages: [1] 2 3 ... 10 Go Up Print
Jump to:  

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