8«В» — Самостоятельная работа №2. Вариант B.

Задача 1.

Напишите функцию, которая извлекает из полного адреса файла название каталога.
Например, из адреса /programs/commonfiles/home/Kirill/file1.doc
нужно извлечь название каталога /programs/commonfiles/home/Kirill/
(И конечно же, напишите программу для проверки этой функции!)

Задача 2. «Сумма чисел»

Напишите программу, которая вычисляет сумму неизвестного количества натуральных чисел, записанную в виде символьной строки, например, “1+25+56”. Не используйте готовую функцию.

Задача 3. «Степени двойки»

Заполните массив степенями числа 2, начиная с конца, так чтобы последний элемент массива был равен 1, а каждый предыдущий был в 2 раза больше следующего.

Задача 4. «Таблица умножения»

Выведите таблицу умножения в красивом виде. Для простоты умножение на 10 можно не выводить.

Пример

Ввод Вывод
 
 1 * 1 =  1   1 * 2 =  2   ....   1 * 9 =  9
                  
2 * 1 = 2 2 * 2 = 4 .... 2 * 9 = 18
.............................................
9 * 1 = 9 9 * 2 = 18 .... 9 * 9 = 81
10 * 1 = 10 10 * 2 = 20 .... 10 * 9 = 90

Задача 5. «Победители олимпиады»

Даны два списка: список участников олимпиады и список набранных ими баллов. Победителем олимпиады считается школьник (или несколько школьников), набравший наибольший балл среди участников.

Напишите программу, которая выведет фамилию победителя (или победителей, если их несколько).

В первой строке через пробел вводятся фамилии участников. Во второй строке через пробел вводятся набранные ими баллы (целые неотрицательные числа). Гарантируется, что количества элементов в первом и втором списках одинаковы.

Выведите фамилию победителя. Если победителей несколько, выведите их фамилии через пробел. При этом фамилии должны быть выведены в том же порядке, в каком они идут в первой строке входных данных.

Примеры

Ввод Вывод
Petrov Ivanov Sidorov
10 5 10
Petrov Sidorov
Cheburashka Gena Shapoklyak Galya
20 2 3 7
Cheburashka

Задача 6. «Кинотеатр»

В кинотеатре n рядов по m мест в каждом. В двумерном массиве хранится информация о проданных билетах: число 1 означает, что билет на данное место уже продан, число 0 означает, что место свободно.
Поступил запрос на продажу k билетов на соседние места в одном ряду. Определите, можно ли выполнить такой запрос.

Программа получает на вход числа n и m. Далее идут n строк, содержащих по m чисел (0 или 1), разделённых пробелами. Затем дано число k.

Программа должна вывести номер ряда, в котором есть k подряд идущих свободных мест. Если таких рядов несколько, то выведите номер наименьшего подходящего ряда. Если подходящего ряда нет, выведите число 0.

Пример

Ввод Вывод
3 4
0 1 0 1
1 0 0 1
0 0 0 0
2
2