Программа на С++ builder XE3
Задание к л.р. №1 (C++ Builder)
1)Знакомство со средой разработки, справочной системой, структурой проекта и главного модуля консольного приложения.
2)По л.р. №3 прошлого семестра (матрица) по своему № варианта сделать аналогичное консольное приложение (путем преобразования имеющегося), только в C++Builder.
3)Заменить динамическое распределение памяти (операции new и delete) на использование динамических типов данных (массивов (DynamicArray) и строк ([Unicode]String)).
4)Написать функцию формирования форматированного текстового представления матрицы. (Был вывод матрицы (или вектора) в консоль, а теперь будет формирование строковой переменной с последующим ее выводом в консоль или в оконный элемент управления.)
5)Сформировать модуль, содержащий все необходимые для загрузки, обработки и преобразования матрицы объявления и описания.
Далее этот модуль будет использоваться в этой программе и, без внесения в него изменений, в следующей л.р., представляющей собой аналогичную программу, только уже имеющую графический пользовательский интерфейс, поэтому функция обработки уже не может сама выводить в консоль и, следовательно, она в результате обработки исходной матрицы должна создавать новую матрицу (или вектор), которая затем м.б. преобразована в строку и выведена куда угодно (хоть в консоль, хоть в оконный элемент управления).
Более подробно
В результате выполнения л.р. необходимо сформировать:
модуль (оформленный как полагается), содержащий следующие 3 или 4 функции:
1)загрузка матрицы из текстового файла в двумерный динамический массив с обработкой различных ошибок и возвратом информации о них.
Возможности задания матрицы в текстовом файле - в соответствии с требованиями л.р. №3 прошлого семестра. Желательно сделать оформление и поведение функции такое, как требовалось для функции загрузки данных в л.р. №4 прошлого семестра, т.е. возврат признака завершения, необязательный выходной параметр для возврата доп. информации о возникшей ошибке, синхронность всех возвращаемых данных для каждого исхода и т.п. Для компактного представления доп. информации об ошибке рекомендуется использовать тип «объединение» (union). В случае ошибок все выделенные в функции ресурсы должны освобождаться.
2)обработка матрицы по варианту задания с получением новой матрицы и/или вектора.
В результате обработки исходная матрица должна оставаться без изменений. Число параметров функции может варьироваться в зависимости от условия конкретного задания.
3)конвертирование матрицы из двумерного динамического массива в форматированное текстовое представление (UnicodeString) в соответствии с заданным форматом элементов;
4)если в задании требуется получить вектор (как некий промежуточный или конечный результат), то нужна функция конвертирования вектора из одномерного динамического массива в форматированное (или можно неформатированное) текстовое представление (UnicodeString);