Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_lab_GII.doc
Скачиваний:
10
Добавлен:
13.04.2015
Размер:
698.37 Кб
Скачать

Void fun2 ( int mat [ ] [10], int rows, int cols );

Приклад 5.3 Для заданої матриці зробити обчислення середнього значення кожного її стовпця з використанням функції введення розмірності матриці, функції введення матриці і функції одержання середнього значення стовпців.

// P5_3.CPP – обчислення середнього значення

// кожного стовпця матриці

#include < iostream >

using namespace std;

const int mincol = 1;

const int maxcol = 20;

const int minrow = 2;

const int maxrow = 30;

//Функція getnum ( ) для введення кількості рядків і стовпців

Int getnum (const char *elemtype , int low , int high )

{

int n;

do

{

cout << " Введіть кількість " << elemtype

<< " N від [" << low << "] до [" << high << " ] : ";

cin >> n;

}

while (( n<low) || (n>high));

return n;

}

// Функція inmatr ( ) введення елементів матриці

void inmatr ( float matr [ ] [maxcol], int rows , int cols);

{

for (int i =0; i<rows; i++)

{

cout << ведіть"<< i << "рядок матриці " << endl;

for ( int j =0; j < cols ; j++)

cin >> matr [i][j];

}

cout << endl;

}

// Функція srcols ( ) одержання середніх значень стовпців

void srcols ( float matr [ ] [maxcol] , int rows , int cols )

{

float sum , sr;

for ( int j = 0; j < cols; j++ )

{

sum =0.0;

for ( int i = 0; i < rows; i++)

sum += matr [i][j];

sr = sum / rows;

cout << "середнє значення стовпця" << j << " = " << sr << endl;

}

}

// Головна програма

int main ( )

{

float matr [maxrow] [maxcol];

int rows, cols;

// Уведення кількості рядків і стовпців

rows = getnum ( "rows", minrow, maxrow );

cols = getnum ( "colnums" , mincol , maxcol);

// Уведення матриці

inmatr ( matr, rows , cols);

// Обчислення середнього значення стовпців матриці

srcols (matr , rows , cols);

return 0;

}

5.2.3 Використання функції як параметра значень

Іноді приходиться як формальні аргументи (параметрів) функції використовувати інші функції. Така ситуація виникає, якщо в деякій функції при звертанні до неї, треба викликати іншу функцію.

Параметр - функція записується у вигляді прототипу, тобто вказується тип функції, її ім'я й у дужках перелік типів формальних аргументів, або типів і імен формальних аргументів.

Приклад 5.4 Скласти програму c використанням функції обчислення інтегралів методом трапецій (точність обчислення е =10-3 ).

// P5_4.CPP – обчислення інтеграла методом трапеції

// використання функції як параметра значення

#include <math.h>

#include < iostream >

using namespace std;

const float e =1 e-3;

float fn1 (float x ) // підінтегральна функція 1-го інтеграла

{

return sgrt (1 +log (x));

}

float fn2 ( float x ) // підінтегральна функція 2-го інтеграла

{

return log (1 +pow (x,2)) / (1+pow (x,2));

}

float ft (int n, float a ,float b , float fun( float )) // функція методу трапецій

{

int i;

float s1 ,h, s=0;

do

{ s1 =s;

h = (b -a ) /n;

s = ( fun (a) +fun (b) ) / 2;

for ( i = 1; i <= n-1; i++)

s += fun ( a + i *h );

s *= h; n *= 2;

} while ( fabs ( s-s1 ) > e );

return s; }

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]