{"id":16513420,"url":"https://github.com/dimaamega/laba-matrix","last_synced_at":"2026-07-17T18:33:49.469Z","repository":{"id":117898511,"uuid":"109316425","full_name":"DimaAmega/Laba-Matrix","owner":"DimaAmega","description":null,"archived":false,"fork":false,"pushed_at":"2017-11-02T21:01:59.000Z","size":55702,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-20T13:40:14.365Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DimaAmega.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-02T20:38:54.000Z","updated_at":"2017-11-02T21:02:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"b8635476-971d-4316-a8cf-f853a2ed7c7b","html_url":"https://github.com/DimaAmega/Laba-Matrix","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DimaAmega/Laba-Matrix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaAmega%2FLaba-Matrix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaAmega%2FLaba-Matrix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaAmega%2FLaba-Matrix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaAmega%2FLaba-Matrix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DimaAmega","download_url":"https://codeload.github.com/DimaAmega/Laba-Matrix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimaAmega%2FLaba-Matrix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35592242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-17T02:00:06.162Z","response_time":116,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T16:08:55.796Z","updated_at":"2026-07-17T18:33:49.422Z","avatar_url":"https://github.com/DimaAmega.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Методы программирования 2: Верхнетреугольные матрицы на шаблонах\n\n[![Build Status](https://travis-ci.org/UNN-VMK-Software/mp2-lab1-set.svg)][travis]\n\n\u003c!-- TODO\n  -\n--\u003e\n\n## Цели и задачи\n\nВ рамках лабораторной работы ставится задача создания программных средств, поддерживающих эффективное хранение матриц специального вида (верхнетреугольных) и выполнение основных операций над ними:\n\n- сложение/вычитание;\n- копирование;\n- сравнение.\n\nВ процессе выполнения лабораторной работы требуется использовать систему контроля версий [Git][git] и фрэймворк для разработки автоматических тестов [Google Test][gtest].\n\nПеред выполнением работы студенты получают данный проект-шаблон, содержащий следующее:\n\n - Интерфейсы классов Вектор и Матрица (h-файл)\n - Начальный набор готовых тестов для каждого из указанных классов.\n - Набор заготовок тестов для каждого из указанных классов. \n - Тестовый пример использования класса Матрица\n\nВыполнение работы предполагает решение следующих задач:\n\n  1. Реализация методов шаблонного класса `TVector` согласно заданному интерфейсу.\n  1. Реализация методов шаблонного класса `TMatrix` согласно заданному интерфейсу.\n  1. Обеспечение работоспособности тестов и примера использования.\n  1. Реализация заготовок тестов, покрывающих все методы классов `TVector` и `TMatrix`.\n  1. Модификация примера использования в тестовое приложение, позволяющее задавать матрицы и осуществлять основные операции над ними.\n\n## Используемые инструменты\n\n  - Система контроля версий [Git][git]. Рекомендуется использовать один из\n    следующих клиентов на выбор студента:\n    - [Git](https://git-scm.com/downloads)\n    - [GitHub Desktop](https://desktop.github.com)\n  - Фреймворк для написания автоматических тестов [Google Test][gtest]. Не\n    требует установки, идет вместе с проектом-шаблоном.\n  - Среда разработки Microsoft Visual Studio (2008 или старше).\n  - Опционально. Утилита [CMake](http://www.cmake.org) для генерации проектов по\n    сборке исходных кодов. Может быть использована для генерации решения для\n    среды разработки, отличной от Microsoft Visual Studio 2008 или 2010, предоставленных в данном проекте-шаблоне.\n\n## Общая структура проекта\n\nСтруктура проекта:\n\n  - `docs` — инструкции по выполнению лабораторной работы, полезные документы.\n  - `gtest` — библиотека Google Test.\n  - `include` — директория для размещения заголовочных файлов.\n  - `samples` — директория для размещения тестового приложения.\n  - `sln` — директория с файлами решений и проектов для VS 2008 и VS 2010,\n    вложенные директории `vc9` и `vc10` соответственно.\n  - `src` — директория для размещения исходных кодов (cpp-файлы).\n  - `test` — директория с модульными тестами и основным приложением,\n    инициализирующим запуск тестов.\n  - `README.md` — информация о проекте, которую вы сейчас читаете.\n  - Служебные файлы\n    - `.gitignore` — перечень расширений файлов, игнорируемых Git при добавлении\n      файлов в репозиторий.\n    - `CMakeLists.txt` — корневой файл для сборки проекта с помощью CMake. Может\n      быть использован для генерации проекта в среде разработки, отличной от\n      Microsoft Visual Studio.\n    - `.travis.yml` — конфигурационный файл для системы автоматического\n      тестирования Travis-CI. Тесты, входящие в состав шаблонного проекта,\n      регулярно запускаются на удаленной [инфраструктуре][travis].\n\nВ решении содержатся следующие модули:\n\n  - Модуль `utmatirx`, содержащий реализацию классов Вектор и Матрица (файл\n    `./include/utmatrix.h`). Поскольку оба класса шаблонные, реализацию методов необходимо выполнять непосредственно в заголовочном файле. При этом интерфейсы классов должны\n    оставаться неизменными.\n  - Тесты для классов Вектор и Матрица (файлы `./test/test_tvector.cpp`, `./test/test_tmatrix.cpp`).\n  - Пример использования класса Матрица (файл `./samples/sample_matrix.cpp`).\n\n\u003c!-- LINKS --\u003e\n\n[git]:         https://git-scm.com/book/ru/v2\n[gtest]:       https://github.com/google/googletest\n[travis]:      https://travis-ci.org/UNN-VMK-Software/mp2-lab1-set\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimaamega%2Flaba-matrix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimaamega%2Flaba-matrix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimaamega%2Flaba-matrix/lists"}