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

Определить, является ли целая квадратная матрица порядка n симметричной (относительно главной диагонали) - C++

Восстановить пароль Регистрация
 
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 223
14.11.2013, 10:58     Определить, является ли целая квадратная матрица порядка n симметричной (относительно главной диагонали) #1
Помогите пожалуйста. В строке if(array1[i][j] == array1[j][i]) выдаёт ошибку идентификатор i (и j) не определен. Почему так происходит?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include  <iostream>
#include<time.h> 
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "Russian");
    int array1[3][3];
    srand(time(NULL));
    cout << "Введите элементы массива";
    for(int i = 0; i < 3; ++i)
    for(int j = 0; j < 3; ++j)
        array1[i][j] = rand()%5; 
            if(array1[i][j] == array1[j][i])
        cout << "Симметрична";
    else cout << "Не симметрична";
 
    cin.get();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2013, 10:58     Определить, является ли целая квадратная матрица порядка n симметричной (относительно главной диагонали)
Посмотрите здесь:

Определить, является ли данная квадратная матрица симметричной относительно главной диагонали. C++
Определить, является ли заданная квадратная матрица симметричной относительно главной диагонали. C++
Определить, является ли целая квадратная матрица порядка n симметричной (относительно главной диагонали) C++
Определить, является ли заданная целая квадратная матрица n- го порядка симметричной (относительно главной диагонали.) C++
C++ Определить является ли заданная квадратная матрица симметричной относительно главной диагонали
Определил, является ли заданная квадратная матрица симметричной относительно главной диагонали! C++
Определить, является ли заданная квадратная матрица симметричной относительно главной диагонали C++
Определить, является ли квадратная матрица симметричной относительно побочной диагонали C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
14.11.2013, 11:26     Определить, является ли целая квадратная матрица порядка n симметричной (относительно главной диагонали) #2
Потому что дурацкая привычка у людей не заключать в {...} то, что относится к циклам. Вот у вас строка if(array1[i][j] == array1[j][i]) уже не находится ни в 1ом for, ни во 2ом, поэтому он и не видит i и j, которые там определены.

И вообще там 2 прохода по матрице нужны. Один на заполнение, второй на проверку. Да и вывод, симметрична она или нет надо делать после того, как проверена вся матрица, а не каждый элемент по отдельности. Иначе в первом же проходе она выдаст "симметрично", т.к. при i=0;j=0 , как ни странно, arr[i][j]==arr[j][i]
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 223
18.11.2013, 20:47  [ТС]     Определить, является ли целая квадратная матрица порядка n симметричной (относительно главной диагонали) #3
Вот вроде исправил, но программа почему-то не правильно работает
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
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include  <iostream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "Russian");
    int proverka = 0;
    int array1[3][3];
    cout << "Введите элементы массива " << endl;
    for(int i = 0; i < 3; ++i)
    {
        for(int j = 0; j < 3; ++j)
 
        {
            cin >> array1[i][j];
            if(i != j)
            {
                if(array1[i][j] == array1[j][i])
                {
                    proverka = 1;
                    }   
                        else 
                    { 
                    proverka = 0;
                    break;
                }
            }
        }    
    }            
    if(proverka) 
        cout << "Симметрична";
            else
                cout << "Не симметрична";
    system ("pause");
                return 0;
}
Добавлено через 10 часов 4 минуты
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "stdafx.h"
#include  <iostream>
#include <conio.h>
#include "MyCrt.cpp"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "Russian");
    int proverka = 0;
    int array1[3][3];
    do
    {
        ClrScr();
        cout << "Введите элементы массива " << endl;
        for(int i = 0; i < 3; ++i)
        {
            for(int j = 0; j < 3; ++j)
            {
                cin >> array1[i][j];
                if(i != j)
                {
                    if(array1[i][j] == array1[j][i])
                    {
                        proverka = 1;
                        }   
                            else 
                        { 
                        proverka = 0;
                    }
                }
            }    
        }            
        if(proverka = 1) 
            cout << "Симметрична\n";
                else
                    cout << "Не симметрична\n";
        cout << "Для завершения работы нажмите esc, для продолжения нажмите любую клавишу.\n";
    }
        while (_getch() != 27);
    cin.get();
}
Yandex
Объявления
18.11.2013, 20:47     Определить, является ли целая квадратная матрица порядка n симметричной (относительно главной диагонали)
Ответ Создать тему
Опции темы

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