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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
crewww
30 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 102
#1

Рекурсивное умножение матриц - C++

25.02.2012, 20:57. Просмотров 1573. Ответов 7
Метки нет (Все метки)

С чего начать в первую очередь чтобы понять как реализовать рекурсивное умножение матриц?
напишу обычную функцию для умножения матриц:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const int n=1000;
void mult (int x[n][n],int y[n][n],int z[n][n])
{
    for (int i=0;i<n;i++)
    
        for (int j=0;j<n;j++)
        
            z[i][j]=0;
            
                for (int k=0;k<n;k++)
                
    z[i][j]+=x[i][k]*y[k][j];
}
буду признателен если вы дадите мне идеи
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2012, 20:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсивное умножение матриц (C++):

Рекурсивное умножение матриц - C++
Надо написать рекурсивную процедуру умножения двух матриц. Как оформить? Что делать? Кто напишет - тому пирожок :)

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

Необходимо написать быстрое рекурсивное умножение многочленов (полиномов). Не преобразование Фурье - C++
Необходимо написать быстрое рекурсивное умножения многочленов (полиномов). Не преобразование Фурье. Многочлен разбивается на две части (от...

Умножение матриц - C++
Как мне перемножить матрицы друг на друга? Искал в интернете все говорят воспользуйся boost, я скачал, а что делать дальше не понимаю....

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

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

7
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
25.02.2012, 21:24 #2
Цитата Сообщение от crewww Посмотреть сообщение
буду признателен если вы дадите мне идеи
для умножения мы суммируем произведения соответствующих елементов строки и столбца. Значит, в рекурсивную функцию будем передавать текущий индекс. Результирующую матрицу лучше сделать глобальной, чтобы сэкономить память
0
crewww
30 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 102
26.02.2012, 07:35  [ТС] #3
Цитата Сообщение от Mayonez Посмотреть сообщение
для умножения мы суммируем произведения соответствующих елементов строки и столбца. Значит, в рекурсивную функцию будем передавать текущий индекс. Результирующую матрицу лучше сделать глобальной, чтобы сэкономить память
индексы строки и столбца?

Добавлено через 9 часов 46 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
const int n=1000;
void mult (int x[n][n],int y[n][n],int z[n][n],int i,int j)
{
    if (i<n||j<n)
 { 
      
        mult (x,y,z,0,0)
        i++;
        j++;
 }
 
}
0
-=ЮрА=-
26.02.2012, 11:14
  #4

Не по теме:

crewww, думаю ты детерминант матрицы хочешь найти(для этого и надо много матриц через рекурсию проблать), так???Если да то пиши я брошу ссылку на готовый проект...

0
crewww
30 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 102
26.02.2012, 12:22  [ТС] #5
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

crewww, думаю ты детерминант матрицы хочешь найти(для этого и надо много матриц через рекурсию проблать), так???Если да то пиши я брошу ссылку на готовый проект...

нет именно перемножить квадратные матрицы рекурсивно нужно
0
crewww
30 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 102
18.03.2012, 01:17  [ТС] #6
помогите разобраться с данной задачей
еще дайте какие нибудь идеи, я в свою очередь попробую это реализовать
буду признателен
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
18.03.2012, 04:08 #7
Есть рекурсивный алгоритм Штрассена для перемножения матриц за время, меньшее чем http://www.cyberforum.ru/cgi-bin/latex.cgi?O (n^3)
0
crewww
30 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 102
18.03.2012, 11:23  [ТС] #8
Цитата Сообщение от Nameless One Посмотреть сообщение
Есть рекурсивный алгоритм Штрассена для перемножения матриц за время, меньшее чем http://www.cyberforum.ru/cgi-bin/latex.cgi?O (n^3)
я знаю о нем, он мне показался не по зубам, но надо попробовать может и получится
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2012, 11:23
Привет! Вот еще темы с ответами:

Умножение матриц - 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;...

Умножение матриц - C++
complex &lt;double&gt; c; for (int r = 0; r &lt; 4; r++) for (int col = 0; col &lt; 8; col++) for (int i =...

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

Умножение матриц - C++
Помогите пожалуйста написать прогу для умножения матриц с использованием malloc. Юзал обычные проги для умножения, но вот с malloc что то...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
18.03.2012, 11:23
Ответ Создать тему
Опции темы

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