Практикум по курсу "Алгоритмизация и программирование". Часть 2. Андрианова А.А - 11 стр.

UptoLike

. Практикум по курсу «Алгоритмизация и программирование». Часть 2
{
a[i]=new float[n];
if(a[i]==NULL)
{
printf("Нет требуемого объема памяти.\n");
// освобождение уже выделенной памяти
for(j=0; j<i; j++)
delete [] a[j];
delete [] a;
return;
}
}
Рассмотрим пример передачи матрицы в функцию в качестве параметра.
Пусть требуется проверить, является ли квадратная матрица симметрич-
ной относительно главной диагонали. Прототип этой функции имеет следую-
щий вид:
bool Symmetry(int ** a, int n);
Функция возвращает значениe true, если матрица симметрична, false
– в противном случае.
Приведем также определение этой функции:
// определение функции проверки симметричности матрицы
bool Symmetry(int ** a, int n)
{
int i,j;
for(i=0; i<n-1; i++)
for(j=i+1; j<n;j++)
if(a[i][j] != a[j][i])
return false;
return true;
}
Если функция должна менять адрес расположения массива, то указатель
на его первый элемент должен передаваться по ссылке, т.е. с указанием сим-
вола '&'.
Далее приводится описание процесса решения некоторых задач с при-
менением пользовательских функций.
Задача 1. Дано четное число n>2. Проверить, выполняется ли для этого
числа гипотеза Гольдбаха: каждое четное число n>2 может быть представлено
11
            .       Практикум по курсу «Алгоритмизация и программирование». Часть 2
     {
          a[i]=new float[n];
          if(a[i]==NULL)
          {
               printf("Нет требуемого объема памяти.\n");
               // освобождение уже выделенной памяти
               for(j=0; j2. Проверить, выполняется ли для этого
числа гипотеза Гольдбаха: каждое четное число n>2 может быть представлено

                                      11