Παράδειγµα χρήσης πίνακα
|
|
- Τρύφαινα Παππάς
- 7 χρόνια πριν
- Προβολές:
Transcript
1 24 Strings Παράδειγµα χρήσης πίνακα Πίνακες χαρακτήρων Όλα τα strings τερµατίζουν µε το null χαρακτήρα ('\0') Παραδείγµατα char string1[] = "hello"; Το Null θα προστεθεί στο τέλος Η µεταβλητή string1 έχει 6 στοιχεία char string1[] = { 'h', 'e', 'l', 'l', 'o', '\0 }; Η προσπέλαση των στοιχείων γίνεται µε τον ίδιο τρόπο String1[ 0 ] is 'h' string1[ 2 ] is 'l'
2 Παράδειγµα χρήσης πίνακα 25 Είσοδος από το πληκτρολόγιο char string2[ 10 ]; cin >> string2; Αποθηκεύει την είσοδο του χρήστη στο string Μέχρι να συναντήσει τον πρώτο whitespace character Προσθέτει το null character στο τέλος Εάν το κείµενο υπερβαίνει το µέγεθος του πίνακα πιθανό runtime error Θέλουµε να το αποφύγουµε αυτό cin >> setw(10) >> string2; ιαβάζει 9 χαρακτήρες (χώρος δεσµεύεται και για το '\0') Εκτύπωση ενός string cout << string2 << endl; εν δουλεύει για άλλους τύπους δεδοµένων
3 1 // Fig. 4_12: fig04_12.cpp 2 // Treating character arrays as strings. 3 #include <iostream> 4 5 using std::cout; 6 using std::cin; 7 using std::endl; 8 9 int main() 10 { Two different ways to declare strings. string2 is initialized, and its size 11 char string1[ 20 ], // reserves 20 characters 12 char string2[] = "string literal"; // reserves 15 characters 13 Examples of reading strings 14 // read string from user into array from string2 the keyboard and 15 cout << "Enter the string \"hello printing there\": them "; out. 16 cin >> string1; // reads "hello" [space terminates input] // output strings 19 cout << "string1 is: " << string1 20 << "\nstring2 is: " << string2; cout << "\nstring1 with spaces between characters is:\n"; 23 determined automatically. fig04_12.cpp (1 of 2) 26
4 24 // output characters until null character is reached 25 for ( int i = 0; string1[ i ]!= '\0'; i++ ) 26 cout << string1[ i ] << ' '; cin >> string1; // reads "there" 29 cout << "\nstring1 is: " << string1 << endl; return 0; // indicates successful termination } // end main Enter the string "hello there": hello there string1 is: hello string2 is: string literal string1 with spaces between characters is: h e l l o string1 is: there Can access the characters in a string using array notation. The loop ends when the null character is found. fig04_12.cpp (2 of 2) fig04_12.cpp output (1 of 1) 27
5 28 Παράδειγµα χρήσης πίνακα Στατικοί τοπικοί πίνακες ιατηρούν τις τιµές τους µεταξύ των κλήσεων µιας συνάρτησης Οι στατικοί πίνακες αρχικοποιούνται µε µηδέν static int array[3]; Αυτόµατοι τοπικοί πίνακες ηµιουργούνται (και καταστρέφονται) µε κάθε κλήση της συνάρτησης.
6 1 // Fig. 4.13: fig04_13.cpp 2 // Static arrays are initialized to zero. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 void staticarrayinit( void ); // function prototype 9 void automaticarrayinit( void ); // function prototype int main() 12 { 13 cout << "First call to each function:\n"; 14 staticarrayinit(); 15 automaticarrayinit(); cout << "\n\nsecond call to each function:\n"; 18 staticarrayinit(); 19 automaticarrayinit(); 20 cout << endl; return 0; // indicates successful termination } // end main 25 fig04_13.cpp (1 of 3) 29
7 26 // function to demonstrate a static local array 27 void staticarrayinit( void ) 28 { Static array, initialized to zero on first function call. 29 // initializes elements to 0 first time function is called 30 static int array1[ 3 ]; cout << "\nvalues on entering staticarrayinit:\n"; // output contents of array1 35 for ( int i = 0; i < 3; i++ ) 36 cout << "array1[" << i << "] = " << array1[ i ] << " "; 37 Array data is changed; the 38 cout << "\nvalues on exiting staticarrayinit:\n"; modified values stay // modify and output contents of array1 41 for ( int j = 0; j < 3; j++ ) 42 cout << "array1[" << j << "] = " 43 << ( array1[ j ] += 5 ) << " "; } // end function staticarrayinit 46 fig04_13.cpp (2 of 3) 30
8 47 // function to demonstrate an automatic local array 48 void automaticarrayinit( void ) 49 { 50 // initializes elements each time function is called 51 int array2[ 3 ] = { 1, 2, 3 }; cout << "\n\nvalues on entering automaticarrayinit:\n"; // output contents of array2 56 for ( int i = 0; i < 3; i++ ) 57 cout << "array2[" << i << "] = " << array2[ i ] << " "; 58 Although the array is 59 cout << "\nvalues on exiting automaticarrayinit:\n"; // modify and output contents of array2 62 for ( int j = 0; j < 3; j++ ) 63 cout << "array2[" << j << "] = " 64 << ( array2[ j ] += 5 ) << " "; } // end function automaticarrayinit Automatic array, recreated with every function call. changed, it will be destroyed when the function exits and the changes will be lost. fig04_13.cpp (3 of 3) 31
9 First call to each function: Values on entering staticarrayinit: array1[0] = 0 array1[1] = 0 array1[2] = 0 Values on exiting staticarrayinit: array1[0] = 5 array1[1] = 5 array1[2] = 5 fig04_13.cpp output (1 of 1) 32 Values on entering automaticarrayinit: array2[0] = 1 array2[1] = 2 array2[2] = 3 Values on exiting automaticarrayinit: array2[0] = 6 array2[1] = 7 array2[2] = 8 Second call to each function: Values on entering staticarrayinit: array1[0] = 5 array1[1] = 5 array1[2] = 5 Values on exiting staticarrayinit: array1[0] = 10 array1[1] = 10 array1[2] = 10 Values on entering automaticarrayinit: array2[0] = 1 array2[1] = 2 array2[2] = 3 Values on exiting automaticarrayinit: array2[0] = 6 array2[1] = 7 array2[2] = 8
10 33 Πέρασµα πίνακα σε συνάρτηση Περνάµε το όνοµα του πίνακα και προαιρετικά το µέγεθος του πίνακα Παράδειγµα int myarray[ 24 ]; myfunction( myarray, 24 ); Τοµέγεθοςτουπίνακαείναικαλήπρακτικήναπερνάως όρισµα γιατί µας επιτρέπει να έχουµε loops προσπέλασης όλων των στοιχείων εντός της συνάρτησης
11 34 Πέρασµα πίνακα σε συνάρτηση Το πέρασµα του πίνακα γίνεται µε αναφορά (byreference) Η συνάρτηση µπορεί να αλλάξει τις τιµές των στοιχείων του αρχικού πίνακα Το όνοµα του πίνακα αντιστοιχεί στη διεύθυνση του πρώτου στοιχείου του πίνακα Η συνάρτηση γνωρίζει που αποθηκεύεται ο πίνακας στη µνήµη Μπορεί να αλλάξει τις τιµές στις θέσεις µνήµης του πίνακα Το πέρασµα µεµονωµένων στοιχείων του πίνακα γίνεται µε τιµή (by-value) Όπως συµβαίνει και µε τις κανονικές µεταβλητές square( myarray[3] );
12 35 Πέρασµα πίνακα σε συνάρτηση Συναρτήσεις και πίνακες Πρωτότυπο συνάρτησης void modifyarray( int b[], int arraysize ); void modifyarray( int [], int ); Τα ονόµατα των παραµέτρων είναι προαιρετικά στο πρωτότυπο Τα παραπάνω πρωτότυπα είναι ισοδύναµα εν χρειάζεται το µέγεθος του πίνακα Αν προσδιορισθεί αγνοείται από τον compiler Εάν δηλώσουµε παράµετρο που είναι πίνακας ως const εν µπορεί να αλλάξει µέσα στη συνάρτηση (compiler error εάν επιχειρηθεί αλλαγή) void donotmodify( const int [] );
13 1 // Fig. 4.14: fig04_14.cpp 2 // Passing arrays and individual array elements to functions. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 #include <iomanip> 9 10 using std::setw; 11 Syntax for accepting an array in parameter list. 12 void modifyarray( int [], int ); // appears strange 13 void modifyelement( int ); int main() 16 { 17 const int arraysize = 5; // size of array a 18 int a[ arraysize ] = { 0, 1, 2, 3, 4 }; // initialize a cout << "Effects of passing entire array by reference:" 21 << "\n\nthe values of the original array are:\n"; // output original array 24 for ( int i = 0; i < arraysize; i++ ) 25 cout << setw( 3 ) << a[ i ]; fig04_14.cpp (1 of 3) 36
14 26 27 cout << endl; 28 Pass array name (a) and size to function. Arrays are passed-by-reference. 29 // pass array a to modifyarray by reference 30 modifyarray( a, arraysize ); cout << "The values of the modified array are:\n"; // output modified array 35 for ( int j = 0; j < arraysize; j++ ) 36 cout << setw( 3 ) << a[ j ]; // output value of a[ 3 ] 39 cout << "\n\n\n" 40 << "Effects of passing array element by value:" 41 << "\n\nthe value of a[3] is " << a[ 3 ] << '\n'; // pass array element a[ 3 ] by value modified. 44 modifyelement( a[ 3 ] ); // output value of a[ 3 ] 47 cout << "The value of a[3] is " << a[ 3 ] << endl; return 0; // indicates successful termination } // end main Pass a single array element by value; the original cannot be fig04_14.cpp (2 of 3) 37
15 52 53 // in function modifyarray, "b" points to 54 // the original array "a" in memory 55 void modifyarray( int b[], int sizeofarray ) 56 { 57 // multiply each array element by 2 58 for ( int k = 0; k < sizeofarray; k++ ) 59 b[ k ] *= 2; } // end function modifyarray // in function modifyelement, "e" is a local copy of 64 // array element a[ 3 ] passed from main 65 void modifyelement( int e ) 66 { 67 // multiply parameter by 2 68 cout << "Value in modifyelement is " 69 << ( e *= 2 ) << endl; } // end function modifyelement Although named b, the array points to the original array a. It can modify a s data. fig04_14.cpp (3 of 3) Individual array elements are passed by value, and the originals cannot be changed. 38
16 Effects of passing entire array by reference: The values of the original array are: The values of the modified array are: fig04_14.cpp output (1 of 1) 39 Effects of passing array element by value: The value of a[3] is 6 Value in modifyelement is 12 The value of a[3] is 6
17 1 // Fig. 4.15: fig04_15.cpp 2 // Demonstrating the const type qualifier. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 Array parameter declared as const. Array cannot be modified, even though it is passed by reference. 8 void trytomodifyarray( const int [] ); // function prototype 9 10 int main() 11 { 12 int a[] = { 10, 20, 30 }; trytomodifyarray( a ); cout << a[ 0 ] << ' ' << a[ 1 ] << ' ' << a[ 2 ] << '\n'; return 0; // indicates successful termination } // end main 21 fig04_15.cpp (1 of 2) 40
18 22 // In function trytomodifyarray, "b" cannot be used 23 // to modify the original array "a" in main. 24 void trytomodifyarray( const int b[] ) 25 { 26 b[ 0 ] /= 2; // error 27 b[ 1 ] /= 2; // error 28 b[ 2 ] /= 2; // error } // end function trytomodifyarray fig04_15.cpp (2 of 2) fig04_15.cpp output (1 of 1) 41 d:\cpphtp4_examples\ch04\fig04_15.cpp(26) : error C2166: l-value specifies const object d:\cpphtp4_examples\ch04\fig04_15.cpp(27) : error C2166: l-value specifies const object d:\cpphtp4_examples\ch04\fig04_15.cpp(28) : error C2166: l-value specifies const object
19 42 Ταξινόµηση δεδοµένων Ταξινόµηση πίνακα Συχνή απαίτηση σε προβλήµατα ανάπτυξης λογισµικού Ταξινόµηση Φυσαλίδας (Bubble sort) Χρειάζεται πολλά περάσµατα του πίνακα ιαδοχικά ζευγάρια του πίνακα συγκρίνονται µεταξύ τους Εάν τα στοιχεία του ζευγαριού είναι σε αύξουσα σειρά, καµιά αλλαγή Εάν τα στοιχεία του ζευγαριού είναι σε φθίνουσα σειρά, τα στοιχεία αλλάζουν θέση Επαναλαµβάνουµε τα παραπάνω βήµατα για κάθε στοιχείο του πίνακα
20 43 Παράδειγµα: Ταξινόµηση πίνακα Προχωρούµε από αριστερά προς τα δεξιά, και αλλάζουµε τη σειρά των στοιχείων του ζευγαριού όταν χρειάζεται Ένα πέρασµα για κάθε στοιχείο του πίνακα Αρχικά: Pass 1: (elements exchanged) Pass 2: Pass 3: (no changes needed) Pass 4: Pass 5: Οι µικρές τιµές «ρέουν» προς την κορυφή του πίνακα (όπως το 2 σε αυτό το παράδειγµα)
21 44 Ταξινόµηση πίνακα Ανταλλαγή µεταβλητών Λάθος int x = 3, y = 4; y = x; x = y; Ανταλλαγή µεταβλητών Σωστό int x = 3, y = 4, temp = 0; temp = x; // temp gets 3 x = y; // x gets 4 y = temp; // y gets 3
22 1 // Fig. 4.16: fig04_16.cpp 2 // This program sorts an array's values into ascending order. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 #include <iomanip> 9 10 using std::setw; int main() 13 { 14 const int arraysize = 10; // size of array a 15 int a[ arraysize ] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 }; 16 int hold; // temporary location used to swap array elements cout << "Data items in original order\n"; // output original array 21 for ( int i = 0; i < arraysize; i++ ) 22 cout << setw( 4 ) << a[ i ]; 23 fig04_16.cpp (1 of 3) 45
23 24 // bubble sort 25 // loop to control number of passes 26 for ( int pass = 0; pass < arraysize; pass++ ) // loop to control number of comparisons per pass 29 for ( int j = 0; j < arraysize - 1; j++ ) // compare side-by-side elements and swap them if 32 // first element is greater than second element 33 if ( a[ j ] > a[ j + 1 ] ) { 34 hold = a[ j ]; 35 a[ j ] = a[ j + 1 ]; 36 a[ j + 1 ] = hold; } // end if 39 Do a pass for each element in the array. fig04_16.cpp (2 of 3) If the element on the left (index j) is larger than the element on the right (index j + 1), then we swap them. Remember the need of a temp variable. 46
24 40 cout << "\ndata items in ascending order\n"; // output sorted array 43 for ( int k = 0; k < arraysize; k++ ) 44 cout << setw( 4 ) << a[ k ]; cout << endl; return 0; // indicates successful termination } // end main fig04_16.cpp (3 of 3) fig04_16.cpp output (1 of 1) 47 Data items in original order Data items in ascending order
25 48 Αναζήτηση πίνακα: Γραµµική Αναζήτηση Αναζήτηση µιας τιµής-κλειδί σ έναν πίνακα Γραµµική αναζήτηση Συγκρίνουµε κάθε στοιχείο του πίνακα µε το κλειδί Σαρώνουµε τον πίνακα από την αρχή µέχρι το τέλος Βολικό για µικρούς και µη-ταξινοµηµένους πίνακες Μη-αποδοτικό Εάν το κλειδί δεν υπάρχει εξετάζεται κάθε στοιχείο του πίνακα
26 Αναζήτηση πίνακα: υαδική Αναζήτηση 49 υαδική αναζήτηση Μπορεί να εφαρµοστεί σε ταξινοµηµένους πίνακες Συγκρίνουµε το µεσαίο στοιχείο (middle) µε το κλειδί (key) If key == middle, τοκλειδίβρέθηκε If key < middle Repeat search on first half of array If key > middle Repeat search on last half Γρήγορη αναζήτηση ΤοπολύΝβήµατα, όπου 2 > # of elements Για 30 στοιχεία θέλουµε το πολύ 5 βήµατα 5 2 > 30 N
27 1 // Fig. 4.19: fig04_19.cpp 2 // Linear search of an array. 3 #include <iostream> 4 5 using std::cout; 6 using std::cin; 7 using std::endl; 8 Takes array, search key, and array size. 9 int linearsearch( const int [], int, int ); // prototype int main() 12 { 13 const int arraysize = 100; // size of array a 14 int a[ arraysize ]; // create array a 15 int searchkey; // value to locate in a for ( int i = 0; i < arraysize; i++ ) // create some data 18 a[ i ] = 2 * i; cout << "Enter integer search key: "; 21 cin >> searchkey; // attempt to locate searchkey in array a 24 int element = linearsearch( a, searchkey, arraysize ); 25 fig04_19.cpp (1 of 2) 50
28 26 // display results 27 if ( element!= -1 ) 28 cout << "Found value in element " << element << endl; 29 else 30 cout << "Value not found" << endl; return 0; // indicates successful termination } // end main // compare key to every element of array until location is 37 // found or until end of array is reached; return subscript of 38 // element if key or -1 if key not found 39 int linearsearch( const int array[], int key, int sizeofarray ) 40 { 41 for ( int j = 0; j < sizeofarray; j++ ) if ( array[ j ] == key ) // if found, 44 return j; // return location of key return -1; // key not found } // end function linearsearch fig04_19.cpp (2 of 2) 51
29 Enter integer search key: 36 Found value in element Enter integer search key: 37 Value not found fig04_19.cpp output (1 of 1)
30 1 // Fig. 4.20: fig04_20.cpp 2 // Binary search of an array. 3 #include <iostream> 4 5 using std::cout; 6 using std::cin; 7 using std::endl; 8 9 #include <iomanip> using std::setw; // function prototypes 14 int binarysearch( const int [], int, int, int, int ); 15 void printheader( int ); 16 void printrow( const int [], int, int, int, int ); int main() 19 { 20 const int arraysize = 15; // size of array a 21 int a[ arraysize ]; // create array a 22 int key; // value to locate in a for ( int i = 0; i < arraysize; i++ ) // create some data 25 a[ i ] = 2 * i; 26 fig04_20.cpp (1 of 6) 53
31 27 cout << "Enter a number between 0 and 28: "; 28 cin >> key; printheader( arraysize ); // search for key in array a 33 int result = 34 binarysearch( a, key, 0, arraysize - 1, arraysize ); // display results 37 if ( result!= -1 ) 38 cout << '\n' << key << " found in array element " 39 << result << endl; 40 else 41 cout << '\n' << key << " not found" << endl; return 0; // indicates successful termination } // end main 46 fig04_20.cpp (2 of 6) 54
32 47 // function to perform binary search of an array 48 int binarysearch( const int b[], int searchkey, int low, 49 int high, int size ) 50 { 51 int middle; // loop until low subscript is greater than high subscript 54 while ( low <= high ) { // determine middle element of subarray being searched 57 middle = ( low + high ) / 2; // display subarray used in this loop iteration 60 printrow( b, low, middle, high, size ); 61 Determine middle element fig04_20.cpp (3 of 6) 55
33 62 // if searchkey matches middle element, return middle 63 if ( searchkey == b[ middle ] ) // match 64 return middle; else // if searchkey less than middle element, 69 // set new high element 70 if ( searchkey < b[ middle ] ) 71 high = middle - 1; // search low end of array // if searchkey greater than middle element, 74 // set new low element 75 else Use the rule of binary search: If key equals middle, match If less, search low end If greater, search high end Loop sets low, middle and high dynamically. If searching the high end, the new low is the element above 76 low = middle + 1; // search high end of array 77 } the middle return -1; // searchkey not found } // end function binarysearch fig04_20.cpp (4 of 6) 56
34 82 83 // print header for output 84 void printheader( int size ) 85 { 86 cout << "\nsubscripts:\n"; // output column heads 89 for ( int j = 0; j < size; j++ ) 90 cout << setw( 3 ) << j << ' '; cout << '\n'; // start new line of output // output line of - characters 95 for ( int k = 1; k <= 4 * size; k++ ) 96 cout << '-'; cout << endl; // start new line of output } // end function printheader 101 fig04_20.cpp (5 of 6) 57
35 102 // print one row of output showing the current 103 // part of the array being processed 104 void printrow( const int b[], int low, int mid, 105 int high, int size ) 106 { 107 // loop through entire array 108 for ( int m = 0; m < size; m++ ) // display spaces if outside current subarray range 111 if ( m < low m > high ) 112 cout << " "; // display middle element marked with a * 115 else if ( m == mid ) // mark middle value 118 cout << setw( 3 ) << b[ m ] << '*'; // display other elements in subarray 121 else 122 cout << setw( 3 ) << b[ m ] << ' '; cout << endl; // start new line of output } // end function printrow fig04_20.cpp (6 of 6) 58
36 Enter a number between 0 and 28: 6 Subscripts: * * fig04_20.cpp output (1 of 2) 59 6 found in array element 3 Enter a number between 0 and 28: 25 Subscripts: * * * 28 24* 25 not found
37 Enter a number between 0 and 28: 8 Subscripts: * * * 12 8* fig04_20.cpp output (2 of 2) 60 8 found in array element 4
38 Αναζήτηση πίνακα: υαδική Αναζήτηση 61 Χρήση αναδροµικής συνάρτησης για την υλοποίηση της δυαδικής αναζήτησης
39 47 // Recursive function to perform binary search of an array 48 int rbinarysearch( const int b[], int searchkey, int low, 49 int high, int size ) 50 { 51 int middle; // search until low subscript is greater than high subscript Determine middle element 54 if ( low <= high ) { // determine middle element of subarray being searched 57 middle = ( low + high ) / 2; // display subarray used in this iteration 60 printrow( b, low, middle, high, size ); 61 62
40 62 // if searchkey matches middle element, return middle 63 if ( searchkey == b[ middle ] ) // match 64 return middle; else // if searchkey less than middle element, 69 // search low end of array 70 if ( searchkey < b[ middle ] ) If greater, search high end 71 return rbinarysearch(b, searchkey, low, middle 1, size); 72 Recursive step sets low, 73 // if searchkey greater than middle element, 74 // search high end of array 75 else return rbinarysearch(b, searchkey, middle+1, high, size); 77 } return -1; // searchkey not found } // end function rbinarysearch Use the rule of binary search: If key equals middle, match If less, search low end middle and high dynamically. If searching the high end, the new low is the element above the middle. 63
41 Πολυδιάστατοι πίνακες 64 ύο διαστάσεις a[ i ][ j ] Πίνακες µε γραµµές και στήλες Πρώτα αναφέρουµε τη γραµµή και µετά τη στήλη Array of arrays a[0] είναι ένας πίνακας 4 στοιχείων a[0][0] είναι το πρώτο στοιχείο αυτού του πίνακα Row 0 Row 1 Row 2 Column 0 Column 1 Column 2 Column 3 a[ 0 ][ 0 ] a[ 1 ][ 0 ] a[ 2 ][ 0 ] a[ 0 ][ 1 ] a[ 1 ][ 1 ] a[ 2 ][ 1 ] a[ 0 ][ 2 ] a[ 1 ][ 2 ] a[ 2 ][ 2 ] a[ 0 ][ 3 ] a[ 1 ][ 3 ] a[ 2 ][ 3 ] Column subscript Array name Row subscript
42 Πολυδιάστατοι πίνακες 65 Αρχικοποίηση Default τιµή 0 Η λίστα αρχικοποιεί κατά γραµµές int b[ 2 ][ 2 ] = { { 1, 2 }, { 3, 4 } }; Row 0 Row int b[ 2 ][ 2 ] = { { 1 }, { 3, 4 } };
43 66 Πολυδιάστατοι πίνακες Προσπέλαση στοιχείου cout << b[ 0 ][ 1 ]; Outputs 0 Η παρακάτω αναφορά είναι λανθασµένη cout << b[ 0, 1 ]; Syntax error Πρωτότυπα συναρτήσεων Πρέπει να προσδιορίζονται τα µεγέθη των δεικτών Ο πρώτος δείκτης δεν είναι απαραίτητος, όπως και στους µονοδιάστατους πίνακες void printarray( int [][ 3 ] );
44 1 // Fig. 4.22: fig04_22.cpp 2 // Initializing multidimensional arrays. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 void printarray( int [][ 3 ] ); 9 10 int main() 11 { Note the format of the prototype. 12 int array1[ 2 ][ 3 ] = { { 1, 2, 3 }, { 4, 5, 6 } }; 13 int array2[ 2 ][ 3 ] = { 1, 2, 3, 4, 5 }; 14 int array3[ 2 ][ 3 ] = { { 1, 2 }, { 4 } }; cout << "Values in array1 by row are:" << endl; 17 printarray( array1 ); cout << "Values in array2 by row are:" << endl; 20 printarray( array2 ); cout << "Values in array3 by row are:" << endl; 23 printarray( array3 ); return 0; // indicates successful termination } // end main Note the various initialization styles. The elements in array2 are assigned to the first row and then the second. fig04_22.cpp (1 of 2) 67
45 28 29 // function to output array with two rows and three columns 30 void printarray( int a[][ 3 ] ) 31 { For loops are often used to iterate through arrays. Nested loops are helpful with multiple-subscripted arrays. 32 for ( int i = 0; i < 2; i++ ) { // for each row for ( int j = 0; j < 3; j++ ) // output column values 35 cout << a[ i ][ j ] << ' '; cout << endl; // start new line of output } // end outer for structure } // end function printarray fig04_22.cpp (2 of 2) fig04_22.cpp output (1 of 1) 68 Values in array1 by row are: Values in array2 by row are: Values in array3 by row are:
46 69 Παράδειγµα χρήσης πολυδιάστατου πίνακα Ένα πρόγραµµα για την αποθήκευση της βαθµολογίας φοιτητών σε διάφορα µαθήµατα και την επεξεργασία των στοιχείων για την εξαγωγή απλών στατιστικών Χρησιµοποιείται ένας δυσδιάστατος πίνακας Οι γραµµές αναπαριστούν φοιτητές Quiz1 Οι στήλες αναπαριστούν βαθµούς Student Quiz2 Student
47 1 // Fig. 4.23: fig04_23.cpp 2 // Double-subscripted array example. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 using std::fixed; 8 using std::left; 9 10 #include <iomanip> using std::setw; 13 using std::setprecision; const int students = 3; // number of students 16 const int exams = 4; // number of exams // function prototypes 19 int minimum( int [][ exams ], int, int ); 20 int maximum( int [][ exams ], int, int ); 21 double average( int [], int ); 22 void printarray( int [][ exams ], int, int ); 23 fig04_23.cpp (1 of 6) 70
48 24 int main() 25 { 26 // initialize student grades for three students (rows) 27 int studentgrades[ students ][ exams ] = 28 { { 77, 68, 86, 73 }, 29 { 96, 87, 89, 78 }, 30 { 70, 90, 86, 81 } }; // output array studentgrades 33 cout << "The array is:\n"; 34 printarray( studentgrades, students, exams ); // determine smallest and largest grade values 37 cout << "\n\nlowest grade: " 38 << minimum( studentgrades, students, exams ) 39 << "\nhighest grade: " 40 << maximum( studentgrades, students, exams ) << '\n'; cout << fixed << setprecision( 2 ); 43 fig04_23.cpp (2 of 6) 71
49 44 // calculate average grade for each student 45 for ( int person = 0; person < students; person++ ) 46 cout << "The average grade for student " << person 47 << " is " 48 << average( studentgrades[ person ], exams ) 49 << endl; return 0; // indicates successful termination } // end main // find minimum grade Determines the average for one student. We pass the array/row containing the student s grades. Note that studentgrades[0] is itself an array. 56 int minimum( int grades[][ exams ], int pupils, int tests ) 57 { 58 int lowgrade = 100; // initialize to highest possible grade for ( int i = 0; i < pupils; i++ ) for ( int j = 0; j < tests; j++ ) if ( grades[ i ][ j ] < lowgrade ) 65 lowgrade = grades[ i ][ j ]; return lowgrade; } // end function minimum fig04_23.cpp (3 of 6) 72
50 70 71 // find maximum grade 72 int maximum( int grades[][ exams ], int pupils, int tests ) 73 { 74 int highgrade = 0; // initialize to lowest possible grade for ( int i = 0; i < pupils; i++ ) for ( int j = 0; j < tests; j++ ) if ( grades[ i ][ j ] > highgrade ) 81 highgrade = grades[ i ][ j ]; return highgrade; } // end function maximum 86 fig04_23.cpp (4 of 6) 73
51 87 // determine average grade for particular student 88 double average( int setofgrades[], int tests ) 89 { 90 int total = 0; // total all grades for one student 93 for ( int i = 0; i < tests; i++ ) 94 total += setofgrades[ i ]; return static_cast< double >( total ) / tests; // average } // end function maximum fig04_23.cpp (5 of 6) 74
52 // Print the array 101 void printarray( int grades[][ exams ], int pupils, int tests ) 102 { 103 // set left justification and output column heads 104 cout << left << " [0] [1] [2] [3]"; // output grades in tabular format 107 for ( int i = 0; i < pupils; i++ ) { // output label for row 110 cout << "\nstudentgrades[" << i << "] "; // output one grades for one student 113 for ( int j = 0; j < tests; j++ ) 114 cout << setw( 5 ) << grades[ i ][ j ]; } // end outer for } // end function printarray fig04_23.cpp (6 of 6) 75
53 The array is: [0] [1] [2] [3] studentgrades[0] studentgrades[1] studentgrades[2] Lowest grade: 68 Highest grade: 96 The average grade for student 0 is The average grade for student 1 is The average grade for student 2 is fig04_23.cpp output (1 of 1) 76
54 77 Αναφορές Harvey M. Deitel, Paul J. Deitel, C++ How to Program, 4th Edition, Prentice Hall. Bjarne Stroustrup, The C++ Programming Language, Special Edition, Addison-Wesley.
55 78 Άσκηση-1 Τι κάνει το παρακάτω πρόγραµµα?
56 79 Άσκηση-2 Τι κάνει το παρακάτω πρόγραµµα?
Προαπαιτούμενες Ασκήσεις 5 ου Εργαστηρίου. Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found
Α. Πρώτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει τον ζητούµενο παρακάτω πίνακα και α. να εµφανίσει τα στοιχεία του, β. να τυπώσει τον µέσο όρο των στοιχείων του, γ. να ταξινοµήσει τα στοιχεία
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων
Στόχοι και αντικείμενο ενότητας Πέρασμα Πίνακα σε Συνάρτηση #8.. Ειδικά Θέματα Αλγορίθμων Προβλήματα Αναζήτησης Γραμμική Αναζήτηση (Linear Search) Ενημέρωση Μέτρηση Δυαδική Αναζήτηση (Binary Search) Προβλήματα
Διαβάστε περισσότεραΤαξινόµηση και Αναζήτηση
ΗΥ-150 Προγραµµατισµός Ταξινόµηση και Αναζήτηση ΗΥ150 Προγραµµατισµός To πρόβληµα της Αναζήτησης οθέντος δεδοµένων, λ.χ. σε Πίνακα (P) Ψάχνω να βρω κάποιο συγκεκριµένο στοιχείο (key) Αν ο πίνακας δεν είναι
Διαβάστε περισσότεραΗΥ-150. Προγραμματισμός
ΗΥ-150 Ταξινόμηση και Αναζήτηση To πρόβλημα της Αναζήτησης Δοθέντος δεδομένων, λ.χ. σε Πίνακα (P) Ψάχνω να βρω κάποιο συγκεκριμένο στοιχείο (key) Αν ο πίνακας δεν είναι ταξινομημένος Γραμμική Αναζήτηση
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Ενότητα 8: Ειδικά Θέματα Αλγορίθμων
Προγραμματισμός Η/Υ Ενότητα 8: Ειδικά Θέματα Αλγορίθμων Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Πίνακες & Δείκτες ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πίνακες Πίνακες Τα στοιχεία
Διαβάστε περισσότεραΗΥ-150. Ταξινόµηση και Αναζήτηση
ΗΥ-150 Ταξινόµηση και Αναζήτηση To πρόβληµα της Αναζήτησης οθέντος δεδοµένων, λ.χ. σε Πίνακα (P) Ψάχνω να βρω κάποιο συγκεκριµένο στοιχείο (key) Αν ο πίνακας δεν είναι ταξινοµηµένος Γραµµική Αναζήτηση
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις
Διαβάστε περισσότεραΣυναρτήσεις στη C++ Οι µεταβλητές χαρακτηρίζονται από διάφορες ιδιότητες. Για ποιο διάστηµα η µεταβλητή υπάρχει στη µνήµη
Συναρτήσεις στη C++ 1 ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή Συστατικά προγράµµατος στη C++ Μαθηµατικές Συναρτήσεις (Math Library) Συναρτήσεις Header Files Γεννήτρια τυχαίων αριθµών Χαρακτηριστικά Μεταβλητών Storage Classes
Διαβάστε περισσότεραΔιάλεξη 10η: Πολυδιάστατοι Πίνακες
Διάλεξη 10η: Πολυδιάστατοι Πίνακες Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) 2D Arrays CS100, 2014-2015
Διαβάστε περισσότεραΥπερφόρτωση τελεστών (operator(
Υπερφόρτωση τελεστών (operator( overloading) Η υπερφόρτωση τελεστών είναι ένα από τα πιο ενδιαφέροντα χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού. Αναφέρεται στην πρόσθετη χρήση των συνηθισμένων
Διαβάστε περισσότεραΠρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής
Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Εμβέλεια Μεταβλητών Εμβέλεια = το τμήμα του προγράμματος στο οποίο έχει ισχύ ή είναι ορατή η μεταβλητή.
Διαβάστε περισσότεραΓλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά
Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Βασικά χαρακτηριστικά αναπτύχθηκε ως επέκταση της C το 1979 υπερσύνολο της C γλώσσα γενικού σκοπού, γρήγορη, Αντικειμενοστραφής προγραμματισμός (Object
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 27/3/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πίνακες στη Java Εισαγωγή Πίνακες Δομές δεδομένων
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Διαβάστε περισσότεραΠίνακες στη Java. Αντικειμενοστρεφής Προγραμματισμός 4/4/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 4/4/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πίνακες στη Java 1 Εισαγωγή Πίνακες Δομές δεδομένων
Διαβάστε περισσότεραΗΥ-150. Προγραμματισμός
ΗΥ-150 Προγραμματισμός Δείκτες (Pointers) Προγραμματισμός Δείκτες Τι είναι: τύπος μεταβλητών (όπως integer) Τι αποθηκεύουν: την διεύθυνση στη μνήμη άλλων μεταβλητών Τι χρειάζονται: Κυρίως, για δυναμική
Διαβάστε περισσότεραΣημειώσεις δεύτερης εβδομάδας
Σημειώσεις δεύτερης εβδομάδας 1. Δυαδική αναζήτηση: /* BINARY SEARCH */ /* use sorted input */ #include int main() { int c, first, last, middle, n, search, array[100]; printf("enter number of
Διαβάστε περισσότερα17TimeThis.h function returns reference pointer to same object { return *this; }
Προαπαιτούµενη Κάθε οµάδα θα πρέπει να εµπλουτίσει το ίδιο πρόγραµµα, που έκανε την προηγούµενη φορά, προσθέτοντας στην κλάση του έναν ή περισσότερους υπερφορτωµένους τελεστές (όπως , ++, +,-,+=..)
Διαβάστε περισσότεραΗΥ-150. Προγραμματισμός
ΗΥ-150 Πίνακες (Arrays) Εισαγωγικά Έστω ότι θέλουμε να αποθηκεύσουμε 100 ονόματα φοιτητών και τους βαθμούς τους. Πως θα το κάναμε αυτό με μεταβλητές; Πως θα μπορούσαμε να πούμε με αυτό το τρόπο «ταξινόμησε
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006
ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι το 1 εκτός αν ορίζεται διαφορετικά στη διατύπωση
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Εισαγωγή στην C++ ΔΙΔΑΣΚΟΝΤΕΣ:Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής H Γλώσσα C++ ΙΣΤΟΡΙΑ 1967:
Διαβάστε περισσότεραΠανεπιστήµιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) είκτες και Συµβολοσειρές (Pointers. & Strings)
Πανεπιστήµιο Πατρών 1 Τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) είκτες και Συµβολοσειρές (Pointers & Strings) Περιεχόµενα 2 Εισαγωγή ήλωση και αρχικοποίηση
Διαβάστε περισσότεραΔήλωση ακέραιων μεταβλητών. ροής με την στάνταρ είσοδο
Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δομημένος Προγραμματισμός και Δομές Ελέγχου 1 Εισαγωγή Είσοδος/έξοδος Hello world: #include
Διαβάστε περισσότεραΑνάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large)
Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συναρτήσεις Εξωτερικές µεταβλητές Κανόνες εµβέλειας ιάρκεια µεταβλητών Αρχικοποίηση
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Συναρτήσεις - Μεταβλητές ΔΙΔΑΣΚΟΝΤΕΣ: Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Συναρτήσεις / Μεταβλητές
Διαβάστε περισσότεραLab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1
Lab 1: C/C++ Pointers and time.h Panayiotis Charalambous 1 Send email to totis@cs.ucy.ac.cy Subject: EPL231-Registration Body: Surname Firstname ID Group A or B? Panayiotis Charalambous 2 Code Guidelines:
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Δομές Ελέγχου ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δομές Ελέγχου Εισαγωγή Πριν
Διαβάστε περισσότεραΗ εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..
Επιλογή - Επανάληψη Η εντολή if-else Ο τελεστής παράστασης συνθήκης H εντολή switch Η εντολές for και while Η εντολή do-while Η εντολές break - continue - goto Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη
Διαβάστε περισσότεραLab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1
Lab 1: C/C++ Pointers and time.h Panayiotis Charalambous 1 Send email to totis@cs.ucy.ac.cy Subject: EPL231-Registration Body: Surname Firstname ID Group A or B? Panayiotis Charalambous 2 Code Guidelines:
Διαβάστε περισσότεραΗΥ-150. Πίνακες (Arrays)
ΗΥ-150 Προγραµµατισµός Πίνακες (Arrays) Προγραµµατισµός Εισαγωγικά Έστω ότι θέλουµε να αποθηκεύσουµε 100 ονόµατα φοιτητών και τους βαθµούς τους. Πως θα το κάναµε αυτό µε µεταβλητές; Πως θα µπορούσαµε να
Διαβάστε περισσότεραΠρογραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and
Διαβάστε περισσότεραΦροντιςτήριο. Linked-List
Φροντιςτήριο Linked-List 1 Linked List Μια linked list είναι μια ακολουθία από ςυνδεδεμένουσ κόμβουσ Κάθε κόμβοσ περιέχει τουλάχιςτον Μια πληροφορία (ή ένα struct) Δείκτη ςτον επόμενο κόμβο τησ λίςτασ
Διαβάστε περισσότεραΠΠΜ 500: Προχωρημένη Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής. 9. Πίνακες (Arrays) Χειμερινό εξάμηνο 2012
9. Πίνακες (Arrays) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Εισαγωγή στους πίνακες (arrays) Ορισμοί και δημιουργία πινάκων (declaring and
Διαβάστε περισσότεραΠρογραμματισμός Αναδρομή
Προγραμματισμός Αναδρομή Προγραμματισμός Προγραμματισμός Κλήσεις Συναρτήσεων Όταν καλείται μια συνάρτηση, πρέπει Να θυμάται σε ποιο σημείο του προγράμματος θα επιστρέψει Να δεσμεύσει χώρο για την τιμή
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διαβάστε περισσότεραΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011
Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ ΕΡΓΑΣΤΗΡΙΟ Κωδικός Θ: ΤΠ3001, Κωδικός Ε: ΤΠ3101 (ΜΕΥ/Υ) Ώρες (Θ - Ε): 4-2 Προαπαιτούμενα: Δρ. ΒΙΔΑΚΗΣ ΝΙΚΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Sequential & Binary Search Σειριακή & Δυαδική Αναζήτηση
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
- Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται
Διαβάστε περισσότεραΠρογραμματισμός Αναδρομή
Αναδρομή Κλήσεις Συναρτήσεων Όταν καλείται μια συνάρτηση, πρέπει Να θυμάται σε ποιο σημείο του προγράμματος θα επιστρέψει Να δεσμεύσει χώρο για την τιμή που θα επιστρέψει Να δεσμεύσει χώρο για τα ορίσματα
Διαβάστε περισσότεραEE512: Error Control Coding
EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3
Διαβάστε περισσότεραΕργαστήριο 7: Ο αλγόριθμος ταξινόμησης Radix Sort
Εργαστήριο 7: Ο αλγόριθμος ταξινόμησης Radix Sort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Ο αλγόριθμος ταξινόμησης Radix Sort -Δυο εκδοχές: Most Significant Digit (MSD) και Least Significant
Διαβάστε περισσότεραΣυµβολοσειρές - Strings
Συµβολοσειρές - Strings 1 Συµβολοσειρέςστην C/C++ 2 Χαρακτήρες 'a', 'z', '0', Χαρακτήρες σαν int 'z' επίσης αναπαριστά την ακεραία τιµή του χαρακτήρα z Strings-Συµβολοσειρές Σειρές από χαρακτήρες σαν µια
Διαβάστε περισσότεραΠανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο
Πανεπιστήμιο Πελοποννήσου Σχολή Θετικών Επιστημών & Τεχνολογίας Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών Προγραμματισμός Ι Εργαστήριο 03-12-2012 1 η Εργαστηριακή Άσκηση Να δημιουργήσετε πρόγραμμα που
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ Ένα πρόγραμμα σε C περιλαμβάνει μια ή περισσότερες συναρτήσεις
Διαβάστε περισσότεραHY150a Φροντιστήριο 3 24/11/2017
HY150a Φροντιστήριο 3 24/11/2017 1 Assignment 3 Overview Το πρόγραμμα ζητείται να διαβάζει μια λίστα δεδομένων που περιγράφει τα διαθέσιμα τμήματα μνήμης (blocks) ενός ΗΥ. Το πρόγραμμα ζητείται να μεταφορτώνει
Διαβάστε περισσότεραΣυναρτήσεις και Πίνακες
Συναρτήσεις και Πίνακες Συναρτήσεις καθιερωμένης βιβλιοθήκης της C++ Συναρτήσεις οριζόμενες από τον χρήστη Μεταβίβαση κατ αξία Συναρτήσεις void και λογικές συναρτήσεις Μεταβίβαση κατ αναφορά Επιστροφή
Διαβάστε περισσότεραInstruction Execution Times
1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 3η 2 Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Πίνακες.
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 3η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα
Διαβάστε περισσότεραΚεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 8.7 Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 17-1 Εισαγωγή Στις προηγούµενες διαλέξεις µάθαµε πώς να δηλώνουµε, αρχικοποιούµε και να επεξεργαζόµαστε πίνακες. Σήµερα θα µελετήσουµε
Διαβάστε περισσότεραΚεφάλαιο Πίνακες Ι. ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 8.1-8.3 Πίνακες Ι ( ιάλεξη 15) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα µιλήσουµε για την δοµή δεδοµένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. ήλωση Πίνακα 3. Αρχικοποίηση
Διαβάστε περισσότεραΠίνακες. Οι πίνακες αποτελούν ένα σηµαντικό δοµηµένο τύπο δεδοµένων (structured data type) ή πιο απλά µία δοµή δεδοµένων (data structure).
Πίνακες Οι πίνακες αποτελούν ένα σηµαντικό δοµηµένο τύπο δεδοµένων (structured data type) ή πιο απλά µία δοµή δεδοµένων (data structure). Οι απλοί τύποι δεδοµένων (οι τιµές τους δεν µπορούν να διασπασθούν
Διαβάστε περισσότεραΕισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα
Εισαγωγή στη Fortran Μάθημα 3 ο Ελευθερία Λιούκα liouka.eleftheria@gmail.com Περιεχόμενα Loops External Functions Subroutines Arrays Common mistakes Loops Ανάγκη να εκτελέσουμε τις ίδιες εντολές πολλές
Διαβάστε περισσότεραΠρογραμματισμός Ι. Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Πίνακες Αντικειμένων Όπως στην C μπορούμε να έχουμε πίνακες από
Διαβάστε περισσότεραPARTIAL NOTES for 6.1 Trigonometric Identities
PARTIAL NOTES for 6.1 Trigonometric Identities tanθ = sinθ cosθ cotθ = cosθ sinθ BASIC IDENTITIES cscθ = 1 sinθ secθ = 1 cosθ cotθ = 1 tanθ PYTHAGOREAN IDENTITIES sin θ + cos θ =1 tan θ +1= sec θ 1 + cot
Διαβάστε περισσότεραΣε γενικές γραμμές, είναι καλή πρακτική να γράϕουμε προγράμματα C που αποτελούνται από πολλές και μικρές συναρτήσεις, παρά από λίγες και μεγάλες.
58 Δομή ενός προγράμματος C Συναρτήσεις Μία συνάρτηση C είναι ένα αυτόνομο, πακεταρισμένο τμήμα προγράμματος που ϕέρει σε πέρας μία διαδικασία η οποία έχει σαϕείς προδιαγραϕές εισόδου και εξόδου και συγκεκριμένο
Διαβάστε περισσότεραSection 8.3 Trigonometric Equations
99 Section 8. Trigonometric Equations Objective 1: Solve Equations Involving One Trigonometric Function. In this section and the next, we will exple how to solving equations involving trigonometric functions.
Διαβάστε περισσότεραFORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017
FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M7 Δομές δεδομένων: Πίνακες - Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ
Διαβάστε περισσότεραΚλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )
ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Μορφές μεταβίβασης ορισμάτων σε συναρτήσεις (και μεθόδους) και οι επιπτώσεις τους Επιστροφή τιμών από κλήση συναρτήσεων Υπερφόρτωση
Διαβάστε περισσότεραΔείκτες (Pointers) (1/2) ΗΥ150 Προγραμματισμός
ΗΥ-150 Προγραμματισμός Δείκτες (Pointers) (1/2) Δείκτες Τι είναι: τύπος μεταβλητών (όπως integer) Τι αποθηκεύουν: την διεύθυνση στη μνήμη άλλων μεταβλητών Τι χρειάζονται: Κυρίως, για δυναμική διαχείριση
Διαβάστε περισσότεραSection 9.2 Polar Equations and Graphs
180 Section 9. Polar Equations and Graphs In this section, we will be graphing polar equations on a polar grid. In the first few examples, we will write the polar equation in rectangular form to help identify
Διαβάστε περισσότεραΔισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++
Δισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++ Γενικά Η εντολή: int arr[5][2]; Δηλώνει την μεταβλητή arr σαν πίνακα με πέντε γραμμές (rows) και με δύο στήλες (columns). Η αρίθμηση και των δύο δεικτών
Διαβάστε περισσότερα11/23/2014. Στόχοι. Λογισμικό Υπολογιστή
ονάδα Δικτύων και Επικοινωνιών ΗΥ Τομέας Πληροφορικής, αθηματικών και Στατιστικής ΓΕΩΠΟΙΚΟ ΠΑΕΠΙΣΤΗΙΟ ΑΘΗΩ Εισαγωγή στην Επιστήμη των ΗΥ άθημα-4 url: http://openeclass.aua.gr (AOA0) Λογισμικό Υπολογιστή
Διαβάστε περισσότεραΕργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C
Εργαστήριο 1: Επανάληψη Βασικών Εννοιών στη Γλώσσα C Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Συναρτήσεις - Εξωτερικές μεταβλητές - Κανόνες εμβέλειας - Διάρκεια
Διαβάστε περισσότεραΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Αναζήτηση και Ταξινόµηση Χειµερινό Εξάµηνο 2014
ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Αναζήτηση και Ταξινόµηση Χειµερινό Εξάµηνο 2014 Αναζήτηση και Ταξινόµηση Βασικές λειτουργίες σε προγράµµατα Αναζήτηση (searching): Βρες ένα ζητούµενο στοιχείο σε µια
Διαβάστε περισσότερα242 -ΕισαγωγήστουςΗ/Υ
1 242 -ΕισαγωγήστουςΗ/Υ ΤµήµαΜαθηµατικών, Πανεπιστήµιο Ιωαννίνων Άρτια Α.Μ. (0-2-4-6-8) 2 ήλωση: Πίνακες στην ΕΑΓ δηλωση ( [1 : 1, 1 : 2,..., 1: ν ] ) παραταξη ; Π.χ.: δηλωση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Έλεγχος ισότητας για Strings: Διαβάζουμε το String option και θέλουμε ένα loop να συνεχίσει
Διαβάστε περισσότεραSection 7.6 Double and Half Angle Formulas
09 Section 7. Double and Half Angle Fmulas To derive the double-angles fmulas, we will use the sum of two angles fmulas that we developed in the last section. We will let α θ and β θ: cos(θ) cos(θ + θ)
Διαβάστε περισσότεραΚεφάλαιο Πίνακες Ι. (Διάλεξη 16)
Κεφάλαιο 8.1-8.3 Πίνακες Ι (Διάλεξη 16) 15-1 Πίνακες (Arrays) Σε αυτή την ενότητα θα μιλήσουμε για την δομή δεδομένων Πίνακας: 1. Εισαγωγή & Σύνταξη 2. Δήλωση Πίνακα 3. Αρχικοποίηση Πίνακα 4. Πρόσβαση
Διαβάστε περισσότεραΜεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 13 Πίνακες & Συναρτήσεις Εισαγωγή Στις προηγούμενες
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό. Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011
Εισαγωγή στον Προγραµµατισµό Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011 Συναρτήσεις (functions) Συνάρτηση (function) σύνολο εντολών που έχει οµαδοποιηθεί και τους έχει αποδοθεί ένα όνοµα Κλήση (calling)
Διαβάστε περισσότεραΑναφορές, είκτες και Αλφαριθμητικά
Αναφορές, είκτες και Αλφαριθμητικά Ο τελεστής αναφοροποίησης Αναφορές είκτες Πίνακες και δείκτες Ο τελεστής new και delete υναμικοί πίνακες είκτες προς συναρτήσεις Αλφαριθμητικά της C Πίνακες Αλφαριθμητικών
Διαβάστε περισσότεραΔιάλεξη 12η: Δείκτες, μέρος 2
Διάλεξη 12η: Δείκτες, μέρος 2 Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Pointers II CS100, 2016-2017
Διαβάστε περισσότεραΤεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C
Τεχνολογία και Προγραμματισμός Υπολογιστών Η γλώσσα προγραμματισμού C Με μια ματιά Τύπος Πίνακα Μεταβλητές με ενδείκτη Αλφαριθμητικά - Πίνακες Δισδιάστατος Πολυδιάστατος Πίνακας 2 2 Τύπος Πίνακα Σύνθετος
Διαβάστε περισσότεραΚεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραCHAPTER 48 APPLICATIONS OF MATRICES AND DETERMINANTS
CHAPTER 48 APPLICATIONS OF MATRICES AND DETERMINANTS EXERCISE 01 Page 545 1. Use matrices to solve: 3x + 4y x + 5y + 7 3x + 4y x + 5y 7 Hence, 3 4 x 0 5 y 7 The inverse of 3 4 5 is: 1 5 4 1 5 4 15 8 3
Διαβάστε περισσότεραLecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3
Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3 1 State vector space and the dual space Space of wavefunctions The space of wavefunctions is the set of all
Διαβάστε περισσότεραPhysical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.
B-Trees Index files can become quite large for large main files Indices on index files are possible 3 rd -level index 2 nd -level index 1 st -level index Main file 1 The 1 st -level index consists of pairs
Διαβάστε περισσότεραΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016 Αναζήτηση και Ταξινόμηση Βασικές λειτουργίες σε προγράμματα Αναζήτηση (searching): Βρες ένα ζητούμενο στοιχείο σε μια
Διαβάστε περισσότεραΝα εκτυπωθούν οι πρώτες Ν σειρές του τριγώνου, χρησιµοποιώντας ένα πίνακα µεγέθους Ν στοιχείων (η Ν-οστή σειρά περιέχει Ν στοιχεία).
Παράδειγµα: Το τρίγωνο του Pascal 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Να εκτυπωθούν οι πρώτες Ν σειρές του τριγώνου, χρησιµοποιώντας ένα πίνακα µεγέθους Ν στοιχείων (η Ν-οστή σειρά περιέχει Ν στοιχεία).
Διαβάστε περισσότεραdepartment listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι
She selects the option. Jenny starts with the al listing. This has employees listed within She drills down through the employee. The inferred ER sttricture relates this to the redcords in the databasee
Διαβάστε περισσότεραΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15
ΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15 DBTG Γλώσσα επεξεργασίας Σκελετός ενός προγράµµατος Βρες την εγγραφή FIND FIND...... FIND Ανάκτησε την τιµή εγγραφής στον κατάλληλο επίγραµµα τύπου GET RECORD
Διαβάστε περισσότεραA ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 }
A ΜΕΡΟΣ 1 program Puppy_Dog; begin 4 end. 5 6 { Result of execution 7 (There is no output from this program ) 10 } (* Κεφάλαιο - Πρόγραµµα EX0_.pas *) 1 program Kitty_Cat; begin 4 Writeln('This program');
Διαβάστε περισσότεραΔιαδικασίες ΙI. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 5
ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 5 Διαδικασίες ΙI Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Εισαγωγή στους Η/Υ (ΗΥ134) 1 Κατανομή μνήμης Κείμενο
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 7: C++ TEMPLATES, ΥΠΕΡΦΟΡΤΩΣΗ ΤΕΛΕΣΤΩΝ, ΕΞΑΙΡΕΣΕΙΣ Χειρισμός Εξαιρέσεων ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ
Διαβάστε περισσότερα8. Μέθοδοι (Methods)
8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και
Διαβάστε περισσότεραΠρογραµµατισµός. Αναδροµή (1/2)
Προγραµµατισµός Αναδροµή (1/2) Προγραµµατισµός Κλήσεις Συναρτήσεων Όταν καλείται µια συνάρτηση, πρέπει Να θυµάται σε ποιο σηµείο του προγράµµατος θα επιστρέψει Να δεσµεύσει χώρο για την τιµή που θα επιστρέψει
Διαβάστε περισσότεραΑνάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)
Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού
Διαβάστε περισσότεραΜορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/
Μορφοποίηση υπό όρους : Μορφή > Μορφοποίηση υπό όρους/γραμμές δεδομένων/μορφοποίηση μόο των κελιών που περιέχουν/ Συνάρτηση round() Περιγραφή Η συνάρτηση ROUND στρογγυλοποιεί έναν αριθμό στον δεδομένο
Διαβάστε περισσότεραApproximation of distance between locations on earth given by latitude and longitude
Approximation of distance between locations on earth given by latitude and longitude Jan Behrens 2012-12-31 In this paper we shall provide a method to approximate distances between two points on earth
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών με C++
Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 11η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Υπερφόρτωση του τελεστή εκχώρησης. Στατικές μεταβλητές, στατικές σταθερές
Διαβάστε περισσότεραΟ πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:
Επαναλήψεις - Loops Οι επαναλήψεις σε ένα πρόγραμμα μας επιτρέπουν μια ομάδα εντολών να εκτελείται για όσες φορές επιθυμούμε Υπάρχουν τρεις τρόποι επανάληψης εντολών με τη χρήση: While loops For loops
Διαβάστε περισσότερα2 Composition. Invertible Mappings
Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan Composition. Invertible Mappings In this section we discuss two procedures for creating new mappings from old ones, namely,
Διαβάστε περισσότεραFinite Field Problems: Solutions
Finite Field Problems: Solutions 1. Let f = x 2 +1 Z 11 [x] and let F = Z 11 [x]/(f), a field. Let Solution: F =11 2 = 121, so F = 121 1 = 120. The possible orders are the divisors of 120. Solution: The
Διαβάστε περισσότεραΗΥ-150. Προγραµµατισµός. Πίνακες (Arrays)
ΗΥ-150 Προγραµµατισµός Πίνακες (Arrays) Προγραµµατισµός Εισαγωγικά Έστω ότι θέλουµε να αποθηκεύσουµε 100 ονόµατα φοιτητών και τους βαθµούς τους. Πως θα το κάναµε αυτό µε µεταβλητές; Πως θα µπορούσαµε να
Διαβάστε περισσότερα