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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Των συνειρμών το παίγνιο....
by Μπιγκόνια
[June 18, 2026, 23:20:46 pm]

[Διανεμημένη Παραγωγή] Γε...
by katerina zaifi
[June 18, 2026, 20:32:27 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 18, 2026, 18:51:29 pm]

[Η/Μ Πεδίο ΙΙ] Γενικές απ...
by Nikos_313
[June 18, 2026, 14:01:54 pm]

[Ηλεκτρονική ΙΙ] Γενικές ...
by nmpampal
[June 18, 2026, 07:37:37 am]

[Οργάνωση Υπολογιστών] Γε...
by Lalson
[June 17, 2026, 10:37:39 am]

Κάμερες στην Πρυτανεία το...
by RivenT
[June 16, 2026, 23:48:23 pm]

Πότε θα βγει το μάθημα; -...
by Giannis Masterio
[June 16, 2026, 16:09:27 pm]

[Μικροεπεξεργαστές] Γενικ...
by G.V.
[June 16, 2026, 15:31:13 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by femanak
[June 16, 2026, 11:11:17 am]

H Στοά των Off Topic
by χηρουλα Αλεξίου
[June 15, 2026, 17:39:58 pm]

Γιατί οι ΤΗΜΜΥδες έχουν μ...
by Karaμazoβ
[June 15, 2026, 14:31:16 pm]

[ΣΗΕ ΙΙ] Γενικές απορίες ...
by Λαμπτήρας
[June 12, 2026, 13:36:19 pm]

[Ισχύος II] Γενικές απορί...
by Nikos_313
[June 11, 2026, 14:05:57 pm]

[Ημιαγωγά Υλικά] Απορίες ...
by Nikos_313
[June 11, 2026, 10:23:04 am]

[Ευφυή και Προσαρμοστικά ...
by grepanis
[June 11, 2026, 10:11:51 am]

[Γραφική] Λυμένα θέματα
by Roidos
[June 10, 2026, 21:37:48 pm]

Τι ακούτε αυτήν τη στιγμή...
by Karaμazoβ
[June 10, 2026, 18:42:33 pm]

[Η/Μ Πεδίο ΙΙ] Ανάλυση πα...
by Giannis Masterio
[June 09, 2026, 20:27:57 pm]

[ΣΑΕ ΙΙ] Απορίες σε ασκήσ...
by Hyperlaz02
[June 09, 2026, 12:01:45 pm]
Στατιστικά
Members
Total Members: 10402
Latest: anton
Stats
Total Posts: 1431479
Total Topics: 32024
Online Today: 1387
Online Ever: 18918
(April 06, 2026, 16:05:31 pm)
Users Online
Users: 48
Guests: 685
Total: 733
dmadarak
kvas
ΑΑ
Psycher
iliaskou
alice
unreasonable
geoarg
grepanis
papaloui
Carotbaby
ThanosKoutsoump
iasonaskaraminas
DimitrisL
m.renia
cmpillis
Pcsc
nthanos
filkilkis
giannisdomu
abunchofcells
angelos
christina02
axilleas
kkalamar
mpizos
hacky
diesel
leolam
Saint_GR
FINngineer
Τρου Ντετεκτιβ
dimitrisblioumis
Anatolim
femanak
yiannis
RivenT
klaintit
Polychronia K
gbes
stefpapa21
JoHn!
jkara
Εμφάνιση

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

Νέα!
Πρόγραμμα Εξεταστικής Εαρινού Εξαμήνου 2025-2026
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: RivenT, tony stank) > [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 8 Go Down Print
Author Topic: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12  (Read 13423 times)
c0ndemn3d
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 4804


Yarr!


View Profile
[C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« on: November 29, 2012, 14:14:06 pm »

Συζήτηση και απορίες για την τέταρτη εργασία

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

Στην κλάση να οριστούν ακόμη ως μέλη:

α) Μια επικάλυψη του τελεστή ( ) τέτοια ώστε η έκφραση p(x), όπου p αντικείμενο της κλάσης και x αριθμός τύπου float, να επιστρέφει την τιμή του πολυωνύμου που ορίζει το αντικείμενο για την τιμή του x.  

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

γ) Μια επικάλυψη του τελεστή ^ τέτοια ώστε η έκφραση p^k, όπου p αντικείμενο της κλάσης και k αριθμός τύπου int, να επιστρέφει ένα αντικείμενο στον τύπο της ίδιας κλάσης το οποίο να ορίζει το πολυώνυμο που έχει ως συντελεστές τους συντελεστές του πολυωνύμου που προκύπτει ως παράγωγος k τάξης του πολυωνύμου που ορίζει το αντικείμενο p. Στη συνάρτηση να ορίζεται ένα αντικείμενο στον τύπο της κλάσης στο οποίο να αντιγράφεται, χρησιμοποιώντας τον τελεστή = =, το αντικείμενο p. Στη συνέχεια οι συντελεστές του νέου αντικειμένου να τροποποιούνται έτσι ώστε να σχηματίζεται η παράγωγος k τάξης του p.

δ) Μια επικάλυψη του τελεστή [ ] τέτοια ώστε η έκφραση p[ x], όπου p αντικείμενο της κλάσης polynomial και x αριθμός τύπου float να επιστρέφει την τιμή της έκφρασης x – p(x)/p’(x).

