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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[Today at 20:59:13]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 19:46:54]

Ισραήλ - Ιράν: Πόλεμος στ...
by Yamal
[Today at 19:07:04]

[Γραφική] Λυμένα θέματα
by okanpala
[Today at 18:56:22]

Τι ακούτε αυτήν τη στιγμή...
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 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]

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

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426695
Total Topics: 31710
Online Today: 242
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 63
Guests: 140
Total: 203
unreasonable
tasos potsakis
Don Corleone
ichariti
vasilikitsatsi
George15
tsageo
Pakapis5
Papadopoulosthanos
ntina
PAPARI69
christina02
Anastasiam
qwertyuiop
Δημητρης Αξιμιωτης
sotolagg
Phlikon
ganasto
tsakalokagkouras
alextsigilis
Zaxarenia
geo66
JoHn!
giorgosss03
Αριστειδης Κατσικεας
Aria10
Fotis Roukoutakis
ant2946
kostas1507
Captain
spoun
ipapadog
Sotiris_atha
Napoleontas
smanio
parispoll
vaggos
gntitsios
Dimikioup
aachmet
mdimitrig
Athinaaz
HlektrikhPatata
mgrivab
Nikospneumatikos
Gray139
chrismzag
gianniss
mark
stefpapa21
alexlemp
Chrisvb17
nikos123321
tasos_ntv
melisste22
Kaniki
thanoswyd
koulikas
dimitrisblioumis
Annapar
msandr
Εμφάνιση

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

Νέα!
  Όταν ανεβάζουμε φωτογραφίες στις Ανακοινώσεις και Έκτακτα νέα, βάζουμε τη μεγαλύτερη πλευρά 400 (width=400 ή height=400 ). π.χ. [img height=400 (κλείνει η αγκύλη) 
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] ΕΡΓΑΣΙΑ D [2011-2012]
0 Members and 1 Guest are viewing this topic.
Pages: 1 2 [3] 4 Go Down Print
Author Topic: [C++] ΕΡΓΑΣΙΑ D [2011-2012]  (Read 7126 times)
ForestBlack
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 607



View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #30 on: December 10, 2011, 20:34:42 pm »





Quote
table ειναι ο διδιαστατος σου πινακας σωστα?

ναι και εγώ έτσι επιστρέφω τιμές για τον δισδιάστατο πίνακα μου.
« Last Edit: November 10, 2012, 20:52:26 pm by ForestBlack » Logged
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #31 on: December 10, 2011, 21:55:28 pm »

ποιος μπορει να εξηγησει τι παζει με το i ;
το παιρνουμε ως ορισμα ;
Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

Andre
Θαμώνας
****
Gender: Male
Posts: 370


"there, a happy river, oh what a well-timed river"


View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #32 on: December 11, 2011, 12:45:34 pm »

Quote from: pentium4 on December 10, 2011, 21:55:28 pm
ποιος μπορει να εξηγησει τι παζει με το i ;
το παιρνουμε ως ορισμα ;

Αν εννοείς αύτο το i:
Quote from: anchelon on December 10, 2011, 17:31:14 pm
Στο ερώτημα β) της matrix το i είναι τυχαίο, το διαβάζουμε από κάπου ή τπτ από τα 2?Τι είναι τελος πάντων?

δεν το διαβάζεις. Σε κάθε θέση του διανύσματος vector θα υπάρχει το μικρότερο εκ των δύο αθροισμάτων. Πχ για την θέση i=0 του πίνακα-διανύσματος vector, συγκρίνεις τα Σ|α0,j| και Σ|αj,0|, που αναφέρονται στον πίνακα matrix, και βάζεις το μικρότερο από τα δύο στην 1η (i=0) θέση του vector.
Logged
Andre
Θαμώνας
****
Gender: Male
Posts: 370


"there, a happy river, oh what a well-timed river"


View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #33 on: December 11, 2011, 15:14:19 pm »

Quote from: natalia_3005 on December 10, 2011, 12:37:29 pm
Quote from: christineL on December 10, 2011, 04:03:51 am
πως γινεται η επικαλυψη του τελεστη ! ,τετοια ωστε η εκφραση να επιστρεφει ενα αντικειμενο τυπου vector ενω το α ειναι τυπου Matrix?? εννοω η δηλωση της ..ψαχνω εδω και ποση ωρα στο google αλλα τιποτα. Προφανως με friend,αλλα πώς???????


εγω το εκανα καπως ετσι:
vector operator!(); και επιστρεφει ενα αντικειμενο vector!

Έτσι όμως τον float pointer της vector δε μπορεί να το δει ο operator.
Πάω να γράψω:
Code:
if (sum1[i]<sum2[i])
                  temp.p[i]=sum1[i];
             else
                  temp.p[i]=sum2[i];
και μου βγάζει αυτό:

In member function `vector matrix::operator!()':
`float*vector::p' is private
within this context (όπου context o operator)
Logged
mafalda
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1427



