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("%d",m[i++])); puts(""); } void p3(int *m,int k) { int i; for(i=k-1;i>=0;printf("%d",m[i--])); puts(""); }
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); }