76
for(j=0;j<m;j++)
{
cout<<"\nВведите y["<<i<<"]["<<j<<"]=";
cin>>y[i][j]; // ввод массива
}
min=mas(y, n, m); // обращение к функции и получение результата
cout<<"\n\nМинимальная компонента = "<<min;
cout<<"\nНажмите любую клавишу ...";
getch( );
return 0;
}
mas(int x[ ][m], int k, int d) //заголовок функции
{
int min1=x[0][0]; int i, j;
for( i=0; i < k; i++)
for(j=0;j<d;j++)
{
if( x[i][j]<min1) min1=x[i][j];
}
return min1;
}
Рис. 11.8. Окончание
В этой программе значения индексов массива задаются с помощью констант
n и m, а в заголовке функция описывается следующим образом:
mas(int x[][m], int k, int d),
где
m – значение второго индекса массива, а k и d – фиктивные параметры, чис-
ленные значения которым присваиваются после вызова функции с помощью
оператора вида mas(y, n, m);.
В прототипе функции также необходимо указывать размерность второго
индекса, в соответствии с выражением mas(int [][m], int, int).
11.5. Массивы и указатели
Массивы и указатели в языке С++ тесно связаны и могут использоваться
почти эквивалентно. Так, имя массива является константным указателем на
первый элемент массива, а указатели можно использовать для выполнения лю-
бой операции, включая индексирование массива. Пусть сделано следующее
объявление: int b[5] = {1,2,3,4,5}, *p;, которое означает, что объявлены массив
целых чисел b[5] и указатель
на целое р. Поскольку имя массива является ука-
зателем на первый элемент массива, можно задать указателю р адрес первого
элемента массива с помощью оператора p = b;. Это эквивалентно присвоению
адреса первого элемента массива другим способом: р = &b[0];. Теперь можно
сослаться на элемент массива b[3] с помощью выражения *(р+3). В
этой запи-