Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/120: Рейтинг темы: голосов - 120, средняя оценка - 4.88
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661

Проверить, является ли двумерный массив симметричным относительно главной диагонали

13.02.2018, 20:31. Показов 25229. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
//проверка симметричности матрицы
int main()
{ int n;
 int a[100][100]; bool b=true;
 cin>>n;
 
 for (int i=0;i<n;i++)
    for (int j=0;j<n;j++)
        cin>>a[i][j];
 
for (int i=0;i<n;i++)
    for (int j=i+1; j<n;j++)
      if (a[i][j] !=a[j][i]) b=false;
 if (b) cout<<"YES";
 else cout <<"NO";
 return 0;
}
Добавлено через 11 минут
Школьники на С++ могут проходить тестирование на http://informatics.mccme.ru
Вроде там не надо даже иметь рабочую оболочку, не надо скадем,массивы вводить из файла так как на сайте есть поле для стандартного ввода куда можно вводить даже массивы.
Одна беда -при проверке задачи система часто пишет "частичное решение" и не считает тест пройденным без объяснения причин.
Вот пример. Условие задачи Симметричная ли матрица?
http://informatics.mccme.ru/mo... erid=355#1
Проверьте, является ли двумерный массив симметричным относительно главной диагонали. Главная диагональ — та, которая идёт из левого верхнего угла двумерного массива в правый нижний.

Входные данные
Программа получает на вход число n <100, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по n чисел, являющихся элементами массива.

Выходные данные
Программа должна выводить слово yes для симметричного массива и слово no для несимметричного.
ниже мое решение максимально упрощенное - без файлового ввода, без динамических массивов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
//проверка симметричности матрицы
int main()
{ int n;
 int a[100][100]; bool b=true;
 cin>>n;
 
 for (int i=0;i<n;i++)
    for (int j=0;j<n;j++)
        cin>>a[i][j];
 
for (int i=0;i<n;i++)
    for (int j=i+1; j<n;j++)
      if (a[i][j] !=a[j][i]) b=false;
 if (b) cout<<"YES";
 else cout <<"NO";
 return 0;
}
Частичное решение. Хоть убей ,не пойму почему
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2018, 20:31
Ответы с готовыми решениями:

Проверить является ли двумерный массив симметричным относительно главной диагонали
Задача №5 Дано число n, не превосходящее 10, и массив размером n × n. Проверьте, является ли этот массив симметричным относительно...

Является ли двумерный массив симметричным относительно главной диагонали
Проверьте, является ли двумерный массив симметричным относительно главной диагонали. Главная диагональ — та, которая идёт из левого...

Определить является ли массив симметричным относительно побочной диагонали
дан квадратный массив целых(вещественных) чисел. Определить является ли массив симметричным относительно побочной (вспомогательной)...

9
1615 / 1181 / 552
Регистрация: 08.01.2012
Сообщений: 4,558
13.02.2018, 20:40
возможно нужна проверка на корректность n
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
13.02.2018, 22:03
eugrita, MansMI, да нет, скорее тип данных массива не тот. Числа могут быть и int64_t и double и long double

Добавлено через 20 минут
Цитата Сообщение от eugrita Посмотреть сообщение
for (int i=0;i<n;i++)
* * for (int j=i+1; j<n;j++)
ну нет
Цитата Сообщение от eugrita Посмотреть сообщение
if (b) cout<<"YES";
*else cout <<"NO";
выходные данные
yes
выходные данные
no
1
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
14.02.2018, 22:45  [ТС]
а никто не хочет испытать свои силы в подобном тестировании? Пожалуйста - ссылку на ресурс я указал выше
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
15.02.2018, 17:39
Цитата Сообщение от eugrita Посмотреть сообщение
а никто не хочет испытать свои силы в подобном тестировании?
Я решил задачу...

Добавлено через 1 минуту
eugrita, чтобы сослаться на них, нажмите по нему
0
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
16.02.2018, 01:41  [ТС]
ну если решил, т.е система зачла задачу, скажите что не хватало мне в приведенном выше моем варианте?
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
16.02.2018, 19:40
eugrita, Проверить, является ли двумерный массив симметричным относительно главной диагонали

Добавлено через 43 секунды
Цитата Сообщение от eugrita Посмотреть сообщение
что не хватало мне
Внимательности
0
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
17.02.2018, 08:45  [ТС]
Ваши ответы я не понял. Что означает "ну нет"
Если вы считаете что приведенной мной код неверен так и скажите, где?
что означают * и ** в цитировании моих операторов?

Добавлено через 7 часов 51 минуту
Отправил на сайт и 2-ю версию решения задачи проверки Симметричности матрицы.
в предположении что элементы матрицы вещественные. (в условии об типе матрицы -ни слова)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <math.h>
using namespace std;
//проверка симметричности матрицы
int main()
{ int n;
 float a[100][100]; bool b=true;
 cin>>n;
 
 for (int i=0;i<n;i++)
    for (int j=0;j<n;j++)
        cin>>a[i][j];
 
for (int i=0;i<n;i++)
    for (int j=i+1; j<n;j++)
      if (fabs(a[i][j] -a[j][i]) > 0.0001)  b=false;
 if (b) cout<<"YES";
 else cout <<"NO";
 return 0;
}
опять - частичное решение.
на сайте указано: Версия языка С++ компилятор GNU 7.2
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
17.02.2018, 08:57
Цитата Сообщение от eugrita Посмотреть сообщение
if (a[i][j] !=a[j][i]) b=false;
Если условие истинно, то нет смысла продолжать выполнение цикла.
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
17.02.2018, 13:10
zss, ну ты хоябы понял что значат мои комменты? Проверить, является ли двумерный массив симметричным относительно главной диагонали
Вот еще раз сама задача, оригинал http://informatics.mccme.ru/mo... erid=355#1
Если понял - не говори, внимательность так и тренеруется, пусть сам ищет, потом в шоке будет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2018, 13:10
Помогаю со студенческими работами здесь

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

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

Дан массив a(n) целых чисел. Проверить, является ли a симметричным относительно своего центрального элемента
Дан массив a(n) целых чисел. Проверить, является ли a симметричным относительно своего центрального элемента. С комментариями, пожалуйста.

Проверить, является ли заданная матрица симметричной относительно главной диагонали
Помогите , пожалуйста, написать программу на С++. Дана квадратная вещественная матрица размерности n. Является ли матрица симметричной...

Проверить, является ли матрица симметричной относительно своей главной диагонали
Дан двумерный массив размера N×N, заполненный целыми числами. Требуется определить, является ли он симметричным относительно своей главной...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru