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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[Today at 00:06:21]

Ισραήλ - Ιράν: Πόλεμος στ...
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]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426699
Total Topics: 31710
Online Today: 205
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 52
Guests: 142
Total: 194
gcheristanidhs
alexlabis
Διάλεξις
Nikos_313
chaniotism
spetrakis
st3.kt
lasef
natavhoo
BB
sigklitiki
Karkarias
odkoutrolikos
mpaltzak
elischat
giannisdomu
acolak
Elenit
Nikikouss
kpapama
fafafa
Petros Ts
soktas
stephystam
katranic
mmamougiorgi
acapulco
Gray139
Saint_GR
chriskazakos
Polychronia K
ZontanosThrylos
dimopoul
fopapadopoulos
Mr Watson
Born_Confused
mavropan
alexandros_and
sotos_sta
kostas1507
jimalexoud
Psychoktonos_
mayia psarikoglou
thathas12
fatseas
Cersei Tsoulannister
KZerenidis
Εμφάνιση

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

Νέα!
Συμβουλές καλής χρήσης του φόρουμ: Youtube embed code and links, Shoutbox, Notify, ...
Δείτε περισσότερα εδώ...
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] Εργασία G [2011-2012]
0 Members and 1 Guest are viewing this topic.
Pages: 1 [2] 3 Go Down Print
Author Topic: [C++] Εργασία G [2011-2012]  (Read 5092 times)
giapapva
Καταξιωμένος/Καταξιωμένη
***
Posts: 128


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #15 on: January 14, 2012, 22:07:32 pm »

Έχω 2 ερωτήσεις: 1ον Εφόσον θα πρέπει να διαβαζει αριθμο προτεραιότητας που να καθορίζει την ηλεκτροδότηση γιατί ύστερα λέει πως αν υπάρχουν παραπάνω από ένα αντικείμενο της ίδιας κλάσης να επιλέγεται με βάση τα κρεββάτια για παράδειγμα στην πρώτη κλάση?? (Μήπως εννοει αν τα αντικείμενα έχουν τον ίδιο αριθμό προτεραιότητας?-αλλιώς δεν βγάζει νόημα)

2ον: Όταν μας ζητάει να δώσουμε τον αριθμό των περιοχών (δηλ. των αντικειμένων) μέσα στη main πως γίνεται να κάνουμε ανεξαρτησία λογισμικού σύμφωνα με όσα μας είπε ο Συμεωνίδης στο τελευταίο μάθημα? Αφού στους contructors των αντικειμένων πρέπει να αρχικοποιήσουμε τα αντικείμενα... Μήπως θα έπρεπε να ζητάει αριθμό περιοχών μέσα στους constructors??
Logged
Infinite Loop
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 706


We are the Harbinger of your perfection.


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #16 on: January 14, 2012, 22:30:34 pm »

Quote from: giapapva on January 14, 2012, 22:07:32 pm
Έχω 2 ερωτήσεις: 1ον Εφόσον θα πρέπει να διαβαζει αριθμο προτεραιότητας που να καθορίζει την ηλεκτροδότηση γιατί ύστερα λέει πως αν υπάρχουν παραπάνω από ένα αντικείμενο της ίδιας κλάσης να επιλέγεται με βάση τα κρεββάτια για παράδειγμα στην πρώτη κλάση?? (Μήπως εννοει αν τα αντικείμενα έχουν τον ίδιο αριθμό προτεραιότητας?-αλλιώς δεν βγάζει νόημα)

Κι εγω δεν το επιασα στην πρωτη αναγνωση της ασκησης, αλλα:
Quote
Για κάθε κατηγορία ορίζεται μια προτεραιότητα στην ηλεκτροδότηση ενώ για περιοχές που ανήκουν στην ίδια κατηγορία η σειρά ηλεκτροδότησής τους ορίζεται με κριτήρια που αφορούν τον χαρακτήρα της περιοχής.