View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #34 on: December 11, 2011, 15:24:51 pm »

Εγώ πάντως την έκανα friend στις κλάσεις matrix,vector και μια χαρά δουλεύει.Δεν ξέρω πώς γίνεται να υλοποιηθεί σαν συνάρτηση μέλους σε μια από τις κλάσεις...

εδιτ:έτσι δλδ...
Code:
vector operator!(matrix a){
       int i,j,n;
       n=a.n;
       vector temp(n);
       for(i=0;i<n;i++){
                        float s1=0.0,s2=0.0;
                        for(j=0;j<n;j++){
                                         if(j!=i){
                                                  s1=s1+abs(a.matr[i][j]);
                                                  s2=s2+abs(a.matr[j][i]);
                                                  }
                                         }
                        if(s1<s2) temp.vect[i]=s1;
                        else temp.vect[i]=s2;
                        }
       return temp;
       }
« Last Edit: December 11, 2011, 15:29:13 pm by mafalda » Logged
Andre
Θαμώνας
****
Gender: Male
Posts: 370


"there, a happy river, oh what a well-timed river"


View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #35 on: December 11, 2011, 15:44:24 pm »

Σαν friend την έχω κάνει κι εγώ (ξέχασα να πω) και τρέχει κανονικά.
Απλά επειδή πιο πάνω είδα ότι την κάνανε μέλος της matrix, ήθελα να δω πώς γίνεται, αν γίνεται.
Logged
JakeLaMotta
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1341



View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #36 on: December 11, 2011, 16:09:07 pm »

Quote from: mafalda on December 11, 2011, 15:24:51 pm
Εγώ πάντως την έκανα friend στις κλάσεις matrix,vector και μια χαρά δουλεύει.Δεν ξέρω πώς γίνεται να υλοποιηθεί σαν συνάρτηση μέλους σε μια από τις κλάσεις...


Δηλαδή τη βάζεις μέσα και στις δύο κλάσεις τη δήλωσή της??Μπορούμε να το κάνουμε έτσι??Γιατί από την εκφώνηση εγώ έβγαλα το συμπέρασμα ότι η συνάρτηση που κάνει την επικάλυψη του !,θα πρέπει να είναι μόνο μέλος της κλάσης matrix.Πάντως,έτσι γίνεται σίγουρα πιο εύκολα,γιατί η συνάρτηση θα έχει κατευθείαν πρόσβαση στα private στοιχεία και των δύο κλάσεων.
Logged
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #37 on: December 11, 2011, 16:45:30 pm »

Quote from: Andre on December 11, 2011, 12:45:34 pm
Quote from: pentium4 on December 10, 2011, 21:55:28 pm
ποιος μπορει να εξηγησει τι παζει με το i ;
το παιρνουμε ως ορισμα ;

Αν εννοείς αύτο το i:
Quote from: anchelon on December 10, 2011, 17:31:14 pm
Στο ερώτημα β) της matrix το i είναι τυχαίο, το διαβάζουμε από κάπου ή τπτ από τα 2?Τι είναι τελος πάντων?

δεν το διαβάζεις. Σε κάθε θέση του διανύσματος vector θα υπάρχει το μικρότερο εκ των δύο αθροισμάτων. Πχ για την θέση i=0 του πίνακα-διανύσματος vector, συγκρίνεις τα Σ|α0,j| και Σ|αj,0|, που αναφέρονται στον πίνακα matrix, και βάζεις το μικρότερο από τα δύο στην 1η (i=0) θέση του vector.


ευχαριστω αλλα πλεον νιωθω το  iq μου γυρω στο 50
Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

alexis2044
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 120


Alopex Electricus


View Profile WWW
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #38 on: December 11, 2011, 16:46:23 pm »

Quote from: mafalda on December 11, 2011, 15:24:51 pm
Εγώ πάντως την έκανα friend στις κλάσεις matrix,vector και μια χαρά δουλεύει.Δεν ξέρω πώς γίνεται να υλοποιηθεί σαν συνάρτηση μέλους σε μια από τις κλάσεις...

εδιτ:έτσι δλδ...
Code:
vector operator!(matrix a){
       int i,j,n;
       n=a.n;
       vector temp(n);
       for(i=0;i<n;i++){
                        float s1=0.0,s2=0.0;
                        for(j=0;j<n;j++){
                                         if(j!=i){
                                                  s1=s1+abs(a.matr[i][j]);
                                                  s2=s2+abs(a.matr[j][i]);
                                                  }
                                         }
                        if(s1<s2) temp.vect[i]=s1;
                        else temp.vect[i]=s2;
                        }
       return temp;
       }

Περί αυτού, εγώ φτιάχνω μια float set_vect(int i,float num){vect[ i ]=num;} μέλος της vector και κάνω

