Составить программу, решающую указанную ниже задачу.
В одномерном массиве, состоящем из n (не более 10) вводимых с клавиатуры значений, вычислить заданное значение.
1. Произведение элементов массива, расположенных между максимальным и минимальным элементами.
2. Сумму элементов массива, расположенных между первым и последним нулевыми элементами.
3. Сумму элементов массива, расположенных до последнего положительного элемента.
4. Сумму элементов массива, расположенных между первым и последним положительными элементами.
5. Произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
6. Сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
7. Сумму элементов массива, расположенных до минимального элемента.
8. Сумму целых частей элементов массива, расположенных после последнего отрицательного элемента.
9. Сумму элементов массива, расположенных после последнего элемента, равного нулю.
10. Сумму модулей элементов массива, расположенных после минимального по модулю элемента.
11. Сумму элементов массива, расположенных после минимального элемента.
12. Сумму элементов массива, расположенных после первого положительного элемента.
13. Сумму модулей элементов массива, расположенных после первого отрицательного элемента.
14. Сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
15. Сумму положительных элементов массива, расположенных до максимального элемента.
Второй уровень сложности
Написать программу по обработке двухмерного массива. Предусмотреть динамический захват и освобождение памяти. Размеры массива n, m и значения элементов массива вводятся с клавиатуры.
1. Определить количество строк, не содержащих ни одного нулевого элемента.
2. Определить количество столбцов, не содержащих ни одного нулевого элемента.
3. Определить количество столбцов, содержащих хотя бы один нулевой элемент.
4. Определить произведение элементов в тех строках, которые не содержат отрицательных элементов.
5. Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов.
6. Определить сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
7. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
8. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент.
9. Найти сумму модулей элементов, расположенных ниже главной диагонали.
10. Найти сумму модулей элементов, расположенных выше главной диагонали.
11. Найти количество строк, среднее арифметическое элементов которых меньше введенной с клавиатуры величины.
12. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
13. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент.
14. Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента.
15. Найти номер первой из строк, не содержащих ни одного положительного элемента.
ЗАДАНИЕ 5. Функции пользователя
Первый уровень сложности
Составить программу из задания 3 (второй уровень сложности), в которой для каждого x, изменяющегося от a до b с шагом h, вычисление значений Y(x) и S(x) оформить в виде функций пользователя.
В основной функции реализовать следующие действия:
- ввод исходных значений a, b, h и n;
- обращение к функциям расчета Y(x) и S(x);
- вывод результатов в виде таблицы.
Если в задании используется значение факториала, его расчет также оформить функцией.
Второй уровень сложности
Решить поставленную задачу с использованием рекурсивной и обычной функций. Сравнить полученные результаты.
1. Для заданного целого десятичного числа N получить его представление в p-ичной системе счисления (p < 10).
2. В упорядоченном массиве целых чисел ai (i=1, ..., n)найти номер находящегося в массиве элемента c,используя метод двоичного поиска.
3. Найти наибольший общий делитель чисел M и N, используя теорему Эйлера: если M делится на N, то НОД (N, M)= N, иначе НОД (N, M)= (M mod N, N).
4. Числа Фибоначчи определяются следующим образом: Fb(0) = 0; Fb(1) = 1; Fb(n) = Fb(n-1) + Fb(n-2). Определить Fb(n).
5. Найти значение функции Аккермана A(m, n), которая определяется для всех неотрицательных целых аргументов m и n следующим образом:
A(0, n) = n + 1;
A(m, 0) = A(m-1, 1); при m > 0;
A(m, n) = A(m-1, A(m, n-1)); при m > 0 и n > 0.
6. Найти методом деления отрезка пополам минимум функции f(x) = = 7sin2(x) на отрезке [2, 6] с заданной точностью e (например 0.01).
7. Вычислить значение x = , используя рекуррентную формулу xn = = , в качестве начального значения использовать x0 = 0,5(1 + a).
8. Найти максимальный элемент в массиве ai (i=1, ¼, n), используя очевидное соотношение max(a1, ¼, an) = max[max(a1, ¼, an-1), an].
9. Вычислить значение y(n) = .
10. Найти максимальный элемент в массиве ai (i=1, ¼, n), используя соотношение (деления пополам) max(a1,¼, an) = max[max(a1,¼, an/2), max(an/2+1, ¼, an)].
11. Вычислить значение y(n) = .
12. Вычислить произведение четного количества n (n ³ 2) сомножителей следующего вида y = … .
13. Вычислить y = xn по следующему правилу: y = ( xn/2 )2, если n четное и y = x × yn-1, если n нечетное.
14. Вычислить значение (значение 0! = 1).
15. Вычислить y(n) = , n задает число ступеней.