Вариант А

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>);

Последно модифициране: вторник, 22 януари 2013, 15:07