Двумерные динамические массивы
.docxДвумерные динамические массивы. Особенности использования массивов в С++ заключается в том, что по имени массива нельзя определить размерность и размеры по определению многомерный массив не существует. Он рассматривается как одномерный массив, каждый элемент которого представляет собой массив. При необходимости передать в функцию, многомерный массив можно указать значение каждой размерности, что не принимается компилятором. Указанные ограничения на возможность применения в качестве параметров можно обойти несколькими путями: 1) подмена многомерного массива одномерным и имитация внутри функции доступа к многомерному массиву; 2) использование вспомогательных указателей на массивы. Одномерные массивы служат для представления строк матрицы, т.к. вспомогательные массивы являются одномерным, то размер может быть опущен при написании формальных параметров, тем самым появляется возможность обработки в теле функции в двумерных, а в общем случае многомерных с изменяющимися размерами. Конкретные значения размеров должны передаваться функциям ими с помощью дополнительных параметров и с использованием глобальных переменных. Пример:Рассмотрим пример для нахождения количества чётных элементов, расположенных на главной диагонали матриц. В функцию будем передавать размерность и указатель на массив, а внутри функции будем рассматривать этот указатель как указатель кв. матрицу, заданную размерностью. #include<iostream.h> int fun (int s1, int s2, int *iP); void main () { int s1, s2; int *iP; s1=s2=0; cout<<”Enter size”; cin>>s1>>s2; iP=new int[s1*s2]; for(int i=0; i<s1; i++) for(int j=0; j<s2; j++) cin>>*(iP+i*s2+j); cout<<fun (s1, s2, iP); delete []iP; } int fun(int s1, int s2, int *iP) { int k=0; for(int i=0; i<s1; i++) for(int j=0; j<s2; j++) if (i==j && *(iP+i*s2+j)%2==0) k++ returnk; }
Написать программу, которая включает функцию (не возвращающую значение) для создания массива, каждый элемент которого равен максимальному из соответствующих значений двух других массивов.
Написать программу, которая включает функцию (возвращающую значение) для создания массива, каждый элемент которого, равен минимальному из соответствующих значений двух других массивов.
Написать функцию. В одномерном динамическом массиве найти максимальный по модулю элемент массива и сумму элементов массива, расположенных между первым и вторым положительными элементами.
Написать функцию для нахождения количества положительных чисел в каждом столбце двумерного динамического массива.
Написать функцию для нахождения суммы чисел для каждого столбца двумерного динамического массива, удовлетворяющих условию xi,j > a. Здесь a- произвольная величина.
Написать функцию для нахождения произведения чисел для каждого столбца двумерного
Написать функцию для нахождения для каждого столбца двумерного динамического массива отклонение его элементов от среднего значения для этого столбца.
Написать функцию для нахождения для каждого столбца двумерного динамического массива значение разности между наибольшим и наименьшим элементами.
Написать функцию для нахождения для каждой строки двумерного динамического массива значение разности между наибольшим и наименьшим элементами.
Написать функцию для нахождения суммы элементов для каждого столбца двумерного динамического массива. Поменять местами столбцы с максимальным и минимальным значением суммы.
Написать функцию для нахождения суммы элементов для каждой строки двумерного динамического массива. Поменять местами строки с максимальным и минимальным значением суммы.
Написать функцию для нахождения произведения элементов для каждого столбца двумерного динамического массива. Поменять местами столбцы с максимальным и минимальным значением произведения.
Написать функцию для нахождения произведения элементов для каждой строки двумерного динамического массива. Поменять местами строки с максимальным и минимальным значением произведения.
Написать функцию для нахождения суммы элементов для каждой строки двумерного динамического массива. Вывести на экран строки с максимальным и минимальным значениями суммы.
