Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
niikiita
3 / 3 / 1
Регистрация: 29.05.2013
Сообщений: 226
#1

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

14.11.2013, 10:58. Просмотров 702. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста. В строке 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();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2013, 10:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить, является ли целая квадратная матрица порядка n симметричной (относительно главной диагонали) (C++):

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

Определить, является ли заданная целая квадратная матрица n- го порядка симметричной (относительно главной диагонали.)
cout&lt;&lt;&quot;Hi:)&quot;; cout&lt;&lt;&quot;\nVvedite Matricu: &quot;; for (i=0;i&lt;=5;i++) for...

Определить, являются ли целая квадратная матрица пятого порядка симметричной относительно главной диагонали
Определить , являются ли целая квадратная матрица пятого порядка...

Определить, является ли данная квадратная матрица симметричной относительно главной диагонали.
У меня аналогичная задача по курсовой, ничего не смыслю в С++ да и в...

Определить является ли заданная квадратная матрица симметричной относительно главной диагонали
Разработать алгоритм и программу. Определить является ли заданная квадратная...

Определить, является ли заданная квадратная матрица симметричной относительно главной диагонали
Задание: Определить, является ли заданная квадратная матрица А(5,5)...

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

И вообще там 2 прохода по матрице нужны. Один на заполнение, второй на проверку. Да и вывод, симметрична она или нет надо делать после того, как проверена вся матрица, а не каждый элемент по отдельности. Иначе в первом же проходе она выдаст "симметрично", т.к. при i=0;j=0 , как ни странно, arr[i][j]==arr[j][i]
0
niikiita
3 / 3 / 1
Регистрация: 29.05.2013
Сообщений: 226
18.11.2013, 20:47  [ТС] #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();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2013, 20:47
Привет! Вот еще темы с решениями:

Определить, является ли заданная квадратная матрица симметричной относительно главной диагонали.
Не могу решить задачу на С++ Вот условия: Определить, является ли заданная...

Определить, является ли заданная квадратная матрица n-го порядка симметричной относительно побочной диагонали
В работе память для массива должна выделяться динамически. На экран выводить...

Определить, является ли заданная квадратная матрица симметричной относительно своей главной диагонали
Определить, является ли данный квадратный массив симметричным относительно...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru