Вариант 1

 

Задача 1. Да се дефинира функция 

void removeUpper (char *s)

Функцията да премахва всички големи латински букви от низа s. Например, ако s е низа “Hello World!”, след приложение на removeUpper(s), съдържанието на s ще бъде “ello orld!”.

 

Задача 2. Нека е дадена следната структура, описваща масив в динамичната памет:

struct int_array { int *arr; unsigned int size; };

Да се дефинира подходяща функция filter_evens, която по масив от числа създава в динамичната памет и връща масив само с тези от числата, които са четни.

 

Задача 3. Да се дефинира подходяща структура Polynom, описваща полином с коефициенти от тип double от произволна степен. За така дефинираната функцията да се дефинира функция Polynom sum_poly(Polynom a, Polynom b), която по два такива полинома намира и връща тяхната сума.

 

Задача 4. Да се дефинира функция pivot с подходящи параметри, която получава масив от числа (int) с произолна големина и число x от тип int. Функцията да пренареди елементите на масива така, че всички елементи, по-малки или равни на x да предшестват елементите, по-големи или равни на x. Например, за масива [1,6,3,9,5,12] и x=7, една възможна подредба на елементите на масива би била [1,6,3,5,9,12]

 

Вариант 2

 

Задача 1. Да се дефинира функция shift_left с подходящи параметри, която получава масив от числа (int) с произолна големина и число n от тип unsigned int. Функцията да “премества” първите n елемента на масива в края му. Наприер, за масива [1,2,3,4,5,6,7] и n=3, резултатното подреждане на елементите ще е [4,5,6,7,1,2,3].

 

Задача 2. Нека е дадена следната структура, описваща масив в динамичната памет:

struct int_array { int *arr; unsigned int size; };

Да се дефинира подходяща функция duplicate(a), която по масив от числа създава в динамичната памет и връща масив, в който всеки от елементите на a се среща два пъти последователно. Например, за масива [1,2,2,3], резултатът ще бъде [1,1,2,2,2,2,3,3].

 

Задача 3. Да се дефинира подходяща структура Point, описваща точка в равнината с координати от тип double и структура Mesh, описваща множество от точки в равнината с произволен брой елементи. Да се дефинира функция 

Mesh positive (Mesh m), 

която по дадено множество от точки създава ново множество само от тези точки, които са с положителна ордината (т.е. лежат над остта x).

 

Задача 4. Да се дефинира функция 

void shake (char *s)

Функцията да премества всички главни латински букви на низа s в началото му, като реда им една спрямо друго се запазва, както се запазва и реда на останалите елементи. Например, ако s е низа “Hello World!”, след приложение на shake(s), съдържанието на s ще бъде “HWello orld!”.

Последно модифициране: понеделник, 30 януари 2023, 08:51