Главна страница

Упражнение 6 - Контролна 1

Задачите от 2010 година

Задача 2.2

Напишете шаблонен клас динамичен масив със следните методи:
	конструктор по подразбиране;
	деструктор;
	метод за добавяне на елемент в края на масива;
	метод за добавяне на елемент в началото на масива. В този случай всички елементи се изместват с една позиция
назад, към края на масива; метод за отпечатване на масива на екрана.

Създайте динамичен масив.
Прочетете от клавиатурата 10 цели числа, като: ако числото е четно го добавяте в края на масива, ако е нечетно го добавяте в началото на масива.
Отпечатайте масива на екрана, в обратен ред.
Ако е необходимо добавете още методи към класа.

Пример:
Добавяме 1, масива: 1 Добавяме 2, масива: 1 2 Добавяме 3, масива: 3 1 2 Добавяме 4, масива: 3 1 2 4 Добавяме 5, масива: 5 3 1 2 4 Добавяме 6, масива: 5 3 1 2 4 6 Добавяме 7, масива: 7 5 3 1 2 4 6 Добавяме 8, масива: 7 5 3 1 2 4 6 8 Добавяме 9, масива: 9 7 5 3 1 2 4 6 8 Добавяме 10, масива: 9 7 5 3 1 2 4 6 8 10 Изход: 10 8 6 4 2 1 3 5 7 9

Примерно решение - zad_2.2.cpp

Резултати

ф.н. конструктор - 2 деструктор - 2 доб. в края - 6 доб. в нач. - 6 главна програма - 4 Общо
0801261070 0 0 0 0 0 0
0901261001 2 2 6 6 4 20
0901261002 2 2 4 3 3 14
0901261003 1 1 3 3 2 10
0901261004 2 2 4 3 2 13
0901261005 2 2 5 4 0 13
0901261006 2 2 6 6 3 19
0901261010 2 2 4 2 2 12
0901261011 0 0 0 0 0 0
0901261012 0 0 0 0 0 0
0901261013 2 2 6 6 4 20
0901261019 1 1 0 2 0 4
0901261024 0 0 0 0 0 0
0901261063 0 0 0 0 0 0
0901261068 0 0 0 0 0 0





Задача 3.1

Напишете шаблонен клас динамичен масив със следните методи:
конструктор по подразбиране;
деструктор;
метод за добавяне на елемент в средата на масива. Ако масивът има n на брой елемента, новият елемент трябва да се добави на позиция n / 2. Останалите елементи, след добавения, се изместват с една позиция назад, към края на масива;
метод за отпечатване на масива на екрана.

Създайте динамичен масив.
Прочетете от клавиатурата 8 реални числа и ги добавете в масива, използвайки метода за добавяне в средата.
Отпечатайте масива на екрана.
Ако е необходимо добавете още методи към класа.

Пример:
	Добавяме 1, масива: 1
	Добавяме 2, масива: 2 1
	Добавяме 3, масива: 2 3 1
	Добавяме 4, масива: 2 4 3 1
	Добавяме 5, масива: 2 4 5 3 1
	Добавяме 6, масива: 2 4 6 5 3 1
	Добавяме 7, масива: 2 4 6 7 5 3 1
	Добавяме 8, масива: 2 4 6 8 7 5 3 1

Примерно решение - zad_3.1.cpp

Резултати

ф.н. конструктор - 2 деструктор - 2 добавяне - 12 отпечатване - 2 главна програма - 2 Общо
0901261032 1 1 4 1 1 8
0901261034 2 2 12 2 2 20
0901261035 1 1 6 1 1 10
0901261036 0 2 7 0 0 9
0901261041 1 1 6 1 1 10
0901261043 2 2 12 2 1 19
0901261044 2 2 12 2 2 20
0901261045 1 2 2 0 0 5
0901261052 1 1 6 1 1 10
0901261054 1 1 6 2 2 12
0901261058 2 1 8 1 1 13
0901261064 1 1 6 1 1 10
0901261071 1 2 5 0 0 8
0901261074 0 0 0 0 0 0





Задача 4.1

Напишете шаблонен клас свързан списък със следните методи:
	конструктор по подразбиране;
	деструктор;
	метод за добавяне на елемент;
	метод за отпечатване елементите на списъка на екрана.

Създайте списък l.
Прочетете от клавиатурата 10 цели числа и ги добавете в списъка.
Създайте още 2 списъка l1 и l2.
Преместете четните числа от l в l1, а нечетните в l2.
Отпечатайте списъците l1 и l2 на екрана.
Ако е необходимо добавете още методи към класа.

Пример:
	Вход:	20 2 4 15 2 1 7 19 28 6
	l1:	20 2 4 2 28 6
	l2:	15 1 7 19

Примерно решение - zad_4.1.cpp

Резултати

ф.н. конструктор - 2 деструктор - 2 добавяне - 9 отпечатване - 4 главна програма - 3 Общо
0901261069 0 0 0 0 0 0
0901261077 0 0 0 0 0 0
0901261079 0 0 0 0 0 0
0901261092 0 0 0 0 0 0
0901261105 0 0 0 0 0 0
0901261112 0 0 0 0 0 0
0901261127 2 1 0 0 1 4





Задача 5.1

Напишете шаблонен клас свързан списък със следните методи:
конструктор по подразбиране;
деструктор;
метод за добавяне в началото на два елемента едновременно void insert(T a, T b);
метод, bool remove(); който премахва първите 2 елемента едновременно и ги отпечатва на екрана. Ако списъкът е празен методът да връща false, а в противен случай true.

След изпълнението на следните редове код в main функцията:
	List<char> l;
	l.insert('a', 'b');
	l.insert('c', 'd');
	l.insert('e', 'f');

	while(l.remove()) cout << ' ';

на екрана трябва да се е отпечатало:
	fe dc ba

Ако е необходимо добавете още методи към класа.

Примерно решение - zad_5.1.cpp

Резултати

ф.н. конструктор - 1 деструктор - 3 добавяне - 8 премахване - 8 Общо
0901261028 1 1 6 6 14
0901261097 0 0 0 0 0
0901261107 0 0 0 0 0
0901261109 0 0 0 0 0
0901261125 0 0 0 0 0
0901261130 0 0 0 0 0

Главна страница