ݺߣ

ݺߣShare a Scribd company logo
Лабораторная работа №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;&quot;); } void p3(int *m,int k) { int i; for(i=k-1;i>=0;printf(&quot;%d&quot;,m[i--])); puts(&quot;&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); }

More Related Content

лабораторная работа №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;&quot;); } void p3(int *m,int k) { int i; for(i=k-1;i>=0;printf(&quot;%d&quot;,m[i--])); puts(&quot;&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); }