Quote from: giapapva on January 14, 2012, 22:07:32 pm
2ον: Όταν μας ζητάει να δώσουμε τον αριθμό των περιοχών (δηλ. των αντικειμένων) μέσα στη main πως γίνεται να κάνουμε ανεξαρτησία λογισμικού σύμφωνα με όσα μας είπε ο Συμεωνίδης στο τελευταίο μάθημα? Αφού στους contructors των αντικειμένων πρέπει να αρχικοποιήσουμε τα αντικείμενα... Μήπως θα έπρεπε να ζητάει αριθμό περιοχών μέσα στους constructors??

Δεν σε πιανω... Οι ctors θα κληθουν τοσες φορες οσες και τα αντικειμενα σου... Πώς θα ζητησεις τον αριθμο περιοχων εκει μεσα;
Logged

This one doesn't have time for your solid waste excretions.
giapapva
Καταξιωμένος/Καταξιωμένη
***
Posts: 128


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #17 on: January 14, 2012, 22:45:29 pm »

Quote from: Infinite Loop on January 14, 2012, 22:30:34 pm
Quote from: giapapva on January 14, 2012, 22:07:32 pm
Έχω 2 ερωτήσεις: 1ον Εφόσον θα πρέπει να διαβαζει αριθμο προτεραιότητας που να καθορίζει την ηλεκτροδότηση γιατί ύστερα λέει πως αν υπάρχουν παραπάνω από ένα αντικείμενο της ίδιας κλάσης να επιλέγεται με βάση τα κρεββάτια για παράδειγμα στην πρώτη κλάση?? (Μήπως εννοει αν τα αντικείμενα έχουν τον ίδιο αριθμό προτεραιότητας?-αλλιώς δεν βγάζει νόημα)

Κι εγω δεν το επιασα στην πρωτη αναγνωση της ασκησης, αλλα:
Quote
Για κάθε κατηγορία ορίζεται μια προτεραιότητα στην ηλεκτροδότηση ενώ για περιοχές που ανήκουν στην ίδια κατηγορία η σειρά ηλεκτροδότησής τους ορίζεται με κριτήρια που αφορούν τον χαρακτήρα της περιοχής.

Quote from: giapapva on January 14, 2012, 22:07:32 pm
2ον: Όταν μας ζητάει να δώσουμε τον αριθμό των περιοχών (δηλ. των αντικειμένων) μέσα στη main πως γίνεται να κάνουμε ανεξαρτησία λογισμικού σύμφωνα με όσα μας είπε ο Συμεωνίδης στο τελευταίο μάθημα? Αφού στους contructors των αντικειμένων πρέπει να αρχικοποιήσουμε τα αντικείμενα... Μήπως θα έπρεπε να ζητάει αριθμό περιοχών μέσα στους constructors??

Δεν σε πιανω... Οι ctors θα κληθουν τοσες φορες οσες και τα αντικειμενα σου... Πώς θα ζητησεις τον αριθμο περιοχων εκει μεσα;

Ναι σόρρυ λάθος έκανα άλλο ήθελα να πω... ήθελα να πω πως τα αντικείμενα στην ασκηση με τα κυκλώματα αρχικοποιούνται μετά την κλάση αμέσως. Αυτός είναι και ο σκοπός ώστε να μην χρειάζεται να πειράζεις την main ωστε να πετύχεις ανεξαρτησια λογισμικού. Τώρα η κάθε περιοχή αντιστοιχεί σε ένα αντικείμενο άρα λογικά θα υπονοεί ότι τα αντικείμενα των παραγόμενων κλάσεων δεν θα αρχικοποιούνται αμέσως έξω από την κλάση αλλά μέσα στη main σωστά? Άυτο όμως αμέσως αναιρεί την ανεξαρτησία λογισμικού αφού θα πρέπει να ζητήσουμε στη main των αριθμό των αντικειμένων για τις 2(στην εφαρμογή μας) παραγόμενες κλάσεις...  Huh
Logged
Ναταλία
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1209



View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #18 on: January 14, 2012, 22:59:00 pm »

μπορεις να κανεις μια for και μια συναρτηση get_name για να ρωτησεις ετσι ποσες περιοχες υπαρχουν σε καθε κατηγορια!
οποτε δεν θα χρειαστει να ορισεις οτι ειναι 2.
Logged
Infinite Loop
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 706


