0 / 0 / 0
Регистрация: 22.06.2013
Сообщений: 25
1

Ошибка в перемножении матриц

27.10.2013, 17:42. Показов 588. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется программка для перемножения матриц.
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
void matrix_iter(double **mas_e, double **mas1, double **mas2, int size)
{
    
    for (int y=0;y<size;y++)
        for (int x=0;x<size;x++)
        {
            mas_e[y][x] = 0;
            for(int z=0;z<size;z++)
            {
                mas_e[y][x]+=mas1[y][z]*mas2[z][x];
            }
        }
}
int _tmain(int argc, _TCHAR* argv[])
{
const int size = 150; 
 
    static double **mas1 = new double *[size]; 
    for(int i = 0; i<size; i++)
        mas1[i] = new double [size];
 
    static double **mas2 = new double *[size]; 
    for(int i = 0; i<size; i++)
        mas2[i] = new double [size];
 
    static double **mas_e = new double *[size]; 
    for(int i = 0; i<size; i++)
        mas_e[i] = new double [size];
 
    matrix_iter(mas_e, mas1, mas2, size);
    
 
   system ("pause");
   return 0;
}
Студия выдает ошибку "Необработанное исключение по адресу 0x00E150AA в Mtx.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0xCDCDCDCD." В чем может быть проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2013, 17:42
Ответы с готовыми решениями:

Ошибка вывода при перемножении матриц
Здравствуйте! Программирую на C++ совсем недавно, столкнулся с проблемой, при выводе матрицы....

При перемножении матриц ошибка с памятью
Написал класс матрица с алгоритмом умножения, но при выходе из проги выбивает ошибку. Не пойму как...

Мусор при перемножении матриц
3дравствуйте, ошибка возникает,когда перемножаю матрицы a3;b3 и a2;b2; Они перемножаются, но там...

Ошибка при перемножении матриц
Здравствуйте. При перемножении двух матриц, появляется лишний столбец. Никак не могу найти ошибку....

2
59 / 59 / 12
Регистрация: 01.01.2010
Сообщений: 222
27.10.2013, 17:47 2
Как вариант: возможно значения выходят за пределы типа int?
Попробуйте инициализировать элементы

Глупость написал уже увидел
1
0 / 0 / 0
Регистрация: 22.06.2013
Сообщений: 25
27.10.2013, 17:52  [ТС] 3
Сам нашел ошибку, когда вставлял код сюда. Но спасибо за помощь все равно
Чтобы тема не была лишней, подскажите - как перемножение можно оптимизировать для наилучшей скорости работы? Знаю, что транспонирование очень хорошо позволяет выиграть время, может есть еще алгоритмы?
0
27.10.2013, 17:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2013, 17:52
Помогаю со студенческими работами здесь

Ошибка при перемножении квадратных матриц
Написал такую прогу. По выбору складывает, вычитает, или умножает матрицы. При перемножении (конец...

Задача об эффективном перемножении матриц
Помогите разобраться с алгоритмом об эффективном перемножении матриц(расстановка скобок). Я понял...

Свойство ассоциативности при перемножении матриц
Народ. Не могу понять одну вещь. Я сейчас с координатными преобразованиями завис, причём с...

Программа, которая оптимальным образом расставляет скобки при перемножении матриц
Пожалуйста помогите написать программу, которая оптимальным образом расставляет скобки при...

Ошибка при перемножении численной матрицы на символьную
Здравствуйте. У меня возникает ошибка при перемножении матриц 3х3 на 3х1 &quot;Возвращаемый символьный...

Переполнение при перемножении чисел типа Variant
Вот так работает: Dim TotF As Long TotF = 15000000 А вот так выдаёт &quot;переполнение&quot;: Dim TotF...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru