Нарисовать блок-схему и программу по ней на языке с++. Входные данные A, D - матрицы n*n, B,C - вектора размерности n*1. Выходные данные: D*C+3*B
Нарисовать блок-схему и программу по ней на языке с++.
Входные данные A, D - матрицы n*n, B,C - вектора размерности n*1.
Выходные данные:
D*C+3*B
Ответ(ы) на вопрос:
Гость
только программа, блок-схему не знаю
#include
#include
#include
#include
int main()
{
using namespace std;
const int n = 5;
int A[n][n];
int D[n][n];
vector B(n);
vector C(n);
vector S(n); //результирующий вектор
//как-нибудь заполняем исходные матрицы и вектора
srand(time(0));
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
{
A[i][j] = rand() % (n * n) - n * n / 2;
D[i][j] = rand() % (n * n) - n * 2;
}
B[i] = rand() % (n * n) - n;
C[i] = rand() % (n * n) - n * n + n;
}
//выведем исходные данные на экран
cout << "matrix A:\n";
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
cout << setw(5) << A[i][j];
cout << endl;
}
cout << "\nmatrix D:\n";
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
cout << setw(5) << D[i][j];
cout << endl;
}
cout << "\nvector B:\n";
for (int i = 0; i < n; ++i)
cout << setw(5) << B[i] << endl;
cout << "\nvector C:\n";
for (int i = 0; i < n; ++i)
cout << setw(5) << C[i] << endl;
//вычислим требуемое
for (int i = 0; i < n; ++i)
{
S[i] = 0;
for (int j = 0; j < n; ++j)
S[i] += D[i][j] * C[j];
S[i] += 3 * B[i];
}
//выведем результат на экран
cout << "\nvector S = D * C + 3 * B:\n";
for (int i = 0; i < n; ++i)
cout << setw(5) << S[i] << endl;
return 0;
}
Не нашли ответ?
Похожие вопросы