We are the Harbinger of your perfection.


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #19 on: January 14, 2012, 22:59:53 pm »

Quote from: giapapva on January 14, 2012, 22:45:29 pm
Quote from: Infinite Loop on January 14, 2012, 22:30:34 pm
Quote from: giapapva on January 14, 2012, 22:07:32 pm
Έχω 2 ερωτήσεις: 1ον Εφόσον θα πρέπει να διαβαζει αριθμο προτεραιότητας που να καθορίζει την ηλεκτροδότηση γιατί ύστερα λέει πως αν υπάρχουν παραπάνω από ένα αντικείμενο της ίδιας κλάσης να επιλέγεται με βάση τα κρεββάτια για παράδειγμα στην πρώτη κλάση?? (Μήπως εννοει αν τα αντικείμενα έχουν τον ίδιο αριθμό προτεραιότητας?-αλλιώς δεν βγάζει νόημα)

Κι εγω δεν το επιασα στην πρωτη αναγνωση της ασκησης, αλλα:
Quote
Για κάθε κατηγορία ορίζεται μια προτεραιότητα στην ηλεκτροδότηση ενώ για περιοχές που ανήκουν στην ίδια κατηγορία η σειρά ηλεκτροδότησής τους ορίζεται με κριτήρια που αφορούν τον χαρακτήρα της περιοχής.

Quote from: giapapva on January 14, 2012, 22:07:32 pm
2ον: Όταν μας ζητάει να δώσουμε τον αριθμό των περιοχών (δηλ. των αντικειμένων) μέσα στη main πως γίνεται να κάνουμε ανεξαρτησία λογισμικού σύμφωνα με όσα μας είπε ο Συμεωνίδης στο τελευταίο μάθημα? Αφού στους contructors των αντικειμένων πρέπει να αρχικοποιήσουμε τα αντικείμενα... Μήπως θα έπρεπε να ζητάει αριθμό περιοχών μέσα στους constructors??

Δεν σε πιανω... Οι ctors θα κληθουν τοσες φορες οσες και τα αντικειμενα σου... Πώς θα ζητησεις τον αριθμο περιοχων εκει μεσα;

Ναι σόρρυ λάθος έκανα άλλο ήθελα να πω... ήθελα να πω πως τα αντικείμενα στην ασκηση με τα κυκλώματα αρχικοποιούνται μετά την κλάση αμέσως. Αυτός είναι και ο σκοπός ώστε να μην χρειάζεται να πειράζεις την main ωστε να πετύχεις ανεξαρτησια λογισμικού. Τώρα η κάθε περιοχή αντιστοιχεί σε ένα αντικείμενο άρα λογικά θα υπονοεί ότι τα αντικείμενα των παραγόμενων κλάσεων δεν θα αρχικοποιούνται αμέσως έξω από την κλάση αλλά μέσα στη main σωστά? Άυτο όμως αμέσως αναιρεί την ανεξαρτησία λογισμικού αφού θα πρέπει να ζητήσουμε στη main των αριθμό των αντικειμένων για τις 2(στην εφαρμογή μας) παραγόμενες κλάσεις...  Huh

Η αρχικοποιηση ενος αντικειμενου γινεται με τον ctor... Μηπως εννοεις την δημιουργια;

Παντως και οι τυποι περιοχων και οι ιδιες οι περιοχες θα ειναι αντικειμενα... Δηλαδη θα δουλευεις συνολικα με (πληθος περιοχων) + (πληθος τυπων περιοχων) αντικειμενα.

Και οχι, δεν την αναιρει. Στην main() απλα θα κανεις μια λουπα που θα περναει καθε τυπο περιοχης που εχει αυτη η υλοποιηση του προγραμματος (στην προκειμενη περιπτωση, 2) και θα ζηταει ενα πληθος για να φτιαξει τοσα αντικειμενα (περιοχες δηλαδη) εκεινου του τυπου...
Και θα μου πεις "και πού θα ξερει η main() ποσους τυπους περιοχων εχει αυτη η υλοποιηση;" - ε, τα αντικειμενα που υλοποιουν τους τυπους περιοχων θα τα κανεις (ω, θεοι... Roll Eyes) global (ναι, ναι, αυτο που τοσο αγαπαει ο Κορτεσης...) .
Logged

