ВУЗ:
Составители:
Рубрика:
. Практикум по курсу «Алгоритмизация и программирование». Часть 2
кового типа, которые расположены в непрерывной области памяти друг за
другом. Обращение к этим переменным осуществляется с помощью указания
имени массива и порядкового номера переменной в нем. В языке С++ имя
массива является указателем, содержащим адрес его первого элемента. На
рис.1.1 изображен массив a, содержащий n элементов, имеющих порядковые
номера от 0 до n-1.
Рис.1.1. Схема расположения элементов массива в памяти.
Таким образом, при передаче массива в функцию в качестве параметров
передаются имя массива и количество элементов в нем.
Пусть требуется написать функцию, определяющую, является ли массив
симметричным. Прототип этой функции выглядит следующим образом:
bool Symmetry(int * a, int n);
Функция возвращает значениe true, если массив симметричный, false
– в противном случае.
Приведем также определение этой функции:
// определение функции проверки симметричности массива
bool Symmetry(int * a, int n)
{
int i;
for(i=0; i<n/2; i++)
if(a[i] != a[n-1-i])
return false; // нашлась несимметричная пара
return true;
}
В случае параметров-матриц также следует передать имя матрицы и ее
размер, который задается двумя параметрами – количеством строк и столбцов
(в случае квадратной матрицы можно указать только один размер).
Организовать хранение матрицы в памяти можно так, как представлено
на рис.1.2. При таком способе хранения матрица представляет собой набор
9
. Практикум по курсу «Алгоритмизация и программирование». Часть 2 кового типа, которые расположены в непрерывной области памяти друг за другом. Обращение к этим переменным осуществляется с помощью указания имени массива и порядкового номера переменной в нем. В языке С++ имя массива является указателем, содержащим адрес его первого элемента. На рис.1.1 изображен массив a, содержащий n элементов, имеющих порядковые номера от 0 до n-1. Рис.1.1. Схема расположения элементов массива в памяти. Таким образом, при передаче массива в функцию в качестве параметров передаются имя массива и количество элементов в нем. Пусть требуется написать функцию, определяющую, является ли массив симметричным. Прототип этой функции выглядит следующим образом: bool Symmetry(int * a, int n); Функция возвращает значениe true, если массив симметричный, false – в противном случае. Приведем также определение этой функции: // определение функции проверки симметричности массива bool Symmetry(int * a, int n) { int i; for(i=0; i
Страницы
- « первая
- ‹ предыдущая
- …
- 7
- 8
- 9
- 10
- 11
- …
- следующая ›
- последняя »