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

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

Войти
Регистрация
Восстановить пароль
 
Jacky09
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 48
#1

Умножение матрицы на вектор с использованием функций - C++

20.04.2014, 13:15. Просмотров 747. Ответов 7
Метки нет (Все метки)

Помогите разобраться с функциями, что-то читая справочники не особо понятно...
Собственно никакой код)
Как передавать значения массивов и т. д. в другую функцию?
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
#include "stdafx.h"
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define k 5
int i,j;
 
void matrix() //что писать в скобках? 
{
    
    int A[k][k],B[k][k],C[k][k];
    srand(time(NULL));
    for (i=0;i<k;i++)
    {
        for (j=0;j<k;j++)
        {
            A[i][j]=rand%21;
            B[i][j]=rand%21;
            C[i][j]=rand%21;
        }
    }
}
 
void vector()
{
    int X[k],Y[k],Z[k];
    srand(time(NULL));
    for(i=0;i<k;i++)
    {
        X[i]=rand%21;
        Y[i]=rand%21;
        Z[i]=rand%21;
    }
}
 
void umn()
{
    int sum;
    int ax[k],by[k],cz[k];
    for(i=0;i<k;i++)
    {
        for(j=0;j<k;j++)
        {
            sum=sum + A[i][j] * X[j];
        }
        ax[i]=sum;
    }
}
 
int otvet()
{
    int w[k];
    for (i=0;i<k;i++)
    {
            w[i]=ax[i]+by[i]-cz[i];
    }
    return w;
    getchar();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,461
20.04.2014, 13:50     Умножение матрицы на вектор с использованием функций #2
что нужно вообще?
что за void'ы описали, что они делают?
Jacky09
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 48
20.04.2014, 14:00  [ТС]     Умножение матрицы на вектор с использованием функций #3
ой ой, простите, забыл задание выложить
Задать целочисленные значения элементам квадратных матриц A = {aij}, B = {bij}, C = {cij} и векторам (матрицам-столбцам) X = {xi}, Y = {yi}, Z = {zi},
где i = 0, 1, 2,..., 4,
j = 0, 1, 2,..., 4 и вычислить вектор W = AX+BY – CZ.
Я и хотел узнать, как правильно разложить все задание на отдельные функции)
Войды задают матрицу и вектор-матрицу
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,461
20.04.2014, 14:06     Умножение матрицы на вектор с использованием функций #4
опиши, что ты пытаешься сделать в void'ах: matrix, vector, umn и otvet
ты описал отдельные процедуры вроде, а где же основное тело программы?
Jacky09
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 48
20.04.2014, 14:11  [ТС]     Умножение матрицы на вектор с использованием функций #5
Вообще я думал, сделать так :
Функция Matrix - Задает матрицу 5*5 и заполняет;
Функция Vector - Задает вектор-столбец и заполняет;
Функция Umn - перемножает матрицу на вектор; (у себя в коде уже поправил ошибку по данному поводу)
Функция otvet - видимо надо переименовать в main, сложение и вычитание получившихся столбцов и их вывод
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,461
20.04.2014, 14:28     Умножение матрицы на вектор с использованием функций #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void matrix() // в скобках можно передать имя массива, размерность передается в отдельных параметрах a,n,m
{
    
    int A[n][m],B[n][m],C[n][m];
    srand(time(NULL));
    for (i=0;i<n;i++)
    {
        for (j=0;j<m;j++)
        {
            A[i][j]=rand%21;
            B[i][j]=rand%21;
            C[i][j]=rand%21;
        }
    }
}
единственное, что не понятно (для меня) твое понимание вектора в отношении задачи
Jacky09
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 48
20.04.2014, 15:04  [ТС]     Умножение матрицы на вектор с использованием функций #7
Вектор-матрица - матрица состоящая из одной строки(столбца)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 15:33     Умножение матрицы на вектор с использованием функций
Еще ссылки по теме:

Неправильно производится умножение матрицы на вектор C++
Умножение квадратной матрицы порядка n на вектор с n элементами C++
C++ Умножение матрицы на вектор-столбец - C++
C++ Умножение матрицы на вектор
C++ Умножение матрицы на вектор. ошибка в вычислении

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

Или воспользуйтесь поиском по форуму:
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,461
20.04.2014, 15:33     Умножение матрицы на вектор с использованием функций #8
т.е. у тебя 3 многомерных массива и один одномерный массив(вектор), поправь если не прав.

Добавлено через 10 минут
x,y,z-с какой части вектора взяты эти переменные?
Yandex
Объявления
20.04.2014, 15:33     Умножение матрицы на вектор с использованием функций
Ответ Создать тему
Опции темы

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