This one doesn't have time for your solid waste excretions.
giapapva
Καταξιωμένος/Καταξιωμένη
***
Posts: 128


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #20 on: January 14, 2012, 23:09:19 pm »

Οκ σας ευχαριστώ πολύ για τη βοήθεια! Smiley
Logged
alexis2044
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 120


Alopex Electricus


View Profile WWW
Re: [C++] Εργασία G [2011-2012]
« Reply #21 on: January 15, 2012, 00:06:20 am »

Quote from: Infinite Loop on January 14, 2012, 16:14:25 pm
Quote from: mark333 on January 14, 2012, 14:59:02 pm
Η distribution λέει να δέχεται ως όρισμα έναν πίνακα και να καλείται μία μόνο φορά. Πως θα γίνει να βάλουμε στοιχεία δύο διαφορετικών τύπων σε ένα πίνακα?

Δεν θα βαλεις τα ιδια τα αντικειμενα στον πινακα, αλλα (hint hint) pointers σε base class.

Quote from: alexis2044 on January 14, 2012, 15:29:11 pm
Θα μεγαλώνεις τον πίνακα κάθε φορά που καλέιται η συνάρτηση αρχικών συνθηκών του κάθε τύπου με realloc και θα καταχωρείς σε αυτόν τη διεύθυνση του αντικειμένου με this.

Η realloc() ειναι συναρτηση της C. Οχι οτι τυπικα δεν μπορεις να την χρησιμοποιησεις, αλλα στην C++ δεν δουλευεις με αυτη. C != C++.

Εσύ πάρε τη new, φτιάξε έναν πίνακα temp, θέσε τον παλιό πίνακα στο temp, φτιάξε έναν νέο πίνακα μεγαλώνοντας την διάσταση με new και θέσε τον temp στον νέο.

Θα έχεις κάνει το ίδιο με ότι θα είχε κάνει η realloc με μια γραμμή.

Σύμφωνοι η realloc δεν ανήκει στη C++ αλλά και πάλι δεν υπάρχει αντίστοιχη συνάρτηση στη C++ παρα μόνο η προαναφερθείσα διαδικασία.

Το αποτέλεσμα είναι το ίδιο.
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++] Εργασία G [2011-2012]
« Reply #22 on: January 15, 2012, 00:16:33 am »

Quote from: Infinite Loop on January 14, 2012, 22:59:53 pm
Quote from: giapapva on January 14, 2012, 22:45:29 pm
Quote from: Infinite Loop on January 14, 2012, 22:30:34 pm
Quote from: giapapva on January 14, 2012, 22:07:32 pm
Έχω 2 ερωτήσεις: 1ον Εφόσον θα πρέπει να διαβαζει αριθμο προτεραιότητας που να καθορίζει την ηλεκτροδότηση γιατί ύστερα λέει πως αν υπάρχουν παραπάνω από ένα αντικείμενο της ίδιας κλάσης να επιλέγεται με βάση τα κρεββάτια για παράδειγμα στην πρώτη κλάση?? (Μήπως εννοει αν τα αντικείμενα έχουν τον ίδιο αριθμό προτεραιότητας?-αλλιώς δεν βγάζει νόημα)

Κι εγω δεν το επιασα στην πρωτη αναγνωση της ασκησης, αλλα:
Quote
Για κάθε κατηγορία ορίζεται μια προτεραιότητα στην ηλεκτροδότηση ενώ για περιοχές που ανήκουν στην ίδια κατηγορία η σειρά ηλεκτροδότησής τους ορίζεται με κριτήρια που αφορούν τον χαρακτήρα της περιοχής.

