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

Проверить, совпадают ли матрицы - C++

Восстановить пароль Регистрация
 
freescape
 Аватар для freescape
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 19
16.01.2014, 08:11     Проверить, совпадают ли матрицы #1
"Даны две квадратные матрицы размером n×n. Проверить, совпадают ли они."
Вот мой говнокод, который не работает и постоянно выдает мне "матрицы совпадают", в чем ошибка товарищи?
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
#include <iostream.h>
#include <conio.h>
#include <limits.h>
 
const int n = 3, m = 3;
const int f = 3, y = 3;
void main()
{
int a[n][m],i,j,h,q,s[f][y] ;
cout<<"BBeguTe "<<n<<" cTpoK IIo "<<m<<" eJIeMeHToB \n";
for (i=0;i<n;i++)
for (j=0;j<m;j++)
cin>>a[i][j];
 
cout<<"BBeguTe "<<f<<" cTpoK IIo "<<y<<" eJIeMeHToB \n";
for (h=0;h<f;h++)
for (q=0;q<y;q++)
cin>>a[h][q];
 
if (n==y && f==m) {
 
if (a[i][j]==a[h][q]) {cout<<"MaTPuLIbI CoBIIAgaI-0T";}
else
if (a[i][j]!=a[h][q]) cout<<"MaTPuLIbI HE CoBIIAgaI-0T";}
 
getch();
}
 Комментарий модератора 
5.16 Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
Правила форума
И с языком программирования определитесь - решения на С и С++ могут очень сильно различаться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 08:11     Проверить, совпадают ли матрицы
Посмотрите здесь:

Проверить, все ли столбцы матрицы упорядочены по возрастанию. Если да, то увеличить все элементы матрицы вдвое C++
Проверить, все ли строки матрицы упорядочены по возрастанию C++
Определение ортогональной матрицы (проверить) C++
C++ Определить номера тех строк целочисленной матрицы A[N,K], которые совпадают с массивом D[K], если таких строк нет - выдать соответствующее сообщение
C++ Проверить корректность ввода элементов матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
16.01.2014, 09:55     Проверить, совпадают ли матрицы #2
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 <iostream.h>
#include <conio.h>
#include <limits.h>
 
const int n = 3, m = 3;
const int f = 3, y = 3;
void main()
{
int a[n][m],i,j,h,q,s[f][y] ;
cout<<"BBeguTe "<<n<<" cTpoK IIo "<<m<<" eJIeMeHToB \n";
for (i=0;i<n;i++)
for (j=0;j<m;j++)
cin>>a[i][j];
 
cout<<"BBeguTe "<<f<<" cTpoK IIo "<<y<<" eJIeMeHToB \n";
for (h=0;h<f;h++)
for (q=0;q<y;q++)
cin>>s[h][q];
 
bool f = true;
for (int i=0; i<n; i++)
{
 for (int j=0; j<m; j++)
 {
   if (a[i][j]!=s[i][j])
  {
   f = false;
   break;
  }
 }
}
 
if (f)
  cout <<"Yes\n";
else cout <<"No\n";
 
getch();
}
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
16.01.2014, 09:57     Проверить, совпадают ли матрицы #3
Замените
C++
1
cin>>a[h][q];
на
C++
1
cin>>s[h][q];
ЗАмените
C++
1
2
3
4
5
if (n==f && m==y) {
 
if (a[i][j]==a[h][q]) {cout<<"MaTPuLIbI CoBIIAgaI-0T";}
else
if (a[i][j]!=a[h][q]) cout<<"MaTPuLIbI HE CoBIIAgaI-0T";}
на
C++
1
2
3
4
5
6
7
8
9
10
11
if (n==y && f==m) 
{
for (i=0;i<n;i++)
for (j=0;j<m;j++)
if (a[i][j]==s[i][j]) 
   cout<<"MaTPuLIbI CoBIIAgaI-0T";
else
   cout<<"MaTPuLIbI HE CoBIIAgaI-0T";
}
else
   cout<<"MaTPuLIbI HE CoBIIAgaI-0T";
Наверное как то так
freescape
 Аватар для freescape
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 19
16.01.2014, 22:11  [ТС]     Проверить, совпадают ли матрицы #4
C++
1
2
3
4
5
6
7
8
9
10
11
if (n==y && f==m) 
{
for (i=0;i<n;i++)
for (j=0;j<m;j++)
if (a[i][j]==s[i][j]) 
   cout<<"MaTPuLIbI CoBIIAgaI-0T";
else
   cout<<"MaTPuLIbI HE CoBIIAgaI-0T";
}
else
   cout<<"MaTPuLIbI HE CoBIIAgaI-0T";
Наверное как то так[/QUOTE]




Как сделать чтобы результат не повторялся, а выводился только 1 раз?
Изображения
 
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
16.01.2014, 23:42     Проверить, совпадают ли матрицы #5
Введите переменную состояния.
Например book flag = true;
и в место сообщений
If(a[i][j] != s[i][j])
flag = false;

И в конце проверте флаг , если true совпадают, если false нет
freescape
 Аватар для freescape
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 19
16.01.2014, 23:53  [ТС]     Проверить, совпадают ли матрицы #6
Цитата Сообщение от egor2116 Посмотреть сообщение
Введите переменную состояния.
Например book flag = true;
и в место сообщений
If(a[i][j] != s[i][j])
flag = false;

И в конце проверте флаг , если true совпадают, если false нет

не получается((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2014, 10:47     Проверить, совпадают ли матрицы
Еще ссылки по теме:

C++ Даны две квадратные матрицы размером n×n. Проверить, совпадают ли они
Проверить, образуют ли элементы строк матрицы возрастающую последовательность C++
C++ Найти количество элементов матрицы, которые совпадают с элементами другой матрицы

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

Или воспользуйтесь поиском по форуму:
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
17.01.2014, 10:47     Проверить, совпадают ли матрицы #7
замените
C++
1
2
3
4
5
6
7
8
9
10
11
if (n==y && f==m) 
{
for (i=0;i<n;i++)
for (j=0;j<m;j++)
if (a[i][j]==s[i][j]) 
   cout<<"MaTPuLIbI CoBIIAgaI-0T";
else
   cout<<"MaTPuLIbI HE CoBIIAgaI-0T";
}
else
   cout<<"MaTPuLIbI HE CoBIIAgaI-0T";
на
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool flag = true;
if (n==y && f==m) 
{
for (i=0;i<n;i++)
for (j=0;j<m;j++)
if (a[i][j]!=s[i][j]) 
   flag = false;
if(flag)
   cout<<"MaTPuLIbI CoBIIAgaI-0T";
else
   cout<<"MaTPuLIbI HE CoBIIAgaI-0T";
}
else
   cout<<"MaTPuLIbI HE CoBIIAgaI-0T";
Yandex
Объявления
17.01.2014, 10:47     Проверить, совпадают ли матрицы
Ответ Создать тему
Опции темы

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