Работа рассчитана на 1.5 часа Задача 1 (Classes) – Создайте следующую структуру классов (как минимум три класса): 1) Рок-группа 2) Исполнитель 3) Инструмент 4) ... В рок группе есть исполнители, каждый владеет одним или более инструментами. Как минимум нужны функции: 1) Для добавления, удаления, изменения рок группы, исполнителей и их умений 2) Функция, которая выводит максимальное количество каждого инструмента в порядке по убыванию. Например, в группе два человека – один певец ртом и гитарист, а второй гитарист и пианист – функция должна вывести “Гитара – 2, рот – 1, пианино – 1” Задача 2 (Linked Lists) – 1) Нужно реализовать Linked List (желательно в виде класса) 2) Нужно реализовать функцию, которая позволяет найти подсписок в списке. Функция должна вывести позицию начала подсписка в списке, либо False, если такой подсписок не найден. Например – найти подсписок 1->2->3 в списке 5->0->1->2->3->4->6 – ответ должен быть 2 – потому что подсписок 1->2->3 начинается в списке со второго элемента. Задача 3 (greedy/backtracking/hash tables) – Дан лабиринт произвольного размера в виде двумерного массива: [ [0, 1, 0, 1, 0, 1], [0, 0, 0, 0, 0, 1], [0, 1, 1, 1, 1, 1], [0, 0, 0, 1, 0, 0], [0, 1, 0, 1, 0, 1], [0, 1, 0, 0, 0, 0], ] 0 – свободная клетка, 1 - стена Даны координаты начала, координаты конца – нужно проверить есть ли в лабиринте проход, и если да, то вывести его на экран
2,0,334
Объяснение:
Excel VBA
Function newstr(str As String, n As Integer) As String
Dim i As Integer
For i = 1 To n
str = Replace(str, "a", "ab")
str = Replace(str, "bb", "c")
Next
newstr = str
End Function
Function chrcount(str1 As String, str2 As String) As Integer
Dim str() As String
str = Split(str1, str2)
chrcount = UBound(str, 1)
End Function
После вызова из ячейки функции
= chrcount(newstr("abab"; 333); "a")&","&chrcount(newstr("abab"; 333); "b")&","&chrcount(newstr("abab"; 333); "c")
получаем результат:
2,0,334