Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
c++ 3 minimax.docx
Скачиваний:
6
Добавлен:
25.09.2019
Размер:
99.99 Кб
Скачать

9) Ввод и вывод массивов, два способа: с выбором элемента по индексу и с выбором элемента по указателю.

Ввод и вывод данных в массив осуществляется поэлементно. cin>>mas[0]; cout<< mas[0] << endl;

По индексу: for(int i=0;i<n;i++) { cout<<mas[i].<<endl; }; //вывод массива

for(int i=0;i<n;i++) { cin>>mas[i]; }; //ввод массива

for(int i=0;i<n;i++) { cout<<" "<<i<<endl; for(int j=0;i<m;i++) {cin>>mas[i][j]}; }; //ввод двумерного массива

27) Передача массивов в качестве параметров.

Программы могут передавать переменные-массивы в функции точно так же, как они передают любой другой параметр.

void Print (int m[], int); // прототип ф-ии. передается имя массива и кол-во эл-тов

. . .

void PrintAll(int m[], int n) //заголовок ф-ии вывода.

{ for(int i=0;i<n;i++) { cout<<m[i].<<endl; }; } //вывод массива

19) . Способы обмена данными: с помощью глобальных переменных.

Глобальные переменные видны во всех функциях, где не описаны локальные переменные с теми же именами, поэтому использовать их для передачи данных между функциями очень легко. Тем не менее, использовать этот способ не рекомендуется, поскольку это затрудняет отладку программы и препятствует помещению функций в библиотеки общего пользования. Нужно стремиться к тому, чтобы функции были максимально независимы, а их интерфейс полностью определялся прототипом функции.

21) Способы обмена данными: Возвращаемое значение.

Возврат из функции в вызвавшую ее функцию реализуется оператором return [ выражение ];

Функция может содержать несколько операторов return. Если функция описана как void, выражение не указывается. Выражение, указанное после return, неявно преобразуется к типу возвращаемого функцией значения и передается в точку вызова функции.

Примеры: int f1(){return 1;}//правильно

void f2(){return 1;}//неправильно, f2 не должна возвращать значение

double f3{return 1;}//правильно, 1 преобразуется к типу double

23) Способы обмена данными: Параметры функции.

Пара́метр в программировании — принятый функцией аргумент. Термин «аргумент» подразумевает, что конкретно и какой конкретной функции было передано, а параметр — в каком качестве функция применила это принятое. Т.е. вызывающий код передает аргумент в параметр, который определен в спецификации функции. Для усвоения разницы можно запомнить термин «параметризованная функция».

По способу применения различают:

фактический параметр — аргумент, используемый как значение (число, символ и т. д.);

формальный параметр — аргумент, используемый как ячейка памяти (название переменной, указатель на переменную), выступающее в качестве идентификатора этого значения, принимаемого функцией.

Определяющим отличием формального от фактического параметра является доступ к самой переменной аргумента (обращение к памяти), в то время как фактический параметр его не имеет, так как копирует в оперативную память его значение, и пользуется именно им.

#include <iostream>

using namespace std;

int actual_p(int n)

{

n = 1;

return n;

}

int formal_p(int &n)

{

n = 1;

return n;

}

int main()

{

int iActual = 0;

int iFormal = 0;

cout << "Начальное значение переменной: " << iActual << endl;

cout << "Аргумент передан как фактический параметр и изменён: " << actual_p(iActual) << endl;

cout << "Конечное значение переменной: " << iActual << endl;

cout << "Начальное значение переменной: " << iFormal << endl;

cout << "Аргумент передан как формальный параметр и изменён: " << formal_p(iFormal) << endl;

cout << "Конечное значение переменной: " << iFormal << endl;

return 0;

}

Результат работы программ:

Начальное значение переменной: 0

Аргумент передан как фактический параметр и изменён: 1

Конечное значение переменной: 0

Начальное значение переменной: 0

Аргумент передан как формальный параметр и изменён: 1

Конечное значение переменной: 1

Как видно из работы программ: фактический параметр — значение аргумента; формальный параметр — имя аргумента, то есть указатель на переменную.

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