С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

16.11.2011, 11:54. Просмотров 1125. Ответов 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. Не ругайтесь, что мол много таких тем, я их все просматривал, но так и не понял в чём ошибка. =(
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2011, 11:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Умножение матриц (C++):

Умножение треугольных матриц«Методы обработки разреженных матриц» - C++
Нужно перемножить треугольные матрицы в обычном виде и в свёрнутом. С обычным проблем нет. Доступ к элементам свёрнутой матрицы...

Умножение матриц - C++
int **calculation3(int **mat1,int **mat2,int q,int e,int w,int t){ int m,ww=0,x,z; for(x=0;x&lt;q;x++){ for(z=0;z&lt;w;z++){ ww=0;...

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

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

Умножение матриц - C++
Вообщем при вводе матриц размером 1х4 или 3х4, получается такое(на картинке), но если вводить матрицы к примеру 4х1 или 4х4, то все окей,...

Умножение матриц - C++
Помогите с умножением матриц создал две идентичные таблицы 3х3 и тепер хочу вывести матрицу этих двух таблиц, но в переменной suma...

5
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;
}
1
go
Эксперт С++
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;
}
2
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
И можно ли без него обойтись?
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
17.11.2011, 17:26 #5
Цитата Сообщение от b0n4b Посмотреть сообщение
И можно ли без него обойтись?
Это директива препроцессора, она используется для создания константы
Делайте как вам угодно...
0
Ayrmax
0 / 0 / 0
Регистрация: 06.08.2015
Сообщений: 85
25.08.2015, 11:45 #6
как реализовать через функцию ????
0
25.08.2015, 11:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.08.2015, 11:45
Привет! Вот еще темы с ответами:

Умножение матриц - C++
Здравствуйте помогите пожалуйста, не понимаю почему не получается перемножить матрицы. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

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

Умножение матриц - C++
Форумчане, кто поможет, что здесь не то // Multiplying arrays.cpp : main project file. #include &quot;stdafx.h&quot; ...

Умножение матриц - C++
Решил немного вспомнить матрицы // Перемножение двух матриц минора. cout&lt;&lt;&quot;Сейчас мы перемножим матрицы.\n\n&quot;; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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