Using namespace std;
/*объявление функции*/
double multVect(int n,double x[],double y[]){
double z=0;
for(int i=0;i<n;i++) z=z+x[i]*y[i];
Return z;
}
//--------------------------------------
void main(){
SetConsoleOutputCP(1251);
double u[]={1.0, 2.0, 3.0}, v[]={4.0, 5.0, 6.0};
double (*ptrFun)(int, double[], double[]); /*объявление указателя с именем ptrFun */
ptrFun=multVect; /*в новый указатель записывается адрес функции */
cout<<"Произведение векторов=" <<ptrFun(3,u,v)<<endl;
cout<<"Произведение векторов=" <<(ptrFun)(3,u,v)<<endl; /* При вызове функции через указатель его имя можно взять в скобки */
}
Задания для самостоятельной работы
Программа должна содержать вывод на экран исходной информации и полученные результаты.
В первой задаче можно использовать как динамические, так и простые массивы. Результаты оформить в виде соответствующих функций.
Вторая задача предполагает создание динамического массива. Код программы может быть записан без применения функций.
Вариант 1
1. В одномерном массиве
· Найдите количество элементов, находящихся в диапазоне между двумя заданными числами.
· Упорядочьте элементы массива по убыванию модулей элементов.
· Найдите сумму элементов массива, расположенных после первого положительного элемента.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и найдите его минимальный элемент.
2. Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, и значение 1 − в противном случае.
Вариант 2
1. В одномерном массиве
· Вычислите количество элементов массива, равных 0.
· Упорядочьте элементы массива по возрастанию их модулей.
· Найдите сумму элементов массива, расположенных после минимального элемента.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и отсортируйте его по убыванию.
2. Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по убыванию, и значение 0 − в противном случае.
Вариант 3
1. В одномерном массиве
· Найдите количество элементов, больших заданного числа.
· Измените порядок следования элементов в массиве так, чтобы сначала располагались все отрицательные элементы, затем положительные, а потом нули.
· Найдите произведение элементов массива, расположенных после максимального по модулю элемента.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и найдите его максимальный элемент.
2.Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если k-я строка матрицы симметрична, и значение 0 – в противном случае.
Вариант 4
1. В одномерном массиве
· Найдите минимальный и максимальный элементы массива и поменяйте их местами.
· Измените порядок следования элементов в массиве на противоположный.
· Определите среднее арифметическое всех значений элементов массива.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и отсортируйте его по возрастанию.
2. Задана матрица размером NxM. Определить количество «особых» элементов матрицы, считая элемент «особым», если он больше суммы остальных элементов своего столбца.
Вариант 5
1. В одномерном массиве
· Найдите номер минимального по модулю элемента массива.
· Преобразуйте массив, переставив все нулевые элементы в конец массива.
· Найдите сумму модулей элементов массива, расположенных после первого отрицательного числа.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и найдите его минимальный по модулю элемент.
2. Задана матрица размером NxM. Определить количество «особых» элементов матрицы, считая элемент «особым», если в строке слева от него находятся элементы, меньшие его, а справа – большие.
Вариант 6
1. В одномерном массиве
· Вычислите произведение положительных элементов массива.
· Упорядочьте по возрастанию отдельно элементы массива, стоящие на четных местах, и элементы массива, стоящие на нечетных местах.
· Вычислите сумму элементов массива, расположенных до минимального.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и найдите его максимальный по модулю элемент.
2. Задана символьная матрица размером NxM. Определить количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз).
Вариант 7
1. В одномерном массиве
· Вычислите произведение отрицательных элементов массива.
· Замените все отрицательные элементы их квадратами и упорядочьте элементы массива по возрастанию.
· Вычислите произведение минимального и максимального элементов массива.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и вычислите сумму отрицательных элементов.
2. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их первых элементов.
Вариант 8
1. В одномерном массиве
· Вычислите количество отрицательных элементов массива.
· Преобразуйте массив так, чтобы сначала располагались все нулевые элементы, а потом — все остальные.
· Вычислите сумму элементов, находящихся между первым и последним положительными элементами.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и вычислите сумму положительных элементов.
2. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их первых элементов.
Вариант 9
1. В одномерном массиве
· Вычислите произведение элементов с четными номерами.
· Преобразуйте массив так, чтобы нечетные и четные элементы массива поменялись местами (первый — со вторым, третий - с четвертым и т.д.).
· Вычислите сумму элементов, находящихся между первым и последним отрицательными элементами.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и вычислите сумму отрицательных элементов, стоящих на четных местах.
2. Дана матрица размером NxM. Упорядочить ее столбцы по возрастанию их наименьших элементов.
Вариант 10
1. В одномерном массиве
· Вычислите сумму элементов с нечетными номерами.
· Преобразуйте массив так, чтобы элементы массива поменялись местами (первый — с последним, второй — с предпоследним и т.д.).
· Вычислите сумму элементов, находящихся между первым и последним отрицательными элементами.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и вычислите сумму положительных элементов, стоящих на нечетных местах.
2. Определить, является ли заданная квадратная матрица n-го порядка симметричной относительно побочной диагонали.
Вариант 11
1. В одномерном массиве
· Найдите количество элементов массива, меньших заданного числа.
· Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот, а затем измененный массив отсортируйте по возрастанию.
· Утройте максимальный элемент массива.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и поменяйте местами его максимальный и минимальный элементы.
2. Для матрицы размером NxM вывести на экран все седловые точки. Элемент матрицы называется седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или наоборот.
Вариант 12
1. В одномерном массиве
· Найдите сумму элементов массива, находящихся в диапазоне между двумя заданными числами.
· Измените порядок следования элементов массива на противоположный.
· Найдите произведение элементов массива, расположенных после минимального элемента.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и найдите его минимальный по модулю элемент.
2. В матрице размером NxM переставить строки так, чтобы на главной диагонали матрицы были расположены элементы, наибольшие по абсолютной величине.
Вариант 13
1. В одномерном массиве
· Найдите номер минимального по модулю элемента массива.
· Замените все положительные элементы на нулевые.
· Найдите сумму модулей элементов массива, расположенных после первого отрицательного числа.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и отсортируйте его по убыванию.
2. В матрице размером NxM найти максимальный среди элементов, лежащих ниже побочной диагонали, и минимальный среди элементов, лежащих выше главной диагонали.
Вариант 14
1. В одномерном массиве
· Найдите количество элементов массива значение которых больше a, но меньше b.
· Замените все четные элементы на соседние нечетные.
· Найдите сумму модулей элементов массива, расположенных после первого нулевого числа.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и отсортируйте его по убыванию модулей.
2. В матрице размером NxM поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением.
Вариант 15
1. В одномерном массиве типа int
· Найдите количество четных элементов массива значение которых больше a, но меньше b.
· Замените все четные элементы на отрицательные.
· Найдите сумму положительных и отрицательных элементов массива.
· Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и отсортируйте его по убыванию модулей.
2. В матрице размером NxM поменять местами строку, содержащую отрицательный элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением.
Дата добавления: 2015-07-30; просмотров: 1579;