Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Лекція № 9

Тема: Передача параметрів у функцію.

Мета: Навчитися передавати параметри у функцію різними способами.

Питання:

1. Поняття масиву, як параметру функції.

2. Передача параметрів по значенню.

3. Передача параметра по посиланню або з використанням параметра-покажчика.

 

Як аргументи (параметрів) функцій можуть бути не тільки змінні, але й масиви. У цьому випадку можна використати як масиви фіксованого розміру, так і невизначеного (масиви змінної довжини). При використанні масивів фіксованої довжини в заголовку функції в списку формальних аргументів указується тип масиву і його розмір, наприклад:

vоid sort (int mas [ 30 ]); .

Якщо описується функція з масивом змінної довжини, то в заголовку вказується тип масиву невизначеного розміру, і обов'язково ще один параметр, за допомогою якого задається розмірність масиву, наприклад:

void sort ( int mas [ ], int n ) ; .

Всі масиви у функції передаються за адресою (як покажчики), тому у випадку зміни масивів у функції , ці зміни зберігаються при поверненні в зухвалу функцію.

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

//P5_2.CPP – використання масивів – параметрів функцій

#include < iostream.h >

#include < string.h >

void fun1 (char st [ 5]);

main ( )

{

char p[5] ="стіл ";

fun1 (p);

cout << "p=" << p << endl; // p="стілець "

return 0;

}

void fun1 ( char st [5] )

{

cout <<"p=" << st << endl; // стіл

strcpy (st, "стілець ");

}

 

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

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

void fun1 (int mat [7][10]); // використається матриця mat(7,10)

Якщо використається багатомірний масив невизначеної довжини, то невизначеним може бути тільки один вимір розмірності, що повинне бути першим, наприклад:

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

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

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

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

#include <iostream .h>

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;

}


Читайте також:

  1. Вид заняття: лекція
  2. Вид заняття: лекція
  3. Вид заняття: лекція
  4. Вид заняття: лекція
  5. Вид заняття: лекція
  6. Вступна лекція
  7. Вступна лекція 1. Методологічні аспекти технічного регулювання у
  8. Клітинна селекція рослин.
  9. Колекція фонограм з голосами осіб, які анонімно повідомляли про загрозу вибуху
  10. ЛЕКЦІЯ (4): Мануфактурний період світової економіки
  11. Лекція - Геополітика держави на міжнародній арені
  12. Лекція 02.04.2013




Переглядів: 489

<== попередня сторінка | наступна сторінка ==>
Лекція №8 | Використання функції як параметра значень

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.005 сек.