Skip to content

NapstaTT/CSharpLab3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Отчёт по лабораторной работе №3

МАССИВЫ И ФАЙЛЫ

Вариант 5


1. Цель работы

Целью лабораторной работы является освоение работы с многомерными массивами (матрицами), файлами различных типов (бинарными и текстовыми), а также принципов объектно-ориентированного программирования в C#.

2. Выполненные задания

Задания 1-3: Работа с матрицами

Класс Matrix:

  • Реализован класс для работы с матрицами размерностью n×m
  • Созданы конструкторы для различных способов заполнения матриц
  • Перегружены операторы: сложение (+), вычитание (-), умножение (*)
  • Реализован метод Transpose() для транспонирования матрицы
  • Переопределен метод ToString() для красивого вывода матрицы

Реализовано:

  1. Заполнение матриц (вариант 5):

    • Первый массив: заполнение с клавиатуры по строкам от первых элементов к последним
    • Второй массив: элементы ниже главной диагонали из [-70,150], на диагонали и выше из [17,170]
    • Третий массив: заполнение по шаблону для n=5
  2. Операции с матрицами (вариант 5):

    • Вычисление матричного выражения: A*B - C*6
    • Реализована перегрузка операторов для матричных операций
  3. Дополнительная задача (вариант 5):

    • В двумерном массиве n×m выбрана диагональ, параллельная главной, с максимальной суммой элементов

Задания 4-8: Работа с файлами

Задание 4: Бинарные файлы (вариант 5)

  • Создание бинарного файла со случайными числами
  • Получение нового файла, исключив повторные вхождения чисел
  • Сохранение порядка следования чисел

Задание 5: Бинарные файлы и структуры (вариант 5)

  • Создана структура Toy для хранения данных об игрушках
  • Реализована XML-сериализация/десериализация
  • Получение названий игрушек, цена которых ≤ k рублей и подходящих детям 5 лет

Задание 6: Текстовые файлы (вариант 5)

  • Создание текстового файла с целыми числами (по одному в строке)
  • Проверка наличия заданного числа в файле (возврат true/false)

Задание 7: Текстовые файлы (вариант 5)

  • Создание файла с несколькими числами в строке
  • Вычисление суммы всех элементов файла

Задание 8: Текстовые файлы (вариант 5)

  • Создание текстового файла с произвольным текстом
  • Копирование самой короткой и самой длинной строк в новый файл

3. Структура проекта

Lab3/
├── Task1_3/           # Задания 1-3
│   ├── Matrix.cs      # Класс для работы с матрицами
│   └── MatrixOperations.cs # Операции с матрицами
├── Task4_8/           # Задания 4-8
│   ├── FileOperations.cs # Работа с файлами
│   └── Toy.cs         # Структура для игрушек
└── Program.cs         # Главная программа с меню

4. Инструкция по запуску

  1. Создать консольное приложение C#
  2. Скопировать файлы в соответствующие папки проекта
  3. Добавить пространства имен Lab3.Task1_3 и Lab3.Task4_8
  4. Скомпилировать и запустить проект
  5. Использовать меню для выбора задания

5. Особенности реализации

  1. Четкое разделение классов: Все классы разделены по папкам согласно заданиям
  2. Использование пространств имен: Пространство имен фиксировано - Lab3
  3. Запрет инициализации полей при объявлении: Все поля инициализируются в конструкторах
  4. Интерактивное меню: Реализовано удобное меню для выбора заданий
  5. Обработка исключений: Все операции защищены от исключительных ситуаций
  6. XML-сериализация: Для задания 5 использована обязательная XML-сериализация

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages