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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
b0n4b
2 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 100
#1

Умножение матриц - C++

16.11.2011, 11:54. Просмотров 1088. Ответов 5
Метки нет (Все метки)

Доброго времени суток Помогите пожалуйста в написании программы.
Пользователь вводит Матрицу А(размер 2х2) и Матрицу В(размер 2х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
39
40
#include <stdio.h>
#include <conio.h>
 
int main (void)
{
    const int n=2;
    int a[n][n];
    int b[n][n];
    int c[n][n];
    int i1=0, j1=0, i2=0, j2=0, i3=0, j3=0;
    
    printf ("BBeguTe Matrix A:\n");
    for(i1=0; i1<n; i1++)
    {
        for(j1=0; j1<n; j1++)
        scanf("%d", &a[i1][j1]);
    }   
    
    printf ("BBeguTe Matrix B:\n");
    for(i2=0; i2<n; i2++)
    {
        for(j2=0; j2<n; j2++)
        scanf("%d", &b[i2][j2]);
    }   
 
    for (i3=0; i3<n; i3++)
    {
        for (j3=0; j3<n; j3++)
            c[i3][j3]=a[i1][j1]+b[i2][j2];
    }
 
    printf ("Matrix C=\n");
    for(i3=0; i3<n; i3++)
    {
        for(j3=0; j3<n; j3++)
            printf ("%d", a[i1][j1]*b[i2][j2]);
    }   
    getch();
    return 1;
}
P.S. Не ругайтесь, что мол много таких тем, я их все просматривал, но так и не понял в чём ошибка. =(
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2011, 11:54     Умножение матриц
Посмотрите здесь:

Умножение матриц - C++
помогите сделать задачу: Даны матрицы: А размером m*k и В размером k*n.Получить матрицуС=A*В. Создавайте темы с осмысленными и понятными...

Умножение матриц - C++
В чем проблема? #include&lt;iostream&gt; #include&lt;iomanip&gt; #include &lt;time.h&gt; using namespace std; char _quit_; int...

Умножение матриц - C++
Я юзаю Qt, но пишу сюда т.к. он никак не влияет на код (почти) У меня есть две матрицы A и B (размерность обеих 800х800). Чтобы получить...

Умножение матриц - C++
Задача такая : Для заданой квадратической матрицы А заданого порядка n найти произведение А * В, где элементы матрицы В узнаются за...

Умножение матриц - C++
Ребят помогите пожалуйста!!! Требуется написать программку умножения матриц,значения в матрице генерировать случайным образом число...

Умножение матриц - C++
Доброго всем времени суток! Нужна Ваша помощь. Задали сделать задачку на C++ в консоли - умножение матриц 10 на 10 с помощью...

Умножение матриц - C++
Решенная задача на умножение матриц для сборника. Матрицы вводятся с клавиатуры построчно. #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Умножение матриц - C++
Мне нужно перемножить матрицы скажите что не провильно,почему она не работает for (int i=0; i&lt; StrToInt(Edit1-&gt;Text);i++) for (int...

Умножение матриц - C++
Найти произведение k квадратных матриц А1*А2*...Аk. Процедура: вычисление произведения двух матриц.

Умножение 3 матриц - C++
вод код моей процедуру { GetMatrixA(A); GetMatrixB(B); GetMatrixD(D); for( p= 1; p&lt;=count; p++) for( j= 1; j&lt;=n; j++) { ...

Умножение матриц - C++
Ошибка: не хочет умножать. c=c+a*b; int **mat(int n){ int **matrix; matrix=new int *; for (int i=0; i&lt;2; i++) ...

Умножение матриц - C++
Здравствуйте, у меня простая прога для умножения матриц относительно произвольных размеров (&lt;100x100) #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ropsat
29 / 29 / 1
Регистрация: 04.03.2011
Сообщений: 67
16.11.2011, 12:45     Умножение матриц #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
39
#include <stdio.h>
#include <conio.h>
 
int main (void)
{
        const int n=2;
        int a[n][n],b[n][n],c[n][n];
        int i,j;
        
        printf ("BBeguTe Matrix A:\n");
        for(i=0; i<n; i++)
        {
                for(j=0; j<n; j++)
                scanf("%d", &a[i][j]);
        }       
        
        printf ("BBeguTe Matrix B:\n");
        for(i=0; i<n; i++)
        {
                for(j=0; j<n; j++)
                scanf("%d", &b[i][j]);
        }       
 
        for (i=0; i<n; i++)
        {
                for (j=0; j<n; j++)
                        c[i][j]=a[i][j]*b[i][j];
        }
 
        printf ("Matrix C=\n");
        for(i=0; i<n; i++)
        {
                for(j=0; j<n; j++)
                        printf ("%2d ",c[i][j]);
                putchar('\n');
        }       
        getch();
        return 0;
}
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.11.2011, 13:15     Умножение матриц #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ropsat, мне кажется, что матрицы немного не так перемножаются (строка на столбец)
могу сбросить код, если он нужен ТС

Добавлено через 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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define n 2
#define m 5
#define k 3
 
int main ()
{ int a[n][m], b[m][k], c[n][k],i,j,z;
 
srand(time(NULL));
for (i=0;i<n;i++) // ввод рандомом
for (j=0;j<m;j++)
     a[i][j]=rand ()%5;
 
for (i=0;i<m;i++)
for (j=0;j<k;j++)
b[i][j]=rand ()%5;
 
 
for (i=0;i<n;i++)
for (j=0;j<k;j++)
{ c[i][j]=0; //обнуляем элемент, в который будет производится запись перемножения строка на //столбец
for (z=0;z<m;z++)
c[i][j]+=a[i][z]*b[z][j]; //записываем сумму умножая поочередно элементы строки и столбца
}
 
 
for (i=0;i<n;i++)
{ puts ("\n");
for (j=0;j<k;j++)
printf ("%10d", c[i][j]);
}
 
system ("Pause");
return 0;
}
b0n4b
2 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 100
17.11.2011, 11:19  [ТС]     Умножение матриц #4
Я не совсем пойму что такое
C++
1
2
3
#define n 2
#define m 5
#define k 3
И можно ли без него обойтись?
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2011, 17:26     Умножение матриц #5
Цитата Сообщение от b0n4b Посмотреть сообщение
И можно ли без него обойтись?
Это директива препроцессора, она используется для создания константы
Делайте как вам угодно...
Ayrmax
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 85
25.08.2015, 11:45     Умножение матриц #6
как реализовать через функцию ????
Yandex
Объявления
25.08.2015, 11:45     Умножение матриц
Ответ Создать тему
Опции темы

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