Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 14

Умножение матриц

22.12.2014, 05:19. Показов 1432. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте помогите пожалуйста, не понимаю почему не получается перемножить матрицы.
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 "stdafx.h"
 
#include <iostream>
#include <ctime>
#include <cmath>
 
using namespace std;
 
int main()
{
double x[4][3]={{0,1,1},{1,2,1},{-1,0,-1},{1,-1,-1}};
double xx[3][4]={{-0.09,0.27,-0.27,0.45},{0,0.5,0.5,0},{0.27,-0.32,-0.68,-0.36}};
double b[1][4]={1,1,1,1};
double m=1;
 
double w[1][3];
 for(int i=0;i<4;i++)
 { for(int j=0;j<1;j++)
    {      w[i][j]=0;
    for (int l=0;l<3;l++)
        {
            w[i][j]=w[i][j]+xx[i][l]*b[l][j];
        }
    }
}      
    system("pause");
}
Добавлено через 38 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double x[4][3]={{0,1,1},{1,2,1},{-1,0,-1},{1,-1,-1}};
double xx[3][4]={{-0.09,0.27,-0.27,0.45},{0,0.5,0.5,0},{0.27,-0.32,-0.68,-0.36}};
double b[4][1]={{1},{1},{1},{1}};
double m=1;
 
double w[3][1];
double e[4][1];
for(int i=0;i<3;i++)
 { for(int j=0;j<1;j++)
    {    w[i][j]=0;
    for (int l=0;l<3;l++)
        {
            w[i][j]=w[i][j]+xx[i][l]*b[l][j];
        }
    }
Немного исправила но все равно считается неверно(
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.12.2014, 05:19
Ответы с готовыми решениями:

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

Умножение матриц
#include &lt;iostream&gt; #include &lt;ctime&gt; // в ней функция time #include &lt;conio.h&gt; #include &lt;stdio.h&gt; using namespace std; void...

Умножение матриц
#include &lt;iostream&gt; using namespace std; int main(int argc, const char * argv) { int **C; int n,k; /*...

1
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.12.2014, 06:24
Потому что считаешь первый элемент и записываешь его в исходную матрицу. когда считаешь второй то вместо исходного в первом элементе используется уже вычесленный элемент результата. Сделай отдельную матрицу под результат.
пример:
C++
1
2
3
4
5
6
7
8
9
10
TMatrix operator *(TMatrix& m1, TMatrix& m2) {
       TMatrix R;
    for (int i = 0; i < MatrixSize; i++)
        for (int j = 0; j < MatrixSize; j++) {
            R[i][j] = 0;
            for (int k = 0; k < MatrixSize; k++)
                R[i][j] += m1[i][k] * m2[k][j];
        }
         return R;
}
Добавлено через 50 минут
А не матрица у тебя отдельная. Только у тебя получается что ты пытаешься умножить вектор b на матрицу xx. в результате будет вектор длиной 4 а не матрица.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2014, 06:24
Помогаю со студенческими работами здесь

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

Умножение матриц
Ох уж этот универ... Короче, дела обстоят так: Перемножить матрицы А размером nхm и В размером mхl. Элементы результирующей матрицы...

Умножение матриц
Ребят, помогите реализовать алгоритм умножения матриц. Вот так пытаюсь: int mas; mas = 26; mas = 3; mas = 4; mas = 9; ...

Умножение матриц
Ребят , помогите пожалуйста доделать программку. Осталось сделать умножение матриц C и B , результат записать в в матрицу A и матрицу A...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru