Задачи от третото контролно
Вариант А
1. а) Да се напише функция, която намира n!!
(2k)!! = 2.4.6...(2k-2)(2k)
(2k-1)!! = 1.3.5...(2k-3)(2k-1)
б) Да се напише функция, която приема целочислена матрица с 6 стълба и намира сумата от двойните факториели на числата в матрицата.
2. Да се напише функция, която връща указател към началото на най-дългия символен низ А, който се съдържа в низ B и е съставен само от повторения на низа C. Чрез параметър на функцията да се върне и дължината на низа.
Примери:
B= “abbbbbabbc” C=”b” → <указател към B[1]>, len=5 |
B= “abbbbbabbc” C=”bac” → NULL, len=-1 |
3. Да се напише рекурсивна функция, която проверява дали множествата от буквите на два символни низа съвпадат. Нека функцията има следната декларация:
bool equalLetterSets(<низ1>, <низ2>);
Вариант Б
1. а) Да се напише функция, която намира сбора на цифрите на едно цяло положително число.
б) Да се напише функция, която приема целочислена матрица с 5 стълба и намира елемента на матрицата с най-голяма сума на цифрите.
2. Подниз на символен низ А ще наричаме всеки низ, който може да се получи от A чрез премахване от него на произволен брой символи. Да се напише функция, която определя дали даден символен низ B може да бъде подниз на символния низ А. Функцията да връща NULL, ако е невъзможно, или указател към елемента на А, който е първи символ на подниза B. Чрез параметър на функцията да се върне и броят на премахнатите символи (-1, ако е невъзможно).
Примери:
А=”abbvbbbabbc” B=”abvc” → <указател към A[0]>, 7 |
А=”abbvbbbabbc” B=”avaac” → NULL, -1 |
3. Да се напише рекурсивна функция, която проверява дали множествата от числата в два едномерни масива от цели числа съвпадат. Нека функцията има следната декларация:
bool equalNumberSets(<масив1>, <размер1>, <масив2>, <размер2>);