Форум программистов, компьютерный форум, киберфорум
Параллельное программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 10.01.2015
Сообщений: 21

Получение значения матрицы из класса +TBB

22.03.2016, 19:02. Показов 1186. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые форумчане. Столкнулся с такой проблемой, как возврат значения матрицы из класса, где матрица в классе считается путем перемножения двух матриц. Значение результирующей матрицы, хранится в поле класса. Вот код:
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
class StrTask : public task {
public:
    int* matrix1; int* matrix2; int N; int threshold; int* Rez;
 
    StrTask(int* matrix1_, int* matrix2_, int N_, int threshold_, int* Rez_) :
        matrix1(matrix1_), matrix2(matrix2_), N(N_), threshold(threshold_), Rez(Rez_)
    {}
    task* execute() {
        if (N <= threshold)
        {
            cout << "Matrix A: " << endl;
            PrintMatrix(matrix1, N);
            cout << endl;
            cout << "Matrix B: " << endl;
            PrintMatrix(matrix2, N);
            cout << endl;
            Rez = Simple_Mmult(matrix1, matrix2, N);
            return NULL;
        }
    }
};
 
int* Calculate(int* matrix1, int* matrix2, int N, int threshold)
{
    int* Rez = NULL;
 
    StrTask& a = *new(task::allocate_root()) StrTask(matrix1, matrix2, N, threshold, Rez);
    task::spawn_root_and_wait(a);
 
    if (Rez == NULL)
        cout << "null" << endl;
    
    //cout << "Matrix C: " << endl;
    //PrintMatrix(Rez, N);
 
    return Rez;
}
Соотвественно в классе class StrTask Rez считает правильно, но почему в при вызове StrTask(matrix1, matrix2, N, threshold, Rez) в функции Calculate Rez возвращается как NULL, а нужно, что значение вернулось из класса. Подскажите пожалуйста, как правильно передавать Rez и как правильно его получить из класса? Заранее спасибо.

Добавлено через 3 часа 17 минут
Написал метод Get в классе:
C++
1
2
3
4
int* GetResult()
    {
        return Rez;
    }
Но хотелось без этого метода-у кого есть какие варианты? Подскажите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2016, 19:02
Ответы с готовыми решениями:

Получение значения из наследуемого класса
Добрый вечер. Имеется базовый класс root, в котором определяется $user class Root { protected $user; $this-&gt;user =...

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

Получение значения из одного класса в другой
Например у меня есть класс ключ. Если я нажимаю на ключ то объект удаляется и значение переменной становится true. Как мне передать...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2016, 19:02
Помогаю со студенческими работами здесь

Получение значения атрибута класса по его имени
Здравствуйте. Допустим у меня есть объект: Object MyObj; И допустим я точно знаю что значение объекта - элемент одного из трех...

Получение доступа к переменным класса из другого класса
Как передать по ссылке переменную из класса А в метод класса В?

Получение значения из List1 путём выбора значения в List2
Добрый вечер, знатоки VB. У меня такая проблема. На форме есть два элемента List1 и List2. Данные в список заполняются...

Получение значения CheckBox и внесение его значения в БД
Нужно получить значение checkbox и ввести эти данные в ячейку таблицы базы данных как Текст. Мой код if ((Combobox1.Text ==...

Передача значения переменной из метода одного класса в метод другого класса
Добрый вечер! Есть основная форма Form1 в которой есть метод private void button1_Click(object sender, EventArgs e) обрабатывающий...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Dev-c++5.11 Покорение вершины
russiannick 02.06.2025
С утра преследовала одна мысль - вот бы выучить С++. Сказано-сделано. Окончив смену, скачал в интернете бестселлер Дэвиса Dev-C++ для чайников. Книга оказалась интересной и я скачал среду, на примере. . .
Тестирование Pull Request в Kubernetes с GitHub Actions и GKE
Mr. Docker 02.06.2025
Мы все знаем, что тестирование на локальной машине или в изолированном CI-окружении — это не совсем то же самое, что тестирование в реальном кластере Kubernetes. Контекстно-зависимые ошибки, проблемы. . .
Оптимизация CMake для ускорения сборки
bytestream 02.06.2025
Вы когда-нибудь ловили себя на мысле, что пока ваш проект компилируется, можно успеть сварить кофе, прочитать главу книги или даже сбегать в соседний офис? Если да, то добро пожаловать в клуб. . .
JS String.prototype.localeCo­mpare()
mr_dramm 02.06.2025
скопировано из этой темы чтобы не потерялось. localeCompare без указания локали для сравнения строк под капотом использует Intl. Collator , который работает согласно Unicode Collation Algorithm. . .
Облако проектов
russiannick 01.06.2025
Слава Джа, написал прогу для компиляции. Значит написал компилятор? Обьем кода 300+ строк. Язык-яву. Вводим данные, заполняем поля, тычем радиобаттоны. И по итогу в поле результат получам листинг. . .
Rust и квантовые вычисления: интеграция с Q# и Qiskit
golander 01.06.2025
Мир квантовых вычислений традиционно оставался закрытым клубом для высокоуровневых языков типа Python и специализированных DSL вроде Q#. Однако в последние годы Rust начал тихую революцию в этой. . .
Кэш REDIS и C#
UnmanagedCoder 01.06.2025
Redis (Remote Dictionary Server) - это ультраскоростное хранилище данных в оперативной памяти, работающее по принципу "ключ-значение". Суть проста: данные хранятся не на диске, а прямо в RAM, что. . .
Lenovo IH110CX Rev: 1.0 motherboard manual
Maks 01.06.2025
Размещения без повторений
VistaSV30 31.05.2025
Код возвращает список вариантов размещений A^{k}_{n}=\frac{n!}{(n-k)!} from itertools import permutations def pwr(k, n): # Размещение без повторений (Placement without repetition) if k. . .
Redis и Node.js с TypeScript - решения для высоконагруженных систем
Reangularity 31.05.2025
Redis (Remote Dictionary Server) — сверхбыстрое хранилище данных в памяти, способное обрабатывать операции за микросекунды. И что особенно важно для нас — с удивительно простым API. А теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »