Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? https://www.cyberforum.ru/ cpp-beginners/ thread1241165.html
Помогите новичку! Пишу класс и вынес его в отдельные файлы *.CPP и *.H Теперь пытаюсь переопределить операторы. Начал с = По примеру отсюда http://habrahabr.ru/post/132014/ class Integer { private: int value; public: Integer& operator=(const Integer& right) { if (this == &right) { return *this; }
C++ Запуск программы с параметрами с командной строки
Добрый день. Хочу решить простую задачу. Пользователь должен запустить программу с параметрами с консоли. Параметров может быть 2 или 3. Либо две символьные строки (массива char), либо две строки и целочисленная переменная. Написал такой код: #include "stdafx.h" #include <iostream> #include "header.h" using namespace std; int _tmain(int argc, char argv) { char path1 = { 0 }, path2 = {...
C++ Временные файлы папки Temp - как избежать ее удаления https://www.cyberforum.ru/ cpp-beginners/ thread1241137.html
Подскажите пожалуйста! Есть программа, после ее обновления папка sql удаляется из временной папки TEMP... Что можно сделать, чтобы эта папка не удалялась вместе с файлами после обновления?
C++ Консоль не запускается из-за отсутствия DLL Вот что выдал мне компьютер после попытки запустить мою консоль. Как это исправить? Почему консоль не запускается? Может быть, дело в том, что на этом компьютере не установлено Visual Studio, в которой я сделал эту консоль? https://www.cyberforum.ru/ cpp-beginners/ thread1241136.html
C++ Переопределение размера массива указателей
Доброе время суток. Столкнулся с неожиданно проблемой, не могу решить. Поиск по форуму ничего не дал. Есть элементарный код: #include <iostream> using namespace std; void main() { int i=0; const int n = 3;
C++ Чтение файлов - исправить ошибки в коде Добрый день. Возникла проблема, с которой раньше не сталкивался: файл не открывается. Искал с интернете, в учебниках, в предыдущих программах, которые писал - ничего не работает. #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; int _tmain(int argc, _TCHAR* argv) { https://www.cyberforum.ru/ cpp-beginners/ thread1241114.html
C++ Создать класс, в котором можно сохранить любой вызываемый объект или функцию https://www.cyberforum.ru/ cpp-beginners/ thread1241101.html
Возникла идея создать класс, в котором можно сохранить любой вызываемый объект или функцию. Что то наподобие std::function, но только не параметризирован, с использованием технологии Type Erasure. Вот такой первый набросок получился (естественно не рабочий):#include <iostream> #include <string> #include <memory> #include <vector> #include <boost/type_traits/function_traits.hpp> class...
C++ Error LNK2019: ссылка на неразрешенный внешний символ
Здрасте, Потребовалось вызвать dll из другой папки, пришлось переписывать импорт под динамический вызов, но тут полезли ероры. myIDirect3DDevice9.obj : error LNK2001: неразрешенный внешний символ ""public: static int (__cdecl* TwBarFunc::TwWindowSize)(int,int)" (?TwWindowSize@TwBarFunc@@2P6AHHH@ZA)" 1>myIDirect3DDevice9.obj : error LNK2001: неразрешенный внешний символ ""public: static...
C++ Односвязный список: В чём разница между struct и class? https://www.cyberforum.ru/ cpp-beginners/ thread1241053.html
После неудач работы с Vector, а так же отсутствия (Хотя, скорее всего, я просто плохо искал) хорошей русской документации по нему, решил запилить свой велосипед с самоваром и тёрками. Список состоит из шаблона класса "заголовка" и шаблона класса элемента. В шаблоне ссылка на первый элемент, размер списка и функции по работе со списком. Основу элемента списка составляет указатель на переменную...
C++ Создание и удаление объекта. Ошибка 134 в Linux Имеется следующий класс class BoardView { private: Board *brd; void Show(); public: https://www.cyberforum.ru/ cpp-beginners/ thread1241052.html
Как разделить результат, возвращаемый Multi curl? C++
1)Я вообще непонимаю зачем нужна функция static int writer(char *data, size_t size, size_t nmemb, string *buffer) как по мне делает какую-то ерунду. 2) На php курл реализован как-то лучше)) так как результат работы курла возвращает функция curl_exec аналог в с++ curl_easy_setopt который возвращает лишь статус(( ну да ладно вопрос в другом, ниже приведён код с использованием мультикурла,...
C++ Посчитать количество столбцов в строке, разделённых произвольным количеством белых знаков Необходимо посчитать количество столбцов в строке, разделённых произвольным количеством белых знаков (кроме знака конца стоки). Также прошу подсказать, как реализовать такую конструкцию символов(буфер? поток?), из который можно было бы читать словами (>>), но при этом каждое следующие читание читало бы следующее слово.
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
0

Создать независимую функцию, которая будет умножать две матрицы - C++ - Ответ 6509023

11.08.2014, 16:40. Показов 891. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день всем!
Такой вопрос. Создала свой класс "двухмерной" матрицы. Хочу создать независимую функцию, которая будет умножать две приходящие матрицы. С указателем на указатели проблем не возникло. Но решила для быстроты работы сделать через одномерные массивы(все мы знаем, что двумерный массив - обман компилятора).
Вотъ.
Но возникла проблема... Не получается сообразить какой же алгоритм использовать для умножения одномерных массивов путём правил умножения двухмерных матриц.
Мозги под конец рабочего дня уже не те. В строке 94 какая-то бага.
Вот код(строго не судите, код пока поверхностно проработан)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <iostream>
 
class Matrix 
{
private: 
    int *mas;
    int mRows;
    int mCols;
 
public:
    ~Matrix()
    {
        delete mas;
    }
 
    Matrix(int rows, int cols)
    {
        mRows = rows;
        mCols  = cols;
        generate();
    }
 
    Matrix(int rows, int cols, int n)
    {
        mRows = rows;
        mCols  = cols;
        generateOne(n);
    }
 
    void generate()
    {
        mas = new int[mRows*mCols];
 
        for (int i = 0; i < mCols*mRows; ++i)
                mas[i] = rand()%10;
    }
 
    void generateOne(int n)
    {
        mas = new int[mRows*mCols];
 
        for (int i = 0; i < mCols*mRows; ++i)
                mas[i] = n;
    }
     
    int getColumns()
    {
        return mCols;
    }
 
    int getRows()
    {
        return mRows;
    }
 
    void show()
    {
        std::cout << std::endl;
        std::cout << "*******************************";
        std::cout << std::endl;
        int count = 0;
        for (int i = 0; i < mCols*mRows; ++i)
        {
            std::cout << mas[i] << " ";
            ++count;
            if (count == mRows) 
            { 
                    std::cout << std::endl;
                    count = 0;
            }
        }
        std::cout << "\n*******************************";
        std::cout << std::endl;
    }
 
    int& operator[] (const int num)
    {
        if (num < mCols*mRows && num > 0)
            return this->mas[num];
    }
};
 
Matrix multilpy(Matrix& matrix1, Matrix& matrix2)
{
    Matrix result(matrix1.getRows(), matrix2.getColumns(), 0);
    if (matrix1.getColumns() != matrix2.getRows())
        std::cout << "\nWrong matrix parametres!!!";
    else
    {
        for (int i = 0; i < matrix1.getColumns()*matrix2.getRows(); ++i)
            {
                int temp = matrix1[i] * matrix2[i + matrix2.getColumns()];
                // Колл стек гласит, что крэш здесь...  
                result[i] += temp;
            }
            return result;
    }
}
 
int main()
{
    Matrix matrix1(6, 5);
    matrix1.show();
    Matrix matrix2(5, 7);
    matrix2.show();
    Matrix result = multilpy(matrix1, matrix2);
    result.show();
    system("pause>>null");
}
Заранее спасибо.

Вернуться к обсуждению:
Создать независимую функцию, которая будет умножать две матрицы C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2014, 16:40
Готовые ответы и решения:

Написать функцию которая будет умножать любую строку на уже заданную матрицу
Написать функцию которая будет умножать любую строку на уже заданную матрицу

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

Создать функцию, которая будет вызывать другую функцию
Доброго времени суток. Изучаю PHP и вот столкнулся с такой практикой, не знаю как реализовать....

Массив: Написать подпрограмму, которая будет умножать чётные элементы массива на заданное число.
Помогите, пожалуйста, исправить ошибку в коде. Было необходимо создать динамический массив и...

4
11.08.2014, 16:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2014, 16:40
Помогаю со студенческими работами здесь

Шаблон класса массив, который будет выводить матрицы, а также складывать/вычитать/умножать
Всем привет. Нужно создать шаблон класса массив, который будет выводить матрицы, а также...

Создать функцию, которая будет писать код (версия_2)
Еще раз прошу вашей помощи. Создаем файл genere.py, который в свою очередь создает файл ADD.py в...

Создать функцию, которая будет возводить число x в степень n
Нужно вручную создать функцию, которая будет возводить число x в степень n

Как создать функцию, которая будет возвращать 2 и более параметра?
Ребята, как создать функцию, которая будет возвращать 2 и более параметра, и как их можно принять?...

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