Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ЛАБОРАТОРНАЯ РАБОТА 5
- РАБОТА С ДИНАМИЧЕСКИМИ МАССИВАМИ В ЯЗЫКЕ С
- Цель работы
- Овладеть основными принципами работы с динамическими структурами данных с использо-ванием библиотек языка С.
- Задание
- Написать программу, выполняющую загрузку данных в матрицу из файла и обработку мат-рицы в соответствии с вариантом задания. Программа должна требовать у пользователя задания одного параметра при запуске – имени файла. Если количество параметров отличается от требуе-мого или файл с указанным именем не может быть открыт, в поток ошибок выдаются соответст-вующие сообщения. При обнаружении несоответствия формата файла (смотреть раздел «Исход-ные данные») работа программы завершается с соответствующим сообщением об ошибке.
- Программа также использует файл, хранящий сообщения, выводимые на экран и являющий-ся частью проекта (формат файла и набор сообщений определяет программист).
- Варианты заданий
- Варианты заданий определяют функции, которые должна выполнять программа с матрицей. Файлы, которые будет обрабатывать программа, создаются программистом с целью демонстрации правильности работы программы и должны учитывать специфику варианта задания.
- Исходные данные
- Программе при запуске из командной строки задается имя файла, и которого она должна считывать данные.
- Формат файла:
- – первая строка содержит два числа через пробел: количество строк и количество столбцов в матрице (размерность матрицы не может быть меньше 2 на 2 и больше чем 20 на 20);
- – далее (начиная со второй строки) идут разделенные пробелами, символами новой строки или табуляциями целочисленные значения, которыми должна быть заполнена матрица.
- Матрица заполняется по строкам (считываются данные для первой строки, потом для второй и т.д.).
- Требуемый результат
- Результатом работы программы является вывод матрицы считанной из файла и результаты выполнения определенны вариантом преобразований.
- Требования к структуре программы
- Все текстовые сообщения, выводимые программой на экран, должны храниться в текстовом файле (имя и структура файла определяется программистом). При запуске программа считывает строки с сообщениями в специальный массив и затем использует элементы этого массива при вы-воде на экран сообщений пользователю. Если файл с сообщениями не может быть открыть при запуске программы, программа завершает свою работу с сообщением об ошибке, например:
- В рабочей директории отсутствует файл messages.res необходимый для работы программы.
- Обратитесь к разработчику
- Все структуры данных, необходимые для работы программы, вводятся с комментариями.
- В программе необходимо выделить функции, выполняющие операции по выделению, осво-бождению динамической памяти, обработке матриц и т.д. При этом не желательно использование глобальных переменных.
- Ход работы
- 1. Разработать укрупненный алгоритм.
- 2. Разработать тесты – несколько файлов содержащих данные для матриц разных размерностей.
- 3. Разработать программу в соответствии с вариантом задания и разработанным алгоритмом..
- Содержание отчета
- В отчет по лабораторной работе необходимо включить:
- – задание в соответствии с вариантом;
- – алгоритм работы программы;
- – исходные тексты работы программы с комментариями;
- – описание тестовых наборов (размеры матриц и диапазоны числовых данных, которыми матрица заполняется);
- – выводы, описывающие основные операции по работе с матрицами в динамической памяти, возможные (или возникавшие в процессе написания программы) ошибки из-за нарушения правил работы с указателями.
- Варианты заданий
- 1. Создать массив, составленный из максимальных элементов каждого столбца. Вывести на дисплей полученный массив. После этого из исходной матрицы создать новую следующим обра-зом: i-ю строку необходимо поменять на i-й столбец, т.е. получить транспонированную матрицу.
- 2. Создать массив, составленный из максимальных элементов каждой строки. Вывести на дисплей полученный массив. После этого создать новый массив следующим образом: необходимо поменять местами элементы, расположенные на главных диагоналях матрицы.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement