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

Дано матрицу D[4,4] и вектор V[4]. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напечатать те слова массива, в которых нет повторяющихся букв http://www.cyberforum.ru/cpp-beginners/thread194856.html
Эадан массив слов Напечатать те слова этого массива, в которых нет повторяющихся букв.
C++ Удвоить каждое вхождение заданной буквы в строке Помогите пожалуйста) ^_^ Удвоить каждое вхождение заданной буквы в строке. http://www.cyberforum.ru/cpp-beginners/thread194851.html
Модель машины Поста C++
МП – машина Поста Абстрактная МП представляет собой бесконечную ленту, разделенную на одинаковые клетки, каждая из которых может быть либо пустой, либо заполненной меткой. Вдоль ленты может...
C++ Найти сумму элементов главной (побочной) диагонали матрицы
Дана квадратная матрица порядка M. Найти сумму элементов ее главной1|побочной2 диагонали.
C++ Работа со строковыми данными. http://www.cyberforum.ru/cpp-beginners/thread194835.html
Дана строка-предложение на русском языке. Зашифровать ее, выполняя циклическую замену каждой буквы на следующую за ней в алфавите и сохраняя при этом регистр букв ("А" перейдет в "Б", "а" — в "б",...
C++ Работа со строковыми данными Дана строка. Подсчитать количество содержащихся в ней цифр1|2|3. подробнее

Показать сообщение отдельно
Getchar
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 16
21.11.2010, 22:01  [ТС]
Умножение матрицы на вектор. ТОлько это нашел, больше ничего пока не могу дополнить =(

#include "stdafx.h"
#include <iostream>
using namespace std;
#include <ctime>
#include <iomanip>
//////////////////////////////////////////////////////////////////////////
void out(double *a,int n);
void out(double *a,int n,int k);
void vin(double *a,int n);
void mult(double *a,double *x,int n);
void oper(double *a,double *b,double *x,double *y,int n);
//////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
setlocale(0,"");
int n;
double *x,*y,
*a,*b;
cout << "Введите порядок матрицы: ";
wcin >> n;
_flushall();
x = new double[n];
y = new double[n];
a = new double[n*n];
b = new double[n*n];
srand(time(0));
oper(a,b,x,y,n);
getchar();
delete[]x;
delete[]y;
delete[]a;
delete[]b;
return 0;
}
//////////////////////////////////////////////////////////////////////////
void out(double *a,int n,int k)
{
int x = n-1;
for(int i = 0;i < n*k;i++)
{
cout << setprecision(3)
<< a[i] << " ";
if(i == x)
{
cout << endl;
x += n;
}
}
cout << "\n\n";
}
//////////////////////////////////////////////////////////////////////////
void out(double *a,int n)
{
for(int i = 0; i < n;i++)
{
cout << setprecision(3)
<< a[i] << " ";
}
cout << "\n\n";
}
//////////////////////////////////////////////////////////////////////////
void vin(double *a,int n)
{
for(int i = 0; i < n;i++)
a[i] = (1.0*(rand()%401-200))/11;
}
//////////////////////////////////////////////////////////////////////////
void mult(double *a,double *x,int n)
{
int y = n-1,
k = 0;
for(int i = 0;i < n*n;i++)
{
a[i] *= x[k];
if(i == y)
{
k++;
y += n;
}
}
}
void oper(double *a,double *b,double *x,double *y,int n)
{
vin(x,n);
vin(y,n);
vin(a,n*n);
vin(b,n*n);
cout << "Матрица А:" << endl;
out(a,n,n);
cout << "Вектор Х:" << endl;
out(x,n);
cout << "Матрица В:" << endl;
out(b,n,n);
cout << "Вектор Y:" << endl;
out(y,n);
mult(a,x,n);
mult(b,y,n);
cout << "Матрица А после умножения на вектор Х:" << endl;
out(a,n,n);
cout << "Матрица В после умножения на вектор Y:" << endl;
out(b,n,n);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru