Προαπαιτούμενες Ασκήσεις 5 ου Εργαστηρίου. Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found

Σχετικά έγγραφα
17TimeThis.h function returns reference pointer to same object { return *this; }

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

Παράδειγµα χρήσης πίνακα

Προγραμματισμός Η/Υ. Ενότητα 8: Ειδικά Θέματα Αλγορίθμων

Αντικειμενοστρεφής Προγραμματισμός

Σημειώσεις δεύτερης εβδομάδας

ΗΥ-150. Προγραμματισμός

B1. Σειρά :

ΗΥ-150. Πίνακες (Arrays)

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

Ειδικά Θέματα Ι. Σήμερα!

POINTERS, AGGREGATION, COMPOSITION

Προγραμματισμός Ι. Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Διάλεξη 9η: Πίνακες (arrays)

Σι θα δούμε σε αυτό το μάθημα;

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Δείκτες (Pointers) (1/2) ΗΥ150 Προγραμματισμός

ΗΥ-150. Προγραμματισμός

Μεταφραστής (Compiler)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Υπερφόρτωση τελεστών (operator(

Αντικειμενοστρεφής Προγραμματισμός

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Συναρτήσεις και Πίνακες

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πανεπιστήµιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) είκτες και Συµβολοσειρές (Pointers. & Strings)

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

ΕΠΛ131 Αρχές Προγραμματισμού

Τύποι Δεδομένων Είσοδος/Έξοδος

Δομημένος Προγραμματισμός

ΠΠΜ 500: Προχωρημένη Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής. 9. Πίνακες (Arrays) Χειμερινό εξάμηνο 2012

AVL-trees C++ implementation

Στοίβες - Ουρές. Στοίβα (stack) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής

ΗΥ-150. Προγραµµατισµός. Πίνακες (Arrays)

ΕΡΓΑΣΤΗΡΙΟ 5 ΣΗΜΕΙΩΣΕΙΣ

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Οντοκεντρικός Προγραμματισμός

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

2 using namespace s t d ; 4 { 12 int t= x ; 6 x=y ; 7 y=t ; 8 } 9 11 { 13 x= y ; 14 y=t ; 15 } {

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ

Φροντιςτήριο. Linked-List

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

Πίνακες στη Java. Αντικειμενοστρεφής Προγραμματισμός 4/4/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

Προγραμματιστικές Τεχνικές

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Συναρτήσεις στη C++ Οι µεταβλητές χαρακτηρίζονται από διάφορες ιδιότητες. Για ποιο διάστηµα η µεταβλητή υπάρχει στη µνήµη

Outline 6.1 Εισαγωγή 6.2 Ορισµός δοµών - Structure 6.3 Προσπέλαση µελών δοµής - structure 6.4 Υλοποίηση τύπου Time µε struct από το χρήστη 6.

Συµβολοσειρές - Strings

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα μέσα σε αντικείμενα Αντικείμενα ως επιστρεφόμενες τιμές Αντικείμενα με πίνακες

Αντικειμενοστρεφής Προγραμματισμός

Aσκήσεις Πράξης 6 - EΠΑΝΑΛΗΠΤΙΚΟ A ΜΕΘΟ ΟΛΟΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΕΡΓΑΣΤΗΡΙΟ. 5. Τι τυπώνει το επόµενο πρόγραµµα:

ΗΥ-150. Ταξινόµηση και Αναζήτηση

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Βασικές Έννοιες Δοµών Δεδοµένων

Δομές Δεδομένων - Εργαστήριο 5. Ουρές Προτεραιότητας

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Πέρασμα παραμέτρων, συναρτήσεις δόμησης και αποδόμησης

Διάλεξη 10η: Πολυδιάστατοι Πίνακες

Αντικειμενοστρεφής Προγραμματισμός

Προγραμματισμός Υπολογιστών με C++

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

Διάλεξη 11η: Δείκτες, μέρος 1

Δομές Δεδομένων & Αλγόριθμοι

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Δυναμική μνήμη με πίνακες και λίστες

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Μέθοδοι που επιστρέφουν αντικείμενα Deep and Shallow Copies

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

p

Απάντηση. // We write in a header file named my_header.h #ifndef my_header_h #define my_header_h #define divides(x,y) (((y)%(x)==0)?

Προγραμματισμός Επιπλέον στοιχεία της C++

Το πρόγραμμα θα τυπώνει και τους τρεις πίνακες.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Διάλεξη 14: Δομές Δεδομένων ΙΙI (Λίστες και Παραδείγματα)

Οντοκεντρικός Προγραμματισμός

Συναρτήσεις (Functions) Εισαγωγή στη C++

Αναφορές, είκτες και Αλφαριθμητικά

Αντικειμενοστρεφής Προγραμματισμός

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΕΡΓΑΣΤΗΡΙΟ C++ ΕΞΑΜΗΝΟ Γ Ακαδηµαϊκό Έτος

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Πίνακες.

Διαδικασίες ΙI. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 5

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012

int Α[] = {4, 16, 22, 12, 9, 15, 10}; { 4, 9, 10, 12, 15, 16, 22 } Α[0]=4, Α[1]=9, Α[2]=10 { 4, 16,22, 12, 9, 15, 10} { 4, 12, 16, 22, 9, 15,16, 22 }

Ανάλυση άσκησης. Employee. SalariedEmployee CommissionEmployee HourlyEmployee. BasePlusCommissionEmployee

Transcript:

Α. Πρώτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει τον ζητούµενο παρακάτω πίνακα και α. να εµφανίσει τα στοιχεία του, β. να τυπώσει τον µέσο όρο των στοιχείων του, γ. να ταξινοµήσει τα στοιχεία του, δ. να τυπώσει ένα ιστόγραµµα των στοιχείων του Α1. Πίνακας 10 ακεραίων µε τιµές 9,8,7,...,0. Α2. Πίνακας 10 ακεραίων µε τιµές 19,18,12..10. Α3. Πίνακας 5 πραγµατικών αριθµών µε τιµές 32.10, 15.80, 53.45, 35.75, 8.20 Α4. Πίνακας 20 ακεραίων µε τυχαίες τιµές µικρότερες από το 80. Α5. Πίνακας µε 15 στοιχεία τύπου short int που θα έχουν τυχαίες τιµές µικρότερες από το 30. Α6. Πίνακας µε 12 στοιχεία τύπου long int που θα έχουν τυχαίες τιµές µικρότερες από το 65. Α7. Πίνακας 16 πραγµατικών αριθµών µε τυχαίες τιµές µικρότερες του 50. Α8. Πίνακας µε 8 bool τιµές εναλλάξ true & false. Α9. Πίνακας 10 χαρακτήρων µε τιµές I,H,G...,A. //Ο Αscii κωδικός του A είναι το 65 και του Ι to 73 Α10. Πίνακας 8 χαρακτήρων µε τυχαίες τιµές από το \65 έως το \90. //Α..Ζ (Όλα τα αλφαριθµητικά τελειώνουν µε τον χαρακτήρα null ( \0 ) Β. εύτερη προαπαιτούµενη ηµιουργείστε µια συνάρτηση που θα ελέγχει αν ένα συγκεκριµένο στοιχείο υπάρχει µέσα στον πίνακα που δηµιουργήσατε πριν, και διαµορφώστε έτσι το πρόγραµµά σας ώστε να έχει µια παρόµοια εκτέλεση: Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found Γ. Τρίτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει ένα πρόγραµµα, στο οποίο θα ορίζει µια από τις παρακάτω κλάσεις. Στο κυρίως πρόγραµµα θα δηλώνει ένα µικρού µεγέθους πίνακα αντικειµένων αυτής της κλάσης, θα δίνει τιµές από το πληκτρολόγιο σε όλα τα στοιχεία του και κατόπιν θα εµφανίζει τα δεδοµένα του πίνακα. Γ1. Κλάση χρήµατα µε 2 πεδία: ευρώ και λεπτά. Γ2. Κλάση προϊόν µε 3 πεδία: όνοµα προιόντος, βάρος και τιµή Γ3. Κλάση σηµείο µε 2 πεδία: συντεταγµένες x και y Γ4. Κλάση πραγµατικός µε 1 πεδίο: πραγµατικό µέρος Γ5. Κλάση χαρτί µε 2 πεδία: χρώµα, µέγεθος Γ6. Κλάση ηµεροµηνία µε 3 πεδία: χρόνος, µήνας, ηµέρα. Γ7. Κλάση άτοµο µε 4 πεδία: όνοµα, ταυτότητα, ηλικία, βάρος Γ8. Κλάση υπάλληλος µε 4 πεδία: αριθµός υπαλλήλου, ηλικία, φύλο, µισθός Γ9. Κλάση αποστολή µε 5 πεδία: οδός, αριθµός, πόλη, κωδικός, χώρα Γ10. Κλάση σπουδαστής µε 6 πεδία: ΑΜ, επώνυµο, όνοµα, ηλικία, τµήµα, εξάµηνο. BK -Προαπαιτούμενες Ασκήσεις 5ου Εργαστηρίου - σελίs 1

ΠΙΝΑΚΕΣ 11arrayBar.cpp // Πίνακας και ιστόγραµµα //BK 13/04/10-11arrayBar - Απλό ιστόγραµµα µε αστεράκια int main() const int arraysize = 10; //Το µέγεθος του πίνακα είναι σταθερά int n[ arraysize ] = 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 ; //Tίτλος cout << "Element" << setw(13) << "Value" << setw(17) << "Histogram" << endl; // for each element of array n, output a bar in histogram for ( int i = 0; i < arraysize; i++ ) cout << setw( 7 ) << i << setw( 13 ) << n[ i ] << setw( 9 ); for ( int j = 0; j < n[ i ]; j++ ) // print one bar cout << '*'; cout << endl; // start next line of output system("pause"); return 0; //end of main BK -Προαπαιτούμενες Ασκήσεις 5ου Εργαστηρίου - σελίs 2

12arrayPass.cpp // Πίνακας παράµετρος σε συνάρτηση (by reference) // BK 13/04/10-12arrayPASS //ARRAYS ARE PASSED BY REFERENCE (µε αναφορά) //ΕΝΑ ΜΟΝΟ ΣΤΟΙΧΕΙΟ του πίνακα µπορεί να περαστεί BΥ VΑLUE (µε αξία) void showarray(int A[],int s) for ( int i = 0; i < s; i++ ) cout << setw( 3 ) << A[ i ]; cout << endl; // in function modifyarray, "b" points to the original array "a" in memory void modifyarray( int b[], int sizeofarray ) for ( int k = 0; k < sizeofarray; k++ ) b[ k ] *= 2; // multiply each array element by 2 // in function modifyelement, "e" is a local copy of array element a[3] void modifyelement( int e ) cout << "Value in modifyelement is " << ( e *= 2 ) << endl; // multiply by 2 void modifyelementref( int& e ) cout << "Value in modifyelement By Reference is " << ( e *= 2 ) << endl; int main() const int arraysize = 7; int a[ arraysize ] = 0, 1, 2, 3, 4 ; // initialize a cout << "\nthe values of the original array are:\n"; showarray(a, arraysize); //pass array a to modifyarray by reference,παράµετρος & το µέγεθος του Πίνακα modifyarray( a, arraysize ); //Πολλαπλασιάζει όλα τα στοιχεία µε το 2. cout << "The values of the modified array are:\n"; showarray(a, arraysize); // 0,2,4,6,8 cout<< "\n\nthe value of a[3] is " << a[ 3 ] << '\n'; // 6 modifyelement( a[ 3 ] ); // pass array element a[ 3 ] by value cout << "The value of a[3] is " << a[ 3 ] << endl << endl; // 6 modifyelementref( a[ 3 ] ); // pass array element a[ 3 ] by reference cout << "The value of a[3] is " << a[ 3 ] << endl << endl; // 12 system("pause"); return 0;// indicates successful termination //end of main BK -Προαπαιτούμενες Ασκήσεις 5ου Εργαστηρίου - σελίs 3

13arrayOrder.cpp // Πίνακας και ταξινόµηση // BK 13/04/10-13arrayΟRDER - TAΞΙΝΟΜΗΣΗ ακεραίων void showarray(int A[],int s) // output original array for ( int i = 0; i < s; i++ ) cout << setw( 3 ) << A[ i ]; cout << endl; void orderarray(int A[],int s) int hold; // temporary location used to swap array elements // bubble sort loop to control number of passes for ( int pass = 0; pass < s - 1; pass++ ) // loop to control number of comparisons per pass for ( int j = 0; j < s - 1; j++ ) // compare side-by-side elements // and swap them if first element is greater than second element if ( A[ j ] > A[ j + 1 ] ) hold = A[ j ]; A[ j ] = A[ j + 1 ]; A[ j + 1 ] = hold; // end if int main() const int arraysize = 10; int a[ arraysize ] = 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 ; cout << "Data items in original order\n"; showarray(a,arraysize); orderarray(a,arraysize); showarray(a,arraysize); system("pause"); return 0; //end of main BK -Προαπαιτούμενες Ασκήσεις 5ου Εργαστηρίου - σελίs 4

14Arraytime.cpp // Πίνακας από αντικείµενα Time arrayofτimes //BK 21/04/10 14Arraytime.cpp - Πίνακας από αντικείµενα Time class Time private: int hour; // 0-23 (24-hour clock format) int minute; // 0-59 int second; // 0-59 public: Time() hour = minute = second = 0; void settime( int h, int m, int s ) hour = ( h >= 0 && h < 24 )? h : 0; minute = ( m >= 0 && m < 60 )? m : 0; second = ( s >= 0 && s < 60 )? s : 0; void printstandard() cout << ( ( hour == 0 hour == 12 )? 12 : hour % 12 ) << ":" << setfill( '0' ) << setw( 2 ) << minute << ":" << setw( 2 ) << second << ( hour < 12? " AM" : " PM" ); ; int main() const int arraysize = 2; Time t; // object t of class Time cout << "\nthe initial standard time is "; t.printstandard(); // 12:00:00 AM t.settime( 13, 27, 6 ); // change time cout << "\nstandard time after settime is "; t.printstandard(); // 1:27:06 PM cout << endl << endl ; BK -Προαπαιτούμενες Ασκήσεις 5ου Εργαστηρίου - σελίs 5

Time arrayoftimes [ arraysize ]; // ARRAY OF arraysize=2 Time OBJECTS //1st object: arrayoftimes[ 0 ] //2nd object: arrayoftimes[ 1 ] for (int i=0; i< arraysize; i++ ) cout << "\nthe initial standard time of " << i <<" array object is "; arrayoftimes[i].printstandard(); cout << endl << endl ; system("pause"); return 0; //end of main BK -Προαπαιτούμενες Ασκήσεις 5ου Εργαστηρίου - σελίs 6