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

Умножение двух матриц - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с консолью http://www.cyberforum.ru/cpp-beginners/thread687213.html
Можно ли работать с бд в конлоси. Если да то подкажите как поочерёдно лоставать из таблицы например 123 по значению Показывать его на экране и записать это значение в другую страницу
C++ Удаление всех элементов после запятой Написать программу, которая бы удаляла все элементы после запятой! Я вот написал программу, но меня смущает мигания курсора! Он должен был мигать в конце обрезанного строки, а он мигает в конце немодифицированного строки, может это и тупой вопрос, но мне интересно почему так? #include <iostream> #include <conio.h> #include <string.h> int n=10; using namespace std; int main(){ char... http://www.cyberforum.ru/cpp-beginners/thread687203.html
Управление текстом и цветом к консоли C++
Добрый вечер! Интересуют 2 вопроса: 1) Как в консоли оформить шапку (большие буквы вверху)? 2) Как изменить цвет фона и текста? P.S. Работаю в Dev Cpp.
C++ Ввести фамилию, имя и отчество как одно данное типа строка. Определить длину строки и количество букв «а» . Выполнить задачи своего двумя способами
Ввести фамилию, имя и отчество как одно данное типа строка. Определить длину строки и количество букв «а» в нем. Выполнить задачи своего двумя способами: - Рассматривая строку как массив символов. - Применяя к строке функции и процедуры.
C++ При возврате объекта из функции пишет, что для объекта не определен констуктор копирования http://www.cyberforum.ru/cpp-beginners/thread687181.html
Пишу шаблонный класс матриц. Делаю, значит, переопределение оператора + для двух матриц одного типа. Но компилятор ругается на эту функцию matrix.hpp:141:11: error: no matching function for call to 'Matrix<int>::Matrix(Matrix<int>&)' Что это значит? Как это исправить? Сама тестовая программа main.cpp #include <iostream> #include "matrix.hpp" using namespace std;
C++ Нахождение кратчайшего пути по матрице, или передвижение привидений в игре Пакмен Подскажите пожалуйста как правильно реализовать? Имеются координаты x,y пакмана и приведения. Я использую такой алгоритм: void Enemy::move(Map* map, Puckman* Puckman, Enemy* en) { if(Puckman -> posX > posX && map -> map->iCanEatThat) en->posX++; else if(Puckman -> posX < posX && map -> map->iCanEatThat) en->posX--; else if(Puckman -> posY > posY && map -> map->iCanEatThat)... подробнее

Показать сообщение отдельно
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
06.11.2012, 10:10     Умножение двух матриц
Цитата Сообщение от Mogost Посмотреть сообщение
C++
1
2
sum += data[i][k] * c.data[k][j];
* * * * * * * * data[i][j]=sum;
сам алгоритм вроде правильный, проблема только в том что после того как вы посчитали первый элемент в следующем цикле его используете соответственно верный результат может получится при очень специфических данных таблицы. например если матрица будет забита нулями или какимто особым образом единицами. Т.к у вас используются указатели на матрицу, можно сделать указатель на массив чтото типо такого
C++
1
2
3
4
5
6
7
8
9
10
11
    int *buf;;
    //bla bla bla
    for(i = 0; i < rows; i++){
        buf=new int[rows];
        for(j = 0; j < cols; j++)
            for (buf[j]=0,k = 0; k < rows; k++)
                buf[j] += data[i][k] * c.data[k][j];
        delete[] data[i];
        data[i]=buf;
    }
    return this;
Добавлено через 1 минуту
ну как то так, я думаю смысл понятен, неточности вы если что уберете =)
 
Текущее время: 20:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru