Opened 6 years ago
Closed 6 years ago
#174 closed ожидается проверка (задача сдана)
Д/З №1. Матрицы
Reported by: | malyutin.danila | Owned by: | rutsky,grabovoy.philipp |
---|---|---|---|
Priority: | проверка | Milestone: | ha1-milestone2 |
Component: | HA#1 matrices | Version: | |
Keywords: | Cc: | d.maljutin@… |
Description
Прошу проверить.
Change History (6)
comment:1 Changed 6 years ago by
Cc: | d.maljutin@… added |
---|---|
Milestone: | → ha1-milestone1 |
comment:3 Changed 6 years ago by
Replying to grabovoy:
Приветствую! Несколько замечаний:
- Нужно явно задать имя бинаря --
matrices
- Хедер с
std::invalid_exception
не попал вmain.cpp
char*
кstd::string
можно не приводить (при вызовеget_matrix_from_file
), при выборе функции это будет сделано автоматически (подробнее будет дальше на одной из лекций).Косметические вещи:
- В методах
Matrix::init_rows
иMatrix::init_rows_with_zeroes
есть дублирование кода (и блоки кода, их использующие, получаются одинаковыми): можно одно выразить через другое. И они не очень матчатся по названию: кажется, что один отличается от другого константой, а на самом деле он еще какие-то поля меняет. Лучше использовать один метод, который наиболее цело меняет стейт матрицы.operator()
ассоциируется скорее с долгими вычислениями, чем с обращением по индексу. Для контейнеров из STL привычен методat
.- И использование одного массива, конечно, очень полезно :)
По косметическим вещам:
1) Да, просто не хотелось убирать initializer list из конструктора и в других местах не нужно было как-то память инициализировать, но да, лучше одной функцией, исправлю.
2) Зато так больше на какие-нибудь матрицы в фортране или матлабе похоже =). Но могу и на at исправить, если это критично. Или оставить как есть?
3) Я где-то в середине задачи про это подумал, но условие задачи говорит про двумерные массивы (в дополнительных требованиях) "достаточно уметь пользоваться двухмерными массивами (...)", поэтому решил оставить как есть. Я ведь правильно понял, что косметические вещи не обязательно все исправлять? Или всё же надо переписать на одномерный массив?
comment:6 Changed 6 years ago by
Resolution: | → задача сдана |
---|---|
Status: | new → closed |
Приветствую! Несколько замечаний:
matrices
std::invalid_exception
не попал вmain.cpp
char*
кstd::string
можно не приводить (при вызовеget_matrix_from_file
), при выборе функции это будет сделано автоматически (подробнее будет дальше на одной из лекций).Косметические вещи:
Matrix::init_rows
иMatrix::init_rows_with_zeroes
есть дублирование кода (и блоки кода, их использующие, получаются одинаковыми): можно одно выразить через другое. И они не очень матчатся по названию: кажется, что один отличается от другого константой, а на самом деле он еще какие-то поля меняет. Лучше использовать один метод, который наиболее цело меняет стейт матрицы.operator()
ассоциируется скорее с долгими вычислениями, чем с обращением по индексу. Для контейнеров из STL привычен методat
.