Opened 6 years ago
Closed 6 years ago
#176 closed ожидается проверка (задача сдана)
Home Assignment #1
Reported by: | Иван | Owned by: | rutsky,grabovoy.philipp |
---|---|---|---|
Priority: | проверка | Milestone: | ha1-deadline |
Component: | HA#1 matrices | Version: | 1.0 |
Keywords: | Cc: |
Description
Change History (9)
comment:1 Changed 6 years ago by
comment:2 Changed 6 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:3 Changed 6 years ago by
Добрый день! У меня нет идей исправления пункта 3. Почитал решения аналогичной проблемы на форумах, но они либо платформозависимые, либо используют конструктор (если я правильно понял) std::ifstream(file) != 0, что на мой взгляд является тем же самым действием, что я использую при создании file. Поэтому я проверяю существование файла через is_open(). Я могу рассчитывать на подсказку? =)
comment:4 Changed 6 years ago by
Valgrind находит обращение к невыделенной памяти в кейсах smoke-теста, где число аргументов четно: код все-равно пытается открыть файл по имени последнего отсутствующего аргумента. Так не надо делать :)
И еще про важные замечания: в Matrix.hpp
включен <exception>
и не включен напрямую заголовочный файл с (std::)size_t
. И можно смело добавить константности некоторым методам.
comment:5 Changed 6 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:6 Changed 6 years ago by
Milestone: | ha1-milestone1 → ha1-milestone2 |
---|
comment:7 Changed 6 years ago by
Milestone: | ha1-milestone2 → ha1-deadline |
---|---|
Type: | ожидается проверка → ожидаются исправления |
В matrices.hpp
остались включенными заголовочные файлы про стримы.
И косметические вещи/улучшения производительности (факультативно):
- В
answer.get(i,j) = array_[i][k] * factor.get(k, j) + answer.get(i, j)
можно заиспользовать+=
. А лучше каждую сумму складывать в локальную переменную, чтобы обращений по указателям было меньше. - Лучше делать
array_ = std::nullptr
, чемarray_ = new double*[0]
-- первое легче отловить и память на хранение размера массива не выделяется.
comment:8 Changed 6 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
Исправил Ваши замечания. Перенес iostream и fstream в matrices.cpp.
comment:9 Changed 6 years ago by
Resolution: | → задача сдана |
---|---|
Status: | new → closed |
Привет! Пара вещей на исправления:
std::invalid_exception
живет в отдельном хедере, нужно его подключатьfile.open
в некоторых ситуациях передаются некорректный аргументИ в общем по решению:
get()
, возвращающийdouble&
.