Форум программистов, компьютерный форум CyberForum.ru

Является ли матрица симетричной относительно главной диагонали? - C++

Восстановить пароль Регистрация
 
lastProg
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 22
20.12.2012, 03:28     Является ли матрица симетричной относительно главной диагонали? #1
Мне надо сделать проверку являеться ли мой массив симетричный относительно главной диагонали.. но я незнаю как задать условие. ведь с моим условием if(mas1[i][j]==mas1[j][i]) 3 елемента полюбому будут равняться другу другу(сама диагональ)


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    for(i=0; i<3; i++)
    {
        for(j=0; j<3; j++)
        {
            {
            
            if(mas1[i][j]==mas1[j][i])
                                        
                cout<<"massiv simetrichniy otnositelno glavnoi diagonali"<<endl;
            
            }
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 03:28     Является ли матрица симетричной относительно главной диагонали?
Посмотрите здесь:

Определить, является ли заданная матрица симметричной относительно главной диагонали C++
Определить, является ли данная квадратная матрица симметричной относительно главной диагонали. C++
Определить, является ли заданная квадратная матрица симметричной относительно главной диагонали. C++
C++ Является ли матрица симметричной относительно главной диагонали (templates)
C++ Определить является ли заданная квадратная матрица симметричной относительно главной диагонали
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
9cbka
2 / 2 / 0
Регистрация: 13.10.2012
Сообщений: 60
20.12.2012, 03:43     Является ли матрица симетричной относительно главной диагонали? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
void main ()
{
    int i=0,j=0;
    int mas1[3][3]={1,2,3,2,1,4,3,4,1};
 
    for(i=1; i<3-1; i++)
    {
        {    
           if(mas1[i-1][i+1]==mas1[i+1][i-1])
           cout<<"massiv simetrichniy otnositelno glavnoi diagonali"<<endl;
        }
    }
}
lastProg
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 22
20.12.2012, 03:45  [ТС]     Является ли матрица симетричной относительно главной диагонали? #3
Цитата Сообщение от 9cbka Посмотреть сообщение
C++
1
2
for(i=1;i<n-1;i++)
if(mas1[i-1][i+1]==mas1[i+1][i-1])
вставил твой код но из 9 выводов на экран мне 8 раз пишет не симетричен и 1 раз симетричен хотя одинаковых ел-ов в массиве вобще небыло....

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    for(i=0; i<3; i++)
    {
        for(j=0; j<3; j++)
        {
            
            {
            
            if(mas1[i-1][j+1]==mas1[j+1][i-1])
                                        
        cout<<"massiv simetrichniy otnositelno glavnoi diagonali"<<endl;
            else
                cout<<" massiv ne simetrichniy otnositelno glavnoi diagonali"<<endl;
            }
            
        }
    }
9cbka
2 / 2 / 0
Регистрация: 13.10.2012
Сообщений: 60
20.12.2012, 03:51     Является ли матрица симетричной относительно главной диагонали? #4
вставил твой код но из 9 выводов на экран мне 8 раз пишет не симетричен и 1 раз симетричен хотя одинаковых ел-ов в массиве вобще небыло....

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    for(i=0; i<3; i++)
    {
        for(j=0; j<3; j++)
        {
            
            {
            
            if(mas1[i-1][j+1]==mas1[j+1][i-1])
                                        
        cout<<"massiv simetrichniy otnositelno glavnoi diagonali"<<endl;
            else
                cout<<" massiv ne simetrichniy otnositelno glavnoi diagonali"<<endl;
            }
            
        }
    }
можно код?
lastProg
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 22
20.12.2012, 04:30  [ТС]     Является ли матрица симетричной относительно главной диагонали? #5
Цитата Сообщение от 9cbka Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
void main ()
{
    int i=0,j=0;
    int mas1[3][3]={1,2,3,2,1,4,3,4,1};
 
    for(i=1; i<3-1; i++)
    {
        {    
           if(mas1[i-1][i+1]==mas1[i+1][i-1])
           cout<<"massiv simetrichniy otnositelno glavnoi diagonali"<<endl;
        }
    }
}

здесь тоже где то ошибка попробуй ввести значения 1.2.3.4.5.2.3.4.1 етот масив будет симетричен относительно побочной диагонали, а не основной но на екран всеравно выводиться что он симетричен основной...
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
20.12.2012, 04:50     Является ли матрица симетричной относительно главной диагонали? #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int main()
{
    const int N=4;
    int M[N][N]=
    {
        1,2,3,4,
        2,1,5,6,
        3,5,5,7,
        4,6,7,1
    };
 
    int count=0;
 
     for (int i=0;i<N;i++)
     {
         for (int j=0;j<N;j++)
         {
             if ((M[i][j]==M[j][i])&& (i!=j)) count++;
         }
     }
 
     if (count==N*N-N) cout<<"Симметричная\n";
     else cout<<"Не симметричная\n";
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2012, 06:47     Является ли матрица симетричной относительно главной диагонали?
Еще ссылки по теме:

Определил, является ли заданная квадратная матрица симметричной относительно главной диагонали! C++
Определить, является ли заданная квадратная матрица симметричной относительно главной диагонали C++
C++ Проверить, является ли заданная матрица симметричной относительно главной диагонали

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
20.12.2012, 06:47     Является ли матрица симетричной относительно главной диагонали? #7
Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstddef>
#include <iostream>
 
 
int main() {
   const std::size_t size = 4;
   int const matrix[size][size] = {
      {1, 2, 3, 4}
    , {2, 1, 5, 6}
    , {3, 5, 5, 7}
    , {4, 6, 7, 1}
   };
 
   bool symmetric = true;
   for (std::size_t i = 1; symmetric && (i != size); ++i) {
      for (std::size_t j = 0; symmetric && (j != i); ++j) {
         if (matrix[i][j] != matrix[j][i]) {
            symmetric = false;
         }
      }
   }
   
   std::cout << (symmetric ? "symmetric" : "asymmetric") << std::endl;
}
http://liveworkspace.org/code/3gjmZb
Yandex
Объявления
20.12.2012, 06:47     Является ли матрица симетричной относительно главной диагонали?
Ответ Создать тему
Опции темы

Текущее время: 03:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru