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

проверить равенство (C++) - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Vanechka
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 7
29.10.2011, 13:11     проверить равенство (C++) #1
Заданы матрицы A(3,3) и B(3,3). Проверить, является ли произведение матриц
перестановочным, т.е. проверить равенство A×В=В×А. В случае положительного ответа напечатать
"А×В=В×А", в противном случае напечатать "произведение неперестановочно". Ввод элементов матриц
и вычисление произведения двух матриц оформить в виде подпрограммы.
Помогите с решением
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.10.2011, 14:56     проверить равенство (C++) #2
C
1
2
3
4
5
struct matrix {
    double arr[3][3];
};
 
struct matrix multi(struct matrix m1, struct matrix m2);
C
1
2
3
4
5
6
    struct matrix a, b;
 
    matread(&a);
    matread(&b);
    if (matcmp(multi(a, b), multi(b, a)) == 0)
        printf("equal\n");
это в общих чертах
Vanechka
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 7
29.10.2011, 15:47  [ТС]     проверить равенство (C++) #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
#include<iostream.h>
#include<iomanip.h>
void output (long c[3][3]);
void input(long a[3][3], long b[3][3]); 
int main()
{
long  a[3][3], b[3][3], c[3][3];
input(a,b); 
for (int i = 0; i<3; i++)
for (int j = 0; j<3; j++)
c[i][j] = a[i][j]*b[i][j] + a[i][j+1]*b[i+1][j]; 
output(c);
system ("PAUSE");
return 0;
}
void input(long a[3][3], long b[3][3]) 
{
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3;j++)
{
cout << "Input a[" << i <<"]["<<j<<"] : ";
cin >> a[i][j];
}         
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3;j++)
{
cout << "Input b[" << i <<"]["<<j<<"] : ";
cin >> b[i][j];
}
}
void output(long c[3][3])
{
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3;j++)
cout << "Input c[" << i <<"]["<<j<<"]"<<c[i][j]<<endl;
}
 Комментарий модератора 
Используйте теги форматирования кода!


а так допускается?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.10.2011, 15:51     проверить равенство (C++) #4
Цитата Сообщение от Vanechka
а так допускается?
функцию перемножения ещё нужно
функцию сравнения ещё нужно
Vanechka
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 7
29.10.2011, 16:13  [ТС]     проверить равенство (C++) #5
вот это и не получается
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
29.10.2011, 17:16     проверить равенство (C++) #6
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
 
using namespace std;
 
bool BasA(double A[3][3], double B[3][3]) {
    for(int i = 0; i < 3; i++) {
        for(int j = 0; j < 3; j++) {
            if(A[i][j]!=B[i][j]) {
                return false;
            }
        }
    }
    return true;
}
 
void matrix_on_matrix(double A[3][3], double B[3][3], double C[3][3]) {
    double sum = double();
    for(int i = 0; i < 3; i++) {
        for(int j = 0; j < 3; j++) {
            for(int k = 0; k < 3; k++) {
                sum+=(A[i][k]*B[k][j]);
            }
            C[i][j] = sum;
        }
        sum = 0;
    }
 
}
 
void fill_matrix(double A[3][3]) {
    for(int i = 0; i < 3; i++) {
        for(int j = 0; j < 3; j++) {
            cin >> A[i][j];
        }
    }
}
 
void print_matrix(double A[3][3]) {
    for(int i = 0; i < 3; i++) {
        for(int j = 0; j < 3; j++) {
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
}
 
 
int main() {
    double A[3][3], B[3][3], C1[3][3], C2[3][3];
    fill_matrix(A);
    fill_matrix(B);
    matrix_on_matrix(A,B,C1);
    matrix_on_matrix(B,A,C2);
    print_matrix(C1);
    print_matrix(C2);
    if(BasA(C1,C2)) {
        cout << "BxA=AxB" << endl;
    } else {
        cout << "false" << endl;
    }
    system("pause");
    return 0;
 
}
Как то так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2011, 18:59     проверить равенство (C++)
Еще ссылки по теме:

Проверка на равенство строк C++
Равенство пустых итераторов C++
C++ Проверить на равенство два числа типа double
C++ Равенство двух строк
Программа, сравнивающая два массива на равенство C++

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

Или воспользуйтесь поиском по форуму:
Vanechka
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 7
31.10.2011, 18:59  [ТС]     проверить равенство (C++) #7
Дан массив A из 12 целых случайных чисел, с максимальным значением не больше 50.
Написать программу вывода на печать только нечетных чисел.
помогите составить код
Yandex
Объявления
31.10.2011, 18:59     проверить равенство (C++)
Ответ Создать тему
Опции темы

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