Open alexey-malov opened 9 years ago
const int N = 3; //dimension of the matrix (3 * 3)
Однобуквенные имена глобальных констант - зло
void Multiply(float Matrix1[N][N], float Matrix2[N][N], float ResultMatrix[N][N])
входные массивы должны приниматься как константы
не соблюдены соглашения об именовании переменных. внимательно читайте требования
void ReadingFromFile(ifstream &File, float Matrix[N][N])
{
int i, j;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
if (!(File >> Matrix[i][j]))
{
cout << "this is not matrix (3*3)!" << endl;
File.close();
exit(-1);
}
}
}
}
exit делает эту функцию бесполезной для повторного использования обработка ошибок таким образом - зло хуже может быть только игнорирование ошибок
void ShowMatrix(float Matrix[N][N], ofstream &fOut)
{
int i, j;
for (i = 0; i < N; i++)
{
fOut << "\n\n";
printf("\n\n");
for (j = 0; j < N; j++)
{
fOut << std::fixed << std::setprecision(3) << " " << Matrix[i][j];
printf("|%6.3f|", Matrix[i][j]);
}
}
}
переменные цикла следует объявлять внутри for ()
совмещать потоки c++ и сишный printf - плохой стиль
float InverseFunction(float Matrix[N][N], int iRow, int iCol)
Что такое inverse function? для чего префикс i?
Не увидел главного: функции, выполняющей инвертирование матрицы
функция main плохо читаема
зачем system("pause")? в конце программы?
C++-потоки явно можно не закрывать (деструктор это сделает автоматически), если конечно по каким-то причинам закрытие в деструкторе обоснованно не подходит
переменные следует объявлять как можно ближе к месту их первого использования
за исполнение: 0.4 за срок: 0,6
Что-то мне подсказывает, что тест, вывод которого представлен ниже, выглядит крайне подозрительно
Да и после вызова утилиты fc следует проверять errorlevel