Лабораторная работа №5.  Массивы и функции как параметры
Задание на лабораторную работу Написать программу, выполняющую указанные в вариантах действия над элементами двумерных массивов целых чисел. Действия оформить как отдельные функции. Все данные (в том числе, массивы и функции) передавать через параметры функций. В функции  main () ввести с клавиатуры два массива с разным количеством элементов. Вывести их на экран в виде таблицы.
Затем выполнить два вызова промежуточной функции с параметрами: первый массив, количество элементов, первое действие (функция) и второй вызов: второй массив, количество элементов, второе действие (функция). Вывести обработанные массивы на экран. В промежуточной функции осуществляется выбор элементов (строк, столбцов) для обработки и вызывается переданная функция, выполняющая одно из действий. Задание на лабораторную работу
Пример 1   double A[100], *pA, *pA100;  int i; /* Заполняем массив  A . Работаем с массивом */ for  ( i =0;  i <100;  i ++)  A [ i ]=0; /* Заполняем массив  A . Работаем с указателями */ for (pA=A, pA100=pA+100; pA<pA100; pA++) *pA=11.9;
Пример 2 В примере обрабатываются элементы одномерного массива. В функции  main () элементам массива присваиваются значения их индекса. Промежуточная функция  p 2() вызывает функцию  p 1() или  p 3(), переданную как параметр. Функция  p 1() выводит элементы массива по порядку, функция  p 3() – в обратном порядке.
Пример 2 #include <stdio.h> #define N 3 void p1(int *m,int k) { int i; for(i=0;i<k;printf(&quot;%d&quot;,m[i++])); puts(&quot;\n&quot;); } void p3(int *m,int k) { int i; for(i=k-1;i>=0;printf(&quot;%d&quot;,m[i--])); puts(&quot;\n&quot;); }
Пример 2 (продолжение) void p2(void p(int *,int), int *mm,int nn) { p(mm,nn); } void main() { int mas[N],i; for(i=0;i<N;mas[i++]=i); p2(p1,mas,N); p2(p3,mas,N); }

лабораторная работа №5

  • 1.
    Лабораторная работа №5. Массивы и функции как параметры
  • 2.
    Задание на лабораторнуюработу Написать программу, выполняющую указанные в вариантах действия над элементами двумерных массивов целых чисел. Действия оформить как отдельные функции. Все данные (в том числе, массивы и функции) передавать через параметры функций. В функции main () ввести с клавиатуры два массива с разным количеством элементов. Вывести их на экран в виде таблицы.
  • 3.
    Затем выполнить двавызова промежуточной функции с параметрами: первый массив, количество элементов, первое действие (функция) и второй вызов: второй массив, количество элементов, второе действие (функция). Вывести обработанные массивы на экран. В промежуточной функции осуществляется выбор элементов (строк, столбцов) для обработки и вызывается переданная функция, выполняющая одно из действий. Задание на лабораторную работу
  • 4.
    Пример 1 double A[100], *pA, *pA100; int i; /* Заполняем массив A . Работаем с массивом */ for ( i =0; i <100; i ++) A [ i ]=0; /* Заполняем массив A . Работаем с указателями */ for (pA=A, pA100=pA+100; pA<pA100; pA++) *pA=11.9;
  • 5.
    Пример 2 Впримере обрабатываются элементы одномерного массива. В функции main () элементам массива присваиваются значения их индекса. Промежуточная функция p 2() вызывает функцию p 1() или p 3(), переданную как параметр. Функция p 1() выводит элементы массива по порядку, функция p 3() – в обратном порядке.
  • 6.
    Пример 2 #include<stdio.h> #define N 3 void p1(int *m,int k) { int i; for(i=0;i<k;printf(&quot;%d&quot;,m[i++])); puts(&quot;\n&quot;); } void p3(int *m,int k) { int i; for(i=k-1;i>=0;printf(&quot;%d&quot;,m[i--])); puts(&quot;\n&quot;); }
  • 7.
    Пример 2 (продолжение)void p2(void p(int *,int), int *mm,int nn) { p(mm,nn); } void main() { int mas[N],i; for(i=0;i<N;mas[i++]=i); p2(p1,mas,N); p2(p3,mas,N); }