Title: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: stefos on November 27, 2007, 11:55:42 am Εργασία 5η
Να οριστεί η κλάση Α η οποία περιέχει ως private στοιχείο τον ακέραιο n ο οποίος παίρνει τιμή μέσα από μια συνάρτηση αρχικών συνθηκών στην οποία η τιμή του n δίνεται ως όρισμα. Για τα αντικείμενα της κλάσης να οριστεί: α) Η επικάλυψη του τελεστή ! ο οποίος να υπολογίζει την τιμή a.n!. β) Η επικάλυψη του τελεστή & ο οποίος υπολογίζει την τιμή 1+2+...+a.n γ) Η επικάλυψη του τελεστή & ο οποίος υπολογίζει την τιμή a.n&b.n δ) Η επικάλυψη του τελεστή & ο οποίος υπολογίζει την τιμή m&a.n όπου a και b αντικείμενα στον τύπο της κλάσης και m τυχαίος ακέραιος. Οι επικαλύψεις, όπου είναι δυνατόν, να οριστούν ως συναρτήσεις μέλη της κλάσης. Τέλος να γραφεί η συνάρτηση main() στην οποία ορίζεται δυναμικά ένας πίνακας a[] από k αντικείμενα τύπου Α και εκτυπώνονται οι τιμές a.n!, 1+2+...+a.n, a.n&b.n και m&a.n για i=0,…,k-1 όπου b αντικείμενο τύπου A και m ακέραιος. Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: vasso on November 27, 2007, 21:28:32 pm Για όσους δεν έρχονται θεωρία, προσοχή στον τελεστή !. Στα μαθηματικά το παραγοντικό μπαίνει μετά τον αριθμό, ο τελεστής ! όμως στον προγραμματισμό δέχεται όρισμα μόνο από δεξιά του. Δηλαδή στον προγραμματισμό το 3 παραγοντικό (αφού επικαλυφθεί ο τελεστής) θα γράφεται !3.
Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: Wade on November 28, 2007, 00:04:27 am ο οποίος υπολογίζει την τιμή a.n&b.n Τι εννοεί εδώ, το άθροισμα των ακεραίων; Title: deleted Post by: BOBoMASTORAS on November 28, 2007, 00:10:51 am deleted
Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: Wade on November 28, 2007, 00:15:02 am Ευχαριστώ :)
Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: samavasi on November 28, 2007, 21:32:35 pm όταν εκτελείς το τελεστή & για 2 αντικείμενα της κλάσης A, θα επιστρέφεται το δυαδικό AND των μεταβλητών n μέλη της A. σιγουρο αυτο??αφου αυτο ισχυει για δυαδικους αριθμους κ οχι για ακεραιους?δεν εννοει κατι σαν αθροισμα των αποτελεσματων (&α)+(&β)?το αλλο επιστρεφει κατι μονο αν εχω ν 0 κ 1 λαθος?? Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: Wade on November 28, 2007, 21:34:39 pm Οι ακέραιοι αποθηκεύονται στη μνήμη σε δυαδική μορφή... Γιατί να μην μπορείς να εφαρμόσεις δυαδικούς τελεστές;
Title: deleted Post by: BOBoMASTORAS on November 28, 2007, 21:38:07 pm deleted
Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: samavasi on November 28, 2007, 23:20:22 pm βασικα δν καταλαβα το τι αποτελεσμα μας δινει η πραξη and οταν εχω ακεραιους εκτος απο 0 κ 1..αλλα τεσπα!
κατι αλλο για την αρχικοποιηση καθε στοιχειου του πινακα a[] αντικειμενων A καμια ιδεα??εγω εκανα δυναμικη δεσμευση μνημης για k αντικειμενα με την A *a; a=( A * ) malloc ( k * sizeof ( A ) ) ; και προσπαθω να κανω αρχικοποιηση με διαφορετικο ακεραιο για καθε ενα στοιχειο (σαν a [ i ] ( int ) οπου ιντ ο ακεραιος για αρχικοποιηση που θα δωθει στο ν) αλλα δε μπορω να βρω τη σωστη συνταξη!! Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: fantomas on November 29, 2007, 13:41:49 pm Η πρώτη πιο ακαταλαβίστικη κ χωρίς πολλές εξηγήσεις άσκηση για την σεζόν 2007-08 έκανε την εμφάνιση της.Συγχαρητήρια κ.Κορτ! :D
Είναι μεγάλο λάθος το ότι δεν βοηθάνε φέτος στο μάθημα οι κ.Σημιτόπουλος κ κ.Συμεωνίδης.Αντικαταστάθηκαν οι skillfulls με τους noobs...... :'( Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: mysterious on November 29, 2007, 17:10:34 pm A *a; a=( A * ) malloc ( k * sizeof ( A ) ) ; και προσπαθω να κανω αρχικοποιηση με διαφορετικο ακεραιο για καθε ενα στοιχειο (σαν a [ i ] ( int ) οπου ιντ ο ακεραιος για αρχικοποιηση που θα δωθει στο ν) αλλα δε μπορω να βρω τη σωστη συνταξη!! Βασικά αυτό νομίζω δεν γίνεται...παρα μόνο με δυναμική δέσμευση μέσω μιας επικάληψης του τελεστή new , όπως μας είπε στην τελευταία θεωρία...(χθες) Τώρα αν θέλει να χρησιμοποιήσουμε αυτό δεν ξέρω. Πάντως έτσι όπως δίνεται η εκφώνηση δεν μπορώ να σκεφτώ άλλον τρόπο.. Title: deleted Post by: BOBoMASTORAS on November 29, 2007, 17:45:45 pm deleted
Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: samavasi on November 29, 2007, 20:01:23 pm βασικα δν καταλαβα το τι αποτελεσμα μας δινει η πραξη and οταν εχω ακεραιους εκτος απο 0 κ 1 Bob κανενα χιντ ( σε βλεπω γνωστη ! ) ?? ( πχ στις 3 & 4 η 11 & 18 τι περιμενω ?? ) κατι αλλο,ο ακεραιος μ που ειναι τυχαιος θα δινεται απο το χρηστη η θα χρησιμοποιησουμε αλγοριθμο που παραγει τυχαιο ακεραιο (καπου νομιζω ειδα οτι υπαρχει) ?? Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: xXx on December 03, 2007, 16:05:52 pm Τέλος να γραφεί η συνάρτηση main() στην οποία ορίζεται δυναμικά ένας πίνακας a[] από k αντικείμενα τύπου Α και .... int i,n,k; A *a; cin>>k; a=new A[k]; for(i=0;i<k;i++){ cin>>n; a=A(n); } [...] delete[] a; Αρχικά διαβάζουμε το k, αριθμό των στοιχείων που θέλουμε να δεσμεύσουμε. Δεσμεύουμε με τη new k αντικείμενα και τα αποθηκεύουμε στο a. Επειδή όμως έτσι έχουμε κάνει μόνο δέσμευση και όχι αρχικοποίηση με τη τιμή n που θέλουμε, εκτελούμε μία επανάληψη για τα k στοιχεία. Εκεί καλούμε τον constructor για κάθε στοιχείο. Όταν ξαναορίζουμε ένα αντικείμενο αυτόματα διαγράφεται το παλιό και αποθηκεύεται το καινούργιο που προκύπτει από τη κλήση στον constructor. Τέλος πρέπει να αποδεσμεύσουμε τη μνήμη που δεσμεύσαμε με τη delete[] Title: deleted Post by: BOBoMASTORAS on December 03, 2007, 17:19:59 pm deleted
Title: deleted Post by: BOBoMASTORAS on December 03, 2007, 17:27:56 pm deleted
Title: Re: Προγραμματιστικές Τεχνικές Εργασία Ε 2007 Post by: samavasi on December 03, 2007, 18:36:55 pm thx bob!
|