Код: Выделить всё
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <ctime>
using namespace std;
void ShowVector(vector<int>& x, vector<int>& y, vector<int>& z);
int UmnozhVector(vector<int> &x, vector<int> &y, vector<int> &z, int n);
int SumVector(vector<int> &xy, vector<int> &yz, vector<int> &xz, int n)
int main()
{
setlocale(LC_ALL, "rus");
int n;
cout<<"Введите размерность векторов: ";
cin>>n;
vector<int> x(n); //Объявляем векторы и заполняем
for (int i = 0; i < n; i++)
x[i] = rand() % n;
vector<int> y(n);
for (int j = 0; j < n; j++)
y[j] = rand() % n;
vector<int> z(n);
for (int k = 0; k < n; k++)
z[k] = rand() % n;
ShowVector(x, y, z);
UmnozhVector(x, y, z, n);
system("PAUSE");
return 0;
}
void ShowVector(vector<int> &x, vector<int> &y, vector<int> &z)
{
cout << "Векторы:\n";
cout << "x{ ";
int size = x.size(); //Чтобы каждую итерацию не вызывать
for (int i = 0; i < size; i++)
{
cout << x[i] << " ";
}
cout << "}" << endl;
cout << "y{ ";
size = y.size();
for (int j = 0; j < size; j++)
{
cout << y[j] << " ";
}
cout<<"}"<<endl;
cout << "z{ ";
size = z.size();
for (int k = 0; k < size; k++)
{
cout << z[k] << " ";
}
cout << "}" <<endl;
}
int UmnozhVector(vector<int> &x, vector<int> &y, vector<int> &z, int n)
{
cout<<"Умножение:\n";
vector<int> xy(n);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
x[i] * y[j];
}
vector<int> yz(n);
for (int j = 0; j < n; j++)
{
for (int k = 0; k < n; k++)
y[j] * z[k];
}
vector<int> xz(n);
for (int i = 0; i < n; i++)
{
for (int k = 0; k < n; k++)
x[i] * z[k];
}
cout << xy[n] <<endl;
cout << yz[n] <<endl;
cout << xz[n] <<endl;
SumVector(xy,yz,xz,n);
}
int SumVector(vector<int> &xy, vector<int> &yz, vector<int> &xz, int n)
{
cout<<"Сумма:\n";
vector<int> S(n);
for(int i=0;i<n;i++)
S[i]=xy[i]+yz[i]+xz[i];
cout << S[n];
}