Η συνάρτηση main() του προγράμματος να ορίζει ένα αντικείμενο στον τύπο της κλάσης polynomial και χρησιμοποιώντας της επικαλύψεις που ορίστηκαν στην κλάση, να εφαρμόζει, για το πολυώνυμο p που ορίζει το αντικείμενο, την επαναληπτική σχέση xi+1 = xi - p(xi)/p’(xi) για να υπολογίσει μια πραγματική ρίζα της εξίσωσης p(x)=0.

 

Βοηθητικές παρατηρήσεις

Επειδή, στην περίπτωση που το πολυώνυμο δεν έχει πραγματικές ρίζες, η επαναληπτική σχέση δεν συγκλίνει η εφαρμογή της να γίνεται για έναν μέγιστο αριθμό επαναλήψεων. Στην περίπτωση σύγκλησης η διαδικασία να σταματά όταν, για δύο διαδοχικές προσεγγίσεις, η διαφορά xi+1-xi είναι, σε απόλυτη τιμή, μικρότερη από ένα μικρό θετικό αριθμό e.

Με το τέλος του προγράμματος να αποδεσμεύεται η όποια μνήμη δεσμεύτηκε δυναμικά.
Logged

In response, the pirates had to adhere to a doctrine of their own...
war against the world

They took my home, I can't walk away from that; can you?
 Forget me, forget Teach, forget loyalty, compacts, honours, debts, all of it.
The only question that matters is this: Who are you?
020400e
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 164


View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #1 on: December 04, 2012, 16:22:27 pm »

Από τις σημειώσεις του Κορτέση ως που πρέπει να ξέρω για να κάνω την άσκηση?
Logged
c0ndemn3d
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 4804


Yarr!


View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #2 on: December 04, 2012, 22:19:04 pm »

Επικάλυψη τελεστών και this
Logged

In response, the pirates had to adhere to a doctrine of their own...
war against the world

They took my home, I can't walk away from that; can you?
 Forget me, forget Teach, forget loyalty, compacts, honours, debts, all of it.
The only question that matters is this: Who are you?
kostakiss
Ανερχόμενος/Ανερχόμενη
**
Posts: 76



View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #3 on: December 05, 2012, 18:56:19 pm »

λεει: Στη συνάρτηση να ορίζεται ένα αντικείμενο στον τύπο της κλάσης στο οποίο να αντιγράφεται, χρησιμοποιώντας τον τελεστή = =, το αντικείμενο p. Στη συνέχεια οι συντελεστές του νέου αντικειμένου να τροποποιούνται έτσι ώστε να σχηματίζεται η παράγωγος k τάξης του p.

το p  αντικειμενο ποιο ειναι??
πρεπει να μπει καποιο this?
δλδ θα ορισουμε ενα αντικειμενο:

polynomial x(degree);

