Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Разработка функциональных модулей обработки агрегатных данных

Автор:   •  Сентябрь 30, 2019  •  Лабораторная работа  •  5,966 Слов (24 Страниц)  •  484 Просмотры

Страница 1 из 24

Липецкий государственный технический университет

Факультет автоматизации и информатики

Кафедра   автоматизированных систем управления

ЛАБОРАТОРНАЯ РАБОТА №1

по программированию

Разработка функциональных модулей обработки агрегатных данных

Студент                                                                                                

Группа АС-17

Руководитель

Ассистент                                                                                        Широков А. С.

Липецк 2018г.

Цель работы

Освоить способы динамического выделения памяти и разработки функций на примере программирования задач линейной алгебры.


Задание

Вычислить заданное матричное выражение, в котором значения констант, размеры матриц и их содержимое определяются пользователем.

Операции транспонирования, вычисления суммы, произведения на матрицу и на константу реализовать в виде пользовательских функций. Рекомендуется также реализовать ввод и вывод матриц в виде пользовательских функций.

Необходимо контролировать размерность матриц при осуществлении матричных операций. В случае, если размерность матриц не позволяет провести операцию, выдавать сообщение об ошибке.

Программа должна представлять результаты вычислений (в том числе промежуточных) в виде матрицы со значениями, выровненными по столбцам, например:

4        5        5

345        54        2

-102        4        85

Разработать 2 варианта программы:

Хранить матрицу в виде одномерного массива

Хранить матрицу в виде массива указателей


Алгоритм

  1. Декларировать матрицы (двойные указатели) A, B, C, BC, finish.
  2. Ввести размер строк и столбцов матрицы A.
  3. Создать матрицу заданного размера, передав A адрес начала.
  4.  Ввести данные в ячейки матрицы A, пройдя с помощью циклов по всем строкам и столбцам.
  5. Умножить все ячейки матрицы A на определённое число, введённое пользователей.
  6. Вывести на экран получившийся результат.
  7. Ввести размер строк и столбцов матрицы B.
  8. Создать матрицу заданного размера, передав B адрес начала.
  9. Ввести данные в ячейки матрицы B, пройдя с помощью циклов по всем строкам и столбцам.
  10. Ввести размер строк и столбцов матрицы C.
  11. Создать матрицу заданного размера, передав C адрес начала.
  12.  Ввести данные в ячейки матрицы C, пройдя с помощью циклов по всем строкам и столбцам.
  13. Создать новую матрицу matrix, у которой количество строк равно количеству столбцов матрицы C.
  14. Транспонировать матрицу C, записав получившиеся значения в матрицу matrix.
  15. Передать матрице C адрес matrix.
  16. Вывести на экран матрицу C.
  17. Проверить, возможно ли умножить матрицу B на матрицу C. Если нет - завершить программу, выдав сообщение об ошибке.
  18. Создать новую матрицу Matrix, количество строк которой равно количеству строк матрицы B, а количество столбцов - количеству столбцов матрицы C.
  19. Умножить матрицу B на матрицу C, записав получившийся результат в матрицу Matrix.
  20. Освободить ранее выделившуюся на матрицы B и C память.
  21. Передать матрице BC адрес Matrix.
  22. Проверить, возможно ли сложить матрицы A и BC. Если нет - завершить программу, выдав сообщение об ошибке.
  23. Создать новую матрицу amount, количество строк которой равно количеству строк матрицы A(или BC), а количество столбцов - количеству столбцов матрицы A(или BC).
  24. Сложить матрицы A и BC, записав получившийся результат в матрицу amount.
  25. Освободить ранее выделившуюся на матрицы A и BC память.
  26. Передать матрице finish адрес amount.
  27. Освободить ранее выделившуюся на матрицу finish память.
  28. Завершить программу.


Текст программы

В виде массива указателей

#include "stdafx.h"

#include 

#include 

#include 

#include 

float** creation_matrix(int string, int columns){

...

Скачать:   txt (22 Kb)   pdf (334.1 Kb)   docx (81 Kb)  
Продолжить читать еще 23 страниц(ы) »
Доступно только на Essays.club