Задача №1 (без использования классов; работаем на Eclips Galileo). Из входного потока вводится произвольное число строк. Длина строки не ограничена. Каждая строка представляет собой последовательность слов, разделенных одним или несколькими пробелами и/или знаками табуляции. Строка представлена списком (первое поле элемента списка - символ строки; второе - указатель на следующий элемент списка или NULL в конце списка). Конец ввода определяется концом файла. Для каждой строки сформировать новую строку, поместив в нее слова исходной строки, начинающиеся и заканчивающиеся на те же буквы, что и первое слово в строке. В полученной строке слова разделять только одним пробелом. Полученную строку вывести в выходной поток. Примечания: 1. Ввод строк неопределенной длины должен быть организован с помощью метода cin.getline(куда, максимум_сколько). Метод cin>> не испольовать! 2. Структура программы должна быть следующей: пока не обнаружен конец файла {ввести строку (с помощью cin.getline(...)); сформировать список; обработать список в соответствии с условием задачи; вывести результат; освободить память, выделенную под список}. 3. Новый список формировать, модифицируя исходный список. Задача №2 (без использования классов; работаем на Eclips Galileo). Написать программу для работы с упорядоченной таблицей по запросам оператора. Упорядоченная таблица организована вектором; каждый элемент таблицы имеет следующую структуру: Struct Item{ int key; // ключ элемента char *info; // указатель на информацию }; Максимальный размер таблицы ограничен (для задания максимального размера таблицы использовать константу – например, const tint SIZE - …;). Предусмотреть следующие операции: - включение нового элемента в таблицу при условии, что в таблице не может быть двух элементов с одинаковыми ключами; если при включении нового элемента возникает такая ситуация, на экран должно быть выведено сообщение об ошибке; - замену информации для некоторого элемента таблицы, заданного своим ключом, с выводом на экран старой и новой информации для указанного элемента или сообщения об ошибке, если в таблице нет элемента с указанным ключом; - вывод содержимого таблицы на экран. Разработать два варианта программы: А) и сама таблица, и информация, относящаяся к элементу таблицы, хранятся в основной памяти; Б) и сама таблица, и информация, относящаяся к элементу таблицы, хранятся во внешней памяти (используется двоичный файл произвольного доступа). Все операции выполняются с таблицей, размещенной в основной памяти. Таблица считывается из файла (или создается в первый раз) в начале сеанса работы и записывается в файл в конце сеанса работы. Информация, относящаяся к элементу таблицы, записывается в файл сразу же при выполнении операции включения в таблицу. Имя файла вводится по запросу программы. Примечания: 1. Программа должна содержать несколько функций; функция main должна выполнять: вывод меню, ввод и анализ ответа, вызов на исполнение требуемой функции; 2. В программе нужно предусмотреть проверку правильности ввода данных; 3. Для варианта Б) следует модифицировать структуру, определяющую элемент таблицы, включив в нее длину информации и ее смещение в файле; 4. В варианте Б) для работы с файлом использовать функции пакета stdio.h; чтение и запись выполнять с помощью fread() и fwrite(), в которых должна быть указана реальная длина информации.