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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Kill100
386 / 252 / 34
Регистрация: 11.12.2010
Сообщений: 1,078
Завершенные тесты: 1
#1

Проверить что в квадратной матрице все нули кроме главной диагонали - C++

18.02.2011, 21:03. Просмотров 1094. Ответов 4
Метки нет (Все метки)

Как проверить что в квадратной матрице все нули кроме главной диагонали...


и помогите найти ошибку
По определению если (P1 по правилу матрици умножить на P1)и умножить по элемнтно на P1
будет равно P1 по правилу матрици умножить на P1 то транзитивно.
Однако прога всегда пишет что не транзитивно...
вот функция
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
//Проверка транзитивности матриц БО
int matr_tranzit(int **Px){
 
 int **a=new int*[n];
     for (int i=0; i<n;i++){
      a[i]=new int [n];};
      
      
       for (int i=0;i<n;i++){
      for (int j=0;j<n;j++){
     a[i][j]=0
     ;};}
      
      
      
  int **b=new int*[n];
     for (int i=0; i<n;i++){
      b[i]=new int [n];};     
 
for (int i=0;i<n;i++){
      for (int j=0;j<n;j++){
        for (int k=0;k<n;k++)
        {a[i][j]+=(Px[i][k]*Px[k][j]);}
          
        ;};}
        
    
        
    for(int i=0; i<n; i++)
         for(int j=0; j<n; j++){
b[i][j]=Px[i][j]*a[i][j];
};
cout<<"(P1.P1)*P1 \n";
print(b); 
int t=0;
if(a==b){t=0;}else{t=1;};
 
return t;   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2011, 21:03     Проверить что в квадратной матрице все нули кроме главной диагонали
Посмотрите здесь:

В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали - C++
В квадратной целой матрице заменить все нечетные элементы суммой элементов главной диагонали и вывести результаты. что не так? #include...

В квадратной матрице найти сумму элементов ниже главной диагонали - C++
В квадратной матрице найти сумму элементов ниже главной диагонали Надо программу на си++

В квадратной матрице найти сумму минимального и максимального элементов главной диагонали - C++
В квадратной матрице найти сумму минимального и максимального элементов главной диагонали. Добавлено через 3 часа 13 минут Помогите...

В квадратной матрице заменить элементы главной и побочной диагонали на минимальный элемент - C++
задача такая:в квадратной матрице заменить элементы главной и побочной диагонали на минимальный элемент найденый среди элементов...

Обнулить в квадратной матрице элементы, лежащие выше главной и ниже побочной диагонали - C++
Как обнулить в квадратной матрице элементы, лежащие выше главной и ниже побочной диагонали. Условный оператор не использовать Каков...

В заданной квадратной матрице поменять местами элементы, стоящие на главной и побочной диагонали - C++
Добрый день ! Помогите пожалуйста с задачей,очень нужно! (С++) Дана матрицы А(3,3). В матрице поменять местами элементы, стоящие на...

В заданной квадратной матрице заменить минимальный элемент на 0, затем найти сумму элементов главной диагонали - C++
В матрице размерности 7 на 7 посчитать в каждом втором столбце заме- нить минимальный элемент нулем. Во вновь полученной...

Как заменить все элементы главной диагонали в квадратной матрицы на какое-то число? - C++
Как заменить все элементы главной диагонали в квадратной матрицы на какое-то число? и еще один вопрос как в массиве 12 элементов...

Заменить в матрице все элементы выше главной диагонали числом 2 - C++
Дана целочисленная матрица размера NxM. Заменить в данной матрице все элементы выше главной диагонали числом 2.

Заменить элементы главной диагонали матрицы на нули - C++
Заменить элементы главной диагонали на нули

В квадратной матрице поменять диагонали - C++
В квадратной матрице поменять диагонали

Сумма элементов главной диагонали квадратной матрицы - C++
Всем привет, подскажите пожалуйста как написать программу, подсчитывающую сумму элементов главной диагонали квадратной матрицы. Пожалуйста...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Топорик
7 / 7 / 1
Регистрация: 15.02.2011
Сообщений: 19
18.02.2011, 22:00     Проверить что в квадратной матрице все нули кроме главной диагонали #2
Мне кажется, что проще решить эту задачу простым перебором
Kill100
386 / 252 / 34
Регистрация: 11.12.2010
Сообщений: 1,078
Завершенные тесты: 1
18.02.2011, 22:18  [ТС]     Проверить что в квадратной матрице все нули кроме главной диагонали #3
Топорик,
Проверкой в недиагонали разобрался. )
Просто на диагональ вписал все нули и все дальше дело техники

А вот почему тот код не правильно сравнивает 2 матрици хз...
Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 92
19.02.2011, 07:51     Проверить что в квадратной матрице все нули кроме главной диагонали #4
А вот почему тот код не правильно сравнивает 2 матрици хз...
а интересно, где ваш код их сравнивает?
если вот тут:
C++
1
if (a == b)
то вы сравниваете не матрицы, а всего лишь 2 указателя...

матрицы сравниваются, например так:
C++
1
2
3
4
5
6
7
8
9
//Array1 - первая матрица, Array2 - вторая матрица, n - размер, причем у обоих матриц он одинаков. Матрицы квадратные!
bool isEqual (int **Array1, int **Array2, size_t n)
{
    for (size_t i = 0; i < n; i++)
        for (size_t j = 0; j < n; j++)
            if (Array1[i][j] != Array2[i][j])
                return false;
    return true;
}
ну и касательно вашего кода применять эту функцию так:
C++
1
2
if (isEqual(a, b, n))
    std::cout << "Матрицы равны!";
Kill100
386 / 252 / 34
Регистрация: 11.12.2010
Сообщений: 1,078
Завершенные тесты: 1
19.02.2011, 12:33  [ТС]     Проверить что в квадратной матрице все нули кроме главной диагонали #5
Vandris,
О+о то есть просто сравниванием нельзя было...
Спс буду знать )
А как применять функции знаю Просто в сравнении этом запутался...
Yandex
Объявления
19.02.2011, 12:33     Проверить что в квадратной матрице все нули кроме главной диагонали
Ответ Создать тему
Опции темы

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