Quote from: giapapva on January 14, 2012, 22:07:32 pm
2ον: Όταν μας ζητάει να δώσουμε τον αριθμό των περιοχών (δηλ. των αντικειμένων) μέσα στη main πως γίνεται να κάνουμε ανεξαρτησία λογισμικού σύμφωνα με όσα μας είπε ο Συμεωνίδης στο τελευταίο μάθημα? Αφού στους contructors των αντικειμένων πρέπει να αρχικοποιήσουμε τα αντικείμενα... Μήπως θα έπρεπε να ζητάει αριθμό περιοχών μέσα στους constructors??

Δεν σε πιανω... Οι ctors θα κληθουν τοσες φορες οσες και τα αντικειμενα σου... Πώς θα ζητησεις τον αριθμο περιοχων εκει μεσα;

Ναι σόρρυ λάθος έκανα άλλο ήθελα να πω... ήθελα να πω πως τα αντικείμενα στην ασκηση με τα κυκλώματα αρχικοποιούνται μετά την κλάση αμέσως. Αυτός είναι και ο σκοπός ώστε να μην χρειάζεται να πειράζεις την main ωστε να πετύχεις ανεξαρτησια λογισμικού. Τώρα η κάθε περιοχή αντιστοιχεί σε ένα αντικείμενο άρα λογικά θα υπονοεί ότι τα αντικείμενα των παραγόμενων κλάσεων δεν θα αρχικοποιούνται αμέσως έξω από την κλάση αλλά μέσα στη main σωστά? Άυτο όμως αμέσως αναιρεί την ανεξαρτησία λογισμικού αφού θα πρέπει να ζητήσουμε στη main των αριθμό των αντικειμένων για τις 2(στην εφαρμογή μας) παραγόμενες κλάσεις...  Huh

Η αρχικοποιηση ενος αντικειμενου γινεται με τον ctor... Μηπως εννοεις την δημιουργια;

Παντως και οι τυποι περιοχων και οι ιδιες οι περιοχες θα ειναι αντικειμενα... Δηλαδη θα δουλευεις συνολικα με (πληθος περιοχων) + (πληθος τυπων περιοχων) αντικειμενα.

Και οχι, δεν την αναιρει. Στην main() απλα θα κανεις μια λουπα που θα περναει καθε τυπο περιοχης που εχει αυτη η υλοποιηση του προγραμματος (στην προκειμενη περιπτωση, 2) και θα ζηταει ενα πληθος για να φτιαξει τοσα αντικειμενα (περιοχες δηλαδη) εκεινου του τυπου...
Και θα μου πεις "και πού θα ξερει η main() ποσους τυπους περιοχων εχει αυτη η υλοποιηση;" - ε, τα αντικειμενα που υλοποιουν τους τυπους περιοχων θα τα κανεις (ω, θεοι... Roll Eyes) global (ναι, ναι, αυτο που τοσο αγαπαει ο Κορτεσης...) .

Στη main το μόνο που θα κάνεις είναι να ζητήσεις τον στατικό πίνακα διευθύνσεων αντικειμένων της αρχικής κλάσης εκ της οποίας παράγονται οι hospital και household (όπως στο παράδειγμα με το circuit). Κατόπιν θα θέτεις τον πίνακα στην distribution και θα κάνει τα μαγικά της.

Ένα κενό της άσκησης είναι πως θα βλέπει η distribution πόσες διευθύνσεις αντικείμενων έχει ο πίνακας... Εγώ θεώρησα 2 μιας και πρόκειται περί εφαρμογής (και γιατί ζητά μόνο 2 ορίσματα η εκφώνηση στην distribution- πίνακας και διαθέσιμη ισχύ) , αλλά κανονικά θέλει να μπαίνει και ο αριθμός αυτός στην distribution
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
Infinite Loop
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 706


We are the Harbinger of your perfection.


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #23 on: January 15, 2012, 00:56:42 am »

Quote from: alexis2044 on January 15, 2012, 00:06:20 am
Quote from: Infinite Loop on January 14, 2012, 16:14:25 pm
Quote from: mark333 on January 14, 2012, 14:59:02 pm
Η distribution λέει να δέχεται ως όρισμα έναν πίνακα και να καλείται μία μόνο φορά. Πως θα γίνει να βάλουμε στοιχεία δύο διαφορετικών τύπων σε ένα πίνακα?

Δεν θα βαλεις τα ιδια τα αντικειμενα στον πινακα, αλλα (hint hint) pointers σε base class.

Quote from: alexis2044 on January 14, 2012, 15:29:11 pm
Θα μεγαλώνεις τον πίνακα κάθε φορά που καλέιται η συνάρτηση αρχικών συνθηκών του κάθε τύπου με realloc και θα καταχωρείς σε αυτόν τη διεύθυνση του αντικειμένου με this.

Η realloc() ειναι συναρτηση της C. Οχι οτι τυπικα δεν μπορεις να την χρησιμοποιησεις, αλλα στην C++ δεν δουλευεις με αυτη. C != C++.

Εσύ πάρε τη new, φτιάξε έναν πίνακα temp, θέσε τον παλιό πίνακα στο temp, φτιάξε έναν νέο πίνακα μεγαλώνοντας την διάσταση με new και θέσε τον temp στον νέο.

Θα έχεις κάνει το ίδιο με ότι θα είχε κάνει η realloc με μια γραμμή.

Σύμφωνοι η realloc δεν ανήκει στη C++ αλλά και πάλι δεν υπάρχει αντίστοιχη συνάρτηση στη C++ παρα μόνο η προαναφερθείσα διαδικασία.

Το αποτέλεσμα είναι το ίδιο.

Not quite - οι περιοχες μνημης που δεσμευονται με την malloc()/realloc() εχουν διαφορετικη μορφη μεσα στο συστημα απο αυτες της new/new[], και αρα ειναι ασυμβατες μεταξυ τους. Επισης οι μεν δεν καλουν ctors/dtors, πραγμα που τις κανει αχρηστες για OOP. Επειδη λοιπον σε καποιο σημειο θα χρειαστει να δημιουργησεις εναν πινακα αντικειμενων, θα πρεπει να το κανεις με new[], και για consistency και μονο απορριπτεις τις αλλες. Α, και οι μεν δεν ριχνουν exceptions - και καλη σου τυχη αν ειναι να κοιτας καθε φορα αν η malloc() επεστρεψε NULL και να προσπαθεις να κανεις χειροκινητο exception handling.
Και μια χαρα "αντιστοιχη συναρτηση" υπαρχει στην C++. Οι vectors για αυτον τον λογο υπαρχουν. Και ακομα και να μην χρησιμοποιησω vectors, προτιμω να γραψω 3-4 γραμμες παραπανω για τους λογους που προαναφερθηκαν.

Και σορρυ αν φανηκε λιγο επιθετικη η απαντηση μου - ειλικρινα δεν ειχα τετοια προθεση.
Logged

This one doesn't have time for your solid waste excretions.
Infinite Loop
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 706


We are the Harbinger of your perfection.


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #24 on: January 15, 2012, 01:01:22 am »

Quote from: alexis2044 on January 15, 2012, 00:16:33 am
Quote from: Infinite Loop on January 14, 2012, 22:59:53 pm
Quote from: giapapva on January 14, 2012, 22:45:29 pm
Quote from: Infinite Loop on January 14, 2012, 22:30:34 pm
Quote from: giapapva on January 14, 2012, 22:07:32 pm
Έχω 2 ερωτήσεις: 1ον Εφόσον θα πρέπει να διαβαζει αριθμο προτεραιότητας που να καθορίζει την ηλεκτροδότηση γιατί ύστερα λέει πως αν υπάρχουν παραπάνω από ένα αντικείμενο της ίδιας κλάσης να επιλέγεται με βάση τα κρεββάτια για παράδειγμα στην πρώτη κλάση?? (Μήπως εννοει αν τα αντικείμενα έχουν τον ίδιο αριθμό προτεραιότητας?-αλλιώς δεν βγάζει νόημα)