Code:
vector operator!(matrix a){
       int i,j,n;
       n=a.n;
       vector temp(n);
       for(i=0;i<n;i++){
                        float s1=0.0,s2=0.0;
                        for(j=0;j<n;j++){
                                         if(j!=i){
                                                  s1=s1+abs(a.matr[i][j]);
                                                  s2=s2+abs(a.matr[j][i]);
                                                  }
                                         }
                        if(s1<s2) temp.set_vect(i,s1);
                        else temp.set_vect(i,s2);
                        }
       return temp;
       }


Και αυτό μου φαίνεται δουλεύει...

Υ.Γ Δηλώνω την vector οperator! μονο στην matrix και χωρίς όρισμα.
« Last Edit: December 11, 2011, 16:57:27 pm by alexis2044 » Logged

Φιλικά, Αλέξης

"A computer lets you make more mistakes faster than any other human invention in history…
…with the possible exception of handguns and tequila." Mitch Radcliffe
JakeLaMotta
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1341



View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #39 on: December 11, 2011, 16:55:25 pm »

Quote from: alexis2044 on December 11, 2011, 16:46:23 pm


Περί αυτού, εγώ φτιάχνω μια float set_vect(i,num){vect[ i ]=num;} μέλος της vector και κάνω

Code:
vector operator!(matrix a){
       int i,j,n;
       n=a.n;
       vector temp(n);
       for(i=0;i<n;i++){
                        float s1=0.0,s2=0.0;
                        for(j=0;j<n;j++){
                                         if(j!=i){
                                                  s1=s1+abs(a.matr[i][j]);
                                                  s2=s2+abs(a.matr[j][i]);
                                                  }
                                         }
                        if(s1<s2) temp.set_vect(i,s1);
                        else temp.set_vect(i,s2);
                        }
       return temp;
       }


Και αυτό μου φαίνεται δουλεύει...

Υ.Γ Δηλώνω την vector οperator! μονο στην matrix και χωρίς όρισμα.

Ναι,λογικά αυτό που κάνεις είναι πιο σωστό,αλλά μόλις μου δούλεψε(επιτέλους!!)με τον άλλο τρόπο,οπότε δεν ψήνομαι να δοκιμάσω πάλι να το αλλάξω...
Logged
alexis2044
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 120


Alopex Electricus


View Profile WWW
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #40 on: December 11, 2011, 17:02:02 pm »

If it works don't fix/touch it  Grin
Logged

Φιλικά, Αλέξης

"A computer lets you make more mistakes faster than any other human invention in history…
…with the possible exception of handguns and tequila." Mitch Radcliffe
Andre
Θαμώνας
****
Gender: Male
Posts: 370


"there, a happy river, oh what a well-timed river"


View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #41 on: December 11, 2011, 17:13:19 pm »

alexis2044

Η συνάρτηση που έφτιαξες επιστρέφει το i στοιχείο του πίνακα vector έτσι; Δηλ.:
..
return vect[ i ];     // όπου vect o float pointer που είναι private στην κλάση
Logged
alexis2044
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 120


Alopex Electricus


View Profile WWW
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #42 on: December 11, 2011, 17:26:54 pm »

οχι return, θετει την τιμή, όπως την παιρνει από τα ορίσματα.

float set_vect(int i,float num){vect[ i ]=num;};
Logged

Φιλικά, Αλέξης

"A computer lets you make more mistakes faster than any other human invention in history…
…with the possible exception of handguns and tequila." Mitch Radcliffe
alexis2044
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 120


Alopex Electricus


View Profile WWW
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #43 on: December 11, 2011, 18:03:01 pm »

Τον operator++ μπορεσε κανείς να τον κάνει overload? Και αν ναι πως; Γιατί το

float operator++(vector v);

χτυπάει μόνιμως λέγοντας συνέχεια ότι θέλει για όρισμα μόνο int...
Logged

Φιλικά, Αλέξης

"A computer lets you make more mistakes faster than any other human invention in history…
…with the possible exception of handguns and tequila." Mitch Radcliffe
Andre
Θαμώνας
****
Gender: Male
Posts: 370


"there, a happy river, oh what a well-timed river"


View Profile
Re: [C++] ΕΡΓΑΣΙΑ D [2011-2012]
« Reply #44 on: December 11, 2011, 19:05:45 pm »

Quote from: alexis2044 on December 11, 2011, 18:03:01 pm
Τον operator++ μπορεσε κανείς να τον κάνει overload? Και αν ναι πως; Γιατί το

float operator++(vector v);

χτυπάει μόνιμως λέγοντας συνέχεια ότι θέλει για όρισμα μόνο int...

δεν ξέρω γιατί σου χτυπάει, πάντως δε χρειάζεται όρισμα, μιας κι επιστρέφει τον εαυτό του αλλαγμένο.

ΕΔΙΤ: alexis2044 δλδ δεν την έχεις τρέξει την εργασία;
Logged
Pages: 1 2 [3] 4 Go Up Print
Jump to:  

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