Примерни задачи за контролно
Задача 1. Даден е двоичен файл data1.dat, който съдържа записи за преподаватели, организирани в следната структура: struct teacher { char teachername[100]; int subject; };. Даден е двоичен файл data2.dat, който съдържа записи за предмети, организирани в следната структура: struct subject { char subjectname[100]; int subject; };. И двата файла са сортирани по полето номер на предмет (subject). Да се създаде двоичен файл data.dat, който съдържа записи от следния вид struct report { char teachername[100]; char subjectname[100]; int subject; }; сортирани по номер на предмет за преподавателите, които съдържат 'Иванов' в името си. Да се отпечатват само предметите, които имат преподавател и преподавателите, които преподават!
Задача 2. Да се реализира структура, описваща данните за животно в зоопарк с име (до 20 символа), вид (до 40 символа) и тегло в кг (цяло число).
а) Да се напише функция, която прочита данните за животни от двоичен файл с име zoo.bin и ги записва в опашка.
б) Да се напише функция, която по дадена опашка Q от животни и дадена опашка от числа w1 < w2 < ... < wn подредени в нарастващ ред, построява опашка от n+1 опашки q0, q1, q2, ..., qn и нарежда животните от Q така, че в опашката qi да се намират животни с тегло от wi до wi+1 (считаме, че w0 = 0, wn+1 = 200000).
в) Да се напише функция, която по дадена опашка от опашки от животни и даден номер на опашка записва данните за всички животни, които се намират в съответната опашка в текстов файл с име animals.txt.
Задача 3.Даден е едносвързан списък от двойносвързани списъци от числа, всеки от който има четен брой елементи. Стойност на двойносвързан списък наричаме последната цифра на максималната сума на равноотстоящи от центъра двойки елементи на списъка. Да се реализира функция, която пресмята числото, което се формира от стойностите на отделните двойносвързани списъци в рамките на едносвързания такъв.
Вариант 2
Задача 1. Да се реализира структура за студент, която съдържа име, факултетен номер и среден успех.
Да се напише функция, която по даден едносвързан списък от студенти ги записва в двоичен файл students.bin.
Да се напише функция, която по дадена опашка от факултетни номера, построява опашка от студенти със съответните факултетни номера в същия ред, прочетени от файла students.bin.
Да се напише функция, която записва в тестов файл passed.txt информация за всички студенти от файла students.bin, които имат успех поне 3.
Задача 2. Да се реализира структура, описваща данните за растение в ботаническа градина с вид (до 20 символа), минимална и максимална температура на виреене (числа с плаваща запетая).
а) Да се напише функция, която прочита данните за растения от текстов файл с име plants.txt и ги записва в стек.
б) Да се напише функция, която по даден стек S от растения и даден стек от температури на помещения t1, t2, ..., tn разпределя последователно растенията в опашка от n стека, така че всяко растение е разпределено в стек i само ако може да вирее при температура ti.
в) Да се напише функция, която по даден стек от растения и температура t, намира всички растения, чиято средна температура на виреене се различава от t с не-повече от 2 градуса и записва данните за тях в двоичен файл botanic.bin.
Задача 3. Даден е двойносвързан списък с четен на брой едносвързани списъци от числа. Стойност на даден едносвързан списък от числа наричаме числото, което се формира от елементите на списъка, които са цифри от 0 до 9 в реда им на срещане. Да се реализира функция, която проверява дали стойностите на едносвързаните списъци от първата половина на двойносвързания списък образуват нарастваща редица, а стойностите на едносвързаните списъци от втората половина на двойносвързания списък образуват намаляваща редица.