και στην συνεχεια αυτο θα το βαλουμε ισο με τι?
με ενα this? πχ:

x==*this;   ????

Logged
Mr K
Guest
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #4 on: December 05, 2012, 19:03:03 pm »

Ναι και στην συνεχεια θα τροποποιεις το x και θα το επιστρέφεις στην main
Logged
Thunderjohn
Νεούλης/Νεούλα
*
Posts: 15



View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #5 on: December 06, 2012, 06:05:44 am »

Υπάρχει τρόπος να αποφύγουμε τα constructors για το καινούργιο αντικείμενο μέσα στην operator^ όμως? Δοκίμασα να το δηλώσω ως polynomial* αλλά μετά δεν μου επιτρέπει να κάνω πράξεις, πχ:  *x.n[i ]=*x.n[i+1].
Logged
Infinite Loop
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 706


We are the Harbinger of your perfection.


View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #6 on: December 06, 2012, 07:16:43 am »

Quote from: Thunderjohn on December 06, 2012, 06:05:44 am
Code:
x->n[i]=x->n[i+1]
Logged

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


View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #7 on: December 06, 2012, 16:06:11 pm »

Στην operator ^ γραφω
Code:
polynomial *x;
  x==this;
Τι κανω λαθος;
Logged
Marco
Καταξιωμένος/Καταξιωμένη
***
Posts: 226



View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #8 on: December 06, 2012, 17:04:51 pm »

Quote from: thanospr on December 06, 2012, 16:06:11 pm
Στην operator ^ γραφω
Code:
polynomial *x;
  x==this;
Τι κανω λαθος;
Σου βγάζει error όταν κάνεις compile;
Logged
c0ndemn3d
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 4804


Yarr!


View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #9 on: December 06, 2012, 17:09:42 pm »

Quote from: thanospr on December 06, 2012, 16:06:11 pm
Στην operator ^ γραφω
Code:
polynomial *x;
  x==this;
Τι κανω λαθος;

Να μην το κάνεις αυτό. Ο τελεστής == χρησιμοποιείται για αντικείμενα τύπου polynomial και όχι για pointers σε τέτοια αντικείμενα. Γράψε το ακόλουθο:

polynomial x:
x == (*this);
...
« Last Edit: December 06, 2012, 17:34:03 pm by κοντεμνεδ » Logged

In response, the pirates had to adhere to a doctrine of their own...
war against the world

They took my home, I can't walk away from that; can you?
 Forget me, forget Teach, forget loyalty, compacts, honours, debts, all of it.
The only question that matters is this: Who are you?
Marco
Καταξιωμένος/Καταξιωμένη
***
Posts: 226



View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #10 on: December 06, 2012, 17:16:59 pm »

Quote from: κοντεμνεδ on December 06, 2012, 17:09:42 pm
Quote from: thanospr on December 06, 2012, 16:06:11 pm
Στην operator ^ γραφω
Code:
polynomial *x;
  x==this;
Τι κανω λαθος;

Να μην το κάνεις αυτό. Ο τελεστής == χρησιμοποιείται για αντικείμενα τύπου polynomial και όχι για pointers σε τέτοια αντικείμενα. Γράψε το ακόλουθο:

polynomial x(int);
x == (*temp);
...
Χρειάζεται και ένα όρισμα στο αντικείμενο  Wink
Στη δεύτερη σειρά γιατί έβαλες (*temp) και οχι temp απλά;
Logged
c0ndemn3d
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 4804


Yarr!


View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #11 on: December 06, 2012, 17:33:29 pm »

Quote from: alex-pv on December 06, 2012, 17:16:59 pm
Quote from: κοντεμνεδ on December 06, 2012, 17:09:42 pm
Quote from: thanospr on December 06, 2012, 16:06:11 pm
Στην operator ^ γραφω
Code:
polynomial *x;
  x==this;
Τι κανω λαθος;

Να μην το κάνεις αυτό. Ο τελεστής == χρησιμοποιείται για αντικείμενα τύπου polynomial και όχι για pointers σε τέτοια αντικείμενα. Γράψε το ακόλουθο:

polynomial x(int);
x == (*temp);
...
Χρειάζεται και ένα όρισμα στο αντικείμενο  Wink
Στη δεύτερη σειρά γιατί έβαλες (*temp) και οχι temp απλά;

Συγγνώμη ήμουν αφηρημένος και έβαλα temp. Επίσης έχω και μια συνάρτη Α.Σ. που δεν δέχεται όρισμα. Για αυτό δεν έχω βάλει εκεί. Αν κάποιος έχει μόνο την άλλη, μπορεί να βάλει κάτι αυθαίρετο.
Logged

In response, the pirates had to adhere to a doctrine of their own...
war against the world

They took my home, I can't walk away from that; can you?
 Forget me, forget Teach, forget loyalty, compacts, honours, debts, all of it.
The only question that matters is this: Who are you?
Mr K
Guest
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #12 on: December 07, 2012, 01:09:54 am »

Quote from: Thunderjohn on December 06, 2012, 06:05:44 am
Υπάρχει τρόπος να αποφύγουμε τα constructors για το καινούργιο αντικείμενο μέσα στην operator^ όμως? Δοκίμασα να το δηλώσω ως polynomial* αλλά μετά δεν μου επιτρέπει να κάνω πράξεις, πχ:  *x.n[i ]=*x.n[i+1].

O κορτέσης λέει να δεσμεύουμε μνημη μέσα στον constructor αλλά δεν λέει οτι πρέπει οι τιμές να διαβάζονται εκεί. Η πιο απλή λύση είναι να δημιουργήσεις μια συνάρτηση μέλος η οποία θα διαβάζει τον πίνακα και να την καλείς μονο όταν την χρειάζεσαι..
Logged
Mr K
Guest
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #13 on: December 07, 2012, 01:12:03 am »

Quote from: κοντεμνεδ on December 06, 2012, 17:33:29 pm
Επίσης έχω και μια συνάρτη Α.Σ. που δεν δέχεται όρισμα.

Γιατί;
Logged
Xleboniaris
Ανερχόμενος/Ανερχόμενη
**
Gender: Male
Posts: 96


Μόνο Αγάπη!


View Profile
Re: [C++] Άσκηση D - 2012/2013 - Προθεσμία 09/12
« Reply #14 on: December 07, 2012, 01:14:22 am »

Ρε παιδιά θέλω να ρωτήσω σχετικά με την αποδέσμευση μνήμης. Όταν το τρέχω χωρίς τελικών συνθηκών και χωρίς καμία free  τρέχει κανονικά. Όταν όμως χρησιμοποιώ μια τελικών συνθηκών που κάνει μέσα free το πρόγραμμα γρασάρει... Επίσης, αν πάω να βάλω τις free μία μία στον κώδικα δεν ξέρω που ακριβώς να τις βάλω ώστε να αποδεσμεύω σωστά τους πίνακες με τους συντελεστές όλων των αντικειμένων... Μπορεί να βοηθήσει κάποιος??
Logged

85 δις έξτρα χρέος,
99 χρόνια όλη η δημόσια περιουσία σε ξένα χέρια,
παράλληλη οριστικη εξάτμιση του ιδιωτικού τομέα,
εκμηδενιση της διεθνούς εικόνας της χωρας και 1.000.000 περαστικοί και μόνιμοι μουσουλμανοι προσφυγομεταναστες που τους περισυλλεγει το Γερμανικό Ναυτικό στα Ελληνικά χωρικά ύδατα.

Τόσο χρειάστηκε για να ξεφτιλιστεί για τους έχοντες κοινό νου η αριστερή ιδεολογία εν Ελλάδι. Οτι δεν καταφεραν οι νεκροι του Εμφυλίου, το κατάφερε σε ένα 15μηνο ενας επαγγελματιας άεργος.

Τα κεφάλια μέσα τώρα και ο καθένας ας κάνει το κουμάντο του.

Καληνύχτα Ελλάδα. 


bonus: Socialist 'paradise' of Venezuela ...
https://www.youtube.com/watch?v=3wytJE1u3KY
Pages: [1] 2 3 ... 8 Go Up Print
Jump to:  

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