| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [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(когда он перепрыгивает эту строку). Но при этом, что бы вывод не отличался от этого: |