Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [C++] Проверить двум. матрицу на симметричность |
Автор: Henry 13.10.2007, 20:42 |
Здраствуйте. Помогите пожалуйста. Задача: Проверить двумерную матрицу на симметричность. Симметричной называют матрицу, элементы которой симметричны относительно главной диагонали. Более формально, симметричной матрицей называют такую матрицу A, что если j,i: Aji=Aij. Это означает, что она равна её транспонированой матрице: A=A(t). Надо это написать на С++. Желательно под VS 2005. |
Автор: Xenon 13.10.2007, 21:05 | ||
|
Автор: Henry 13.10.2007, 21:33 |
Спасибо, всё работает =) |
Автор: Dov 13.10.2007, 23:45 |
Сомневаюсь... ![]() |
Автор: Lamak 14.10.2007, 14:06 | ||||
на этом примере
выдаст "Matrix is symmetric" ![]() надо как нибудь так:
![]() |
Автор: Xenon 14.10.2007, 16:30 |
Облажался ![]() |
Автор: Dov 14.10.2007, 22:06 | ||
Да, так уже лучше. Но всё-равно не отпускает ощущение, что в глаз соринка попала. ![]() Нет, в плане алгоритма поиска симметричных значений всё в порядке. А вот в плане общей 'работоспособности' программы на мой взгляд, как-то не очень. Я это к тому говорю, что, с моей точки зрения, программа должна выходить из циклов поиска симметричных значений после первой же неудачной попытки, а не продолжать 'молотить' весь массив до конца. ![]() Понятно, что это можно сделать разными способами, но я хочу предложить такой: ![]()
К тому же, можно попрактиковаться в использовании оператора goto. ![]() ![]() |
Автор: zkv 17.10.2007, 06:58 |
еще есть ексцепшионы, можно с флагами мудрить, но я бы тоже гото использовал. эта строка как то не на месте ![]() |
Автор: Dov 17.10.2007, 07:34 |
Это я специально так сделал, что бы лучше показать работу goto(когда он перепрыгивает эту строку). ![]() Но при этом, что бы вывод не отличался от этого: |