Κι εγω δεν το επιασα στην πρωτη αναγνωση της ασκησης, αλλα:
Quote
Για κάθε κατηγορία ορίζεται μια προτεραιότητα στην ηλεκτροδότηση ενώ για περιοχές που ανήκουν στην ίδια κατηγορία η σειρά ηλεκτροδότησής τους ορίζεται με κριτήρια που αφορούν τον χαρακτήρα της περιοχής.

Quote from: giapapva on January 14, 2012, 22:07:32 pm
2ον: Όταν μας ζητάει να δώσουμε τον αριθμό των περιοχών (δηλ. των αντικειμένων) μέσα στη main πως γίνεται να κάνουμε ανεξαρτησία λογισμικού σύμφωνα με όσα μας είπε ο Συμεωνίδης στο τελευταίο μάθημα? Αφού στους contructors των αντικειμένων πρέπει να αρχικοποιήσουμε τα αντικείμενα... Μήπως θα έπρεπε να ζητάει αριθμό περιοχών μέσα στους constructors??

Δεν σε πιανω... Οι ctors θα κληθουν τοσες φορες οσες και τα αντικειμενα σου... Πώς θα ζητησεις τον αριθμο περιοχων εκει μεσα;

Ναι σόρρυ λάθος έκανα άλλο ήθελα να πω... ήθελα να πω πως τα αντικείμενα στην ασκηση με τα κυκλώματα αρχικοποιούνται μετά την κλάση αμέσως. Αυτός είναι και ο σκοπός ώστε να μην χρειάζεται να πειράζεις την main ωστε να πετύχεις ανεξαρτησια λογισμικού. Τώρα η κάθε περιοχή αντιστοιχεί σε ένα αντικείμενο άρα λογικά θα υπονοεί ότι τα αντικείμενα των παραγόμενων κλάσεων δεν θα αρχικοποιούνται αμέσως έξω από την κλάση αλλά μέσα στη main σωστά? Άυτο όμως αμέσως αναιρεί την ανεξαρτησία λογισμικού αφού θα πρέπει να ζητήσουμε στη main των αριθμό των αντικειμένων για τις 2(στην εφαρμογή μας) παραγόμενες κλάσεις...  Huh

Η αρχικοποιηση ενος αντικειμενου γινεται με τον ctor... Μηπως εννοεις την δημιουργια;

Παντως και οι τυποι περιοχων και οι ιδιες οι περιοχες θα ειναι αντικειμενα... Δηλαδη θα δουλευεις συνολικα με (πληθος περιοχων) + (πληθος τυπων περιοχων) αντικειμενα.

Και οχι, δεν την αναιρει. Στην main() απλα θα κανεις μια λουπα που θα περναει καθε τυπο περιοχης που εχει αυτη η υλοποιηση του προγραμματος (στην προκειμενη περιπτωση, 2) και θα ζηταει ενα πληθος για να φτιαξει τοσα αντικειμενα (περιοχες δηλαδη) εκεινου του τυπου...
Και θα μου πεις "και πού θα ξερει η main() ποσους τυπους περιοχων εχει αυτη η υλοποιηση;" - ε, τα αντικειμενα που υλοποιουν τους τυπους περιοχων θα τα κανεις (ω, θεοι... Roll Eyes) global (ναι, ναι, αυτο που τοσο αγαπαει ο Κορτεσης...) .

Στη main το μόνο που θα κάνεις είναι να ζητήσεις τον στατικό πίνακα διευθύνσεων αντικειμένων της αρχικής κλάσης εκ της οποίας παράγονται οι hospital και household (όπως στο παράδειγμα με το circuit). Κατόπιν θα θέτεις τον πίνακα στην distribution και θα κάνει τα μαγικά της.

Ένα κενό της άσκησης είναι πως θα βλέπει η distribution πόσες διευθύνσεις αντικείμενων έχει ο πίνακας... Εγώ θεώρησα 2 μιας και πρόκειται περί εφαρμογής (και γιατί ζητά μόνο 2 ορίσματα η εκφώνηση στην distribution- πίνακας και διαθέσιμη ισχύ) , αλλά κανονικά θέλει να μπαίνει και ο αριθμός αυτός στην distribution

