Α. Πρώτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει τον ζητούµενο παρακάτω πίνακα και α. να εµφανίσει τα στοιχεία του, β. να τυπώσει τον µέσο όρο των στοιχείων του, γ. να ταξινοµήσει τα στοιχεία του, δ. να τυπώσει ένα ιστόγραµµα των στοιχείων του Α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