// lab05.cpp adolfo@di-mare.com // ftp://ftp.prenhall.com/pub/deitel/C++_HTP/C++HTP2e/c++htp2e_examples.zip // Fig. 5.6: fig05_06.cpp && Fig. 5.7: fig05_07.cpp // Cube a variable using call-by-value && call-by-reference #include int cuboPorValor( int n ) { return n * n * n; // eleva al cubo la variable local n } void cuboNO( int k ) { k = k*k*k; // eleva al cubo la variable local n } void cuboPorReferencia( int& k ) { k = k*k*k; // eleva al cubo la variable en main() } int main_cube(void) { int n = 5; cout << endl << endl << "Valor original == " << n; cout << endl << "cuboPorValor(" << n << ") == " << cuboPorValor(n); cuboNO(n); cout << endl << "cuboNO() ==> " << n; cuboPorReferencia(n); cout << endl << "cuboPorReferencia() ==> " << n; return 0; } // Fig. 4.16: fig04_16.cpp // This program sorts an array's values into ascending order #include #include int main_vector() { const int arraySize = 10; int a[ arraySize ] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 }; int i, hold; cout << "Data items in original order\n"; for ( i = 0; i < arraySize; i++ ) { cout << setw( 4 ) << a[ i ]; } for ( int pass = 0; pass < arraySize - 1; pass++ ) { // passes for ( i = 0; i < arraySize - 1; i++ ) { // one pass if ( a[ i ] > a[ i + 1 ] ) { // one comparison hold = a[ i ]; // one swap a[ i ] = a[ i + 1 ]; a[ i + 1 ] = hold; } } } cout << "\nData items in ascending order\n"; for ( i = 0; i < arraySize; i++ ) { cout << setw( 4 ) << a[ i ]; } cout << endl; return 0; } // Fig. 4.19: fig04_19.cpp ==> Linear search of an array #include int linearSearch( const int [], int, int ); int main_linear() { const int arraySize = 100; int a[ arraySize ], searchKey, element; for ( int x = 0; x < arraySize; x++ ) { // create some data a[ x ] = 2 * x; } cout << "Enter integer search key:" << endl; cin >> searchKey; element = linearSearch( a, searchKey, arraySize ); if ( element != -1 ) { cout << "Found value in element " << element << endl; } else { cout << "Value not found" << endl; } return 0; } int linearSearch( const int array[], int key, int sizeOfArray ) { for ( int n = 0; n < sizeOfArray; n++ ) { if ( array[ n ] == key ) { return n; } } return -1; } int main(void) { return main_cube(); return main_vector(); return main_linear(); } // EOF: lab05.cpp