Παιζει να στην κοψει τοτε, γιατι δεν ειναι "ανεξαρτητη" η distribution()... Kαλυτερα προσθεσε αλλη μια παραμετρο  στην συναρτηση που να δινει το μεγεθος του πινακα, για νασαι σιγουρος. Αλλωστε κανονικα θα πρεπει να αποφευγονται οι σκετοι αριθμοι.
Logged

This one doesn't have time for your solid waste excretions.
Κάρβουνο
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1593


Πρόεδρας.


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #25 on: January 15, 2012, 01:01:47 am »

Quote from: Infinite Loop on January 15, 2012, 00:56:42 am
Και μια χαρα "αντιστοιχη συναρτηση" υπαρχει στην C++. Οι vectors για αυτον τον λογο υπαρχουν.

Που ποτέ δεν κατάλαβα γιατί τους αποφεύγει ο Κορτέσης όπως ο διάολος το λιβάνι.
Logged

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

Guest    22:15:25    Viewing Κάρβουνο's profile. (11.3.11)
Ποιός με κατασκοπεύει;
Infinite Loop
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 706


We are the Harbinger of your perfection.


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #26 on: January 15, 2012, 01:07:30 am »

Quote from: Κάρβουνο on January 15, 2012, 01:01:47 am
Quote from: Infinite Loop on January 15, 2012, 00:56:42 am
Και μια χαρα "αντιστοιχη συναρτηση" υπαρχει στην C++. Οι vectors για αυτον τον λογο υπαρχουν.

Που ποτέ δεν κατάλαβα γιατί τους αποφεύγει ο Κορτέσης όπως ο διάολος το λιβάνι.

1η περιπτωση: [sarcasm]Μα ειναι τοοοσο δυσχρηστοι! Μπορει να μπερδευτουμε![/sarcasm]
2η περιπτωση: Arrays της C: αυτην ξερετε, αυτην εμπιστευεστε. Ασχετα αν ειναι εντελως αχρηστοι για οποιοδηποτε σοβαρο προγραμμα C++.
Logged

This one doesn't have time for your solid waste excretions.
nikovaka
Ανερχόμενος/Ανερχόμενη
**
Posts: 82


View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #27 on: January 15, 2012, 02:48:10 am »

παιδιά μια ερώτηση για την άσκηση circuit που ουσιαστικά είναι σαν την εργασία G.Πως γίνεται οι constructors των παραγόμενων συναρτήσεων circuit_1 και circuit_2 να επεξεργάζονται τις protected μεταβλητές της βασικής κλάσης αφού  την κληρονομούν με τρόπο public και όχι protected?
Logged
Ναταλία
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1209



View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #28 on: January 15, 2012, 14:24:54 pm »

Quote from: nikovaka on January 15, 2012, 02:48:10 am
παιδιά μια ερώτηση για την άσκηση circuit που ουσιαστικά είναι σαν την εργασία G.Πως γίνεται οι constructors των παραγόμενων συναρτήσεων circuit_1 και circuit_2 να επεξεργάζονται τις protected μεταβλητές της βασικής κλάσης αφού  την κληρονομούν με τρόπο public και όχι protected?

και γω την ειχα αυτη την απορια αλλα υπεθεσα οτι θα μπορουν να μεταβαλουν τις μεταβλητες της βασικης..
Logged
tsakos
Ανερχόμενος/Ανερχόμενη
**
Posts: 79



View Profile
Re: [C++] Εργασία G [2011-2012]
« Reply #29 on: January 15, 2012, 15:05:18 pm »

Οποτε χρησιμοποιω την else if ο compiler μου βγαζει το παρακατω μηνυμα..
expected ';' before 'else'
Δεν μπορω να καταλαβω το γιατι αφου καθε φορα βαζω αυτο που ζηταει και παλι χτυπαει!!!
Μονο αυτο χρειαζομαι για να τρεξει..Καμια ιδεα? Καλη δυναμη για την εξεταστικη σε ολους
Σε dev γραφω
Logged
Pages: 1 [2] 3 Go Up Print
Jump to:  

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