Files
dz4/z-8.cpp
2024-11-01 22:48:47 +03:00

96 lines
3.3 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#include <iostream>
#include <vector>
using namespace std;
// Определяем матрицы A и B
const int sellers = 3;
const int products = 4;
double A[sellers][products] = {
{5, 2, 0, 1},
{3, 2, 5, 2},
{20, 0, 0, 0}
};
double B[products][2] = {
{1.20, 0.50},
{2.00, 0.40},
{3.00, 1.00},
{5.00, 1.50}
};
// Умножение матриц и получение матрицы C
void multiplyMatrices(const double A[sellers][products], const double B[products][2], double C[sellers][2]) {
for (int i = 0; i < sellers; ++i) {
for (int j = 0; j < 2; ++j) {
C[i][j] = 0;
for (int k = 0; k < products; ++k) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
}
int main() {
setlocale(LC_ALL, "");
double C[sellers][2];
multiplyMatrices(A, B, C);
// Вывод результатов матрицы C
cout << "Матрица C (Выручка и Комиссионные):" << endl;
for (int i = 0; i < sellers; ++i) {
cout << "Продавец " << i + 1 << ": Выручка = " << C[i][0] << ", Комиссионные = " << C[i][1] << endl;
}
// 1. Определение продавца с наибольшей и наименьшей выручкой
double maxRevenue = C[0][0], minRevenue = C[0][0];
int maxRevSeller = 1, minRevSeller = 1;
for (int i = 1; i < sellers; ++i) {
if (C[i][0] > maxRevenue) {
maxRevenue = C[i][0];
maxRevSeller = i + 1;
}
if (C[i][0] < minRevenue) {
minRevenue = C[i][0];
minRevSeller = i + 1;
}
}
cout << "1) Продавец с наибольшей выручкой: " << maxRevSeller << ", с наименьшей: " << minRevSeller << endl;
// 2. Определение продавца с наибольшими и наименьшими комиссионными
double maxCommission = C[0][1], minCommission = C[0][1];
int maxCommSeller = 1, minCommSeller = 1;
for (int i = 1; i < sellers; ++i) {
if (C[i][1] > maxCommission) {
maxCommission = C[i][1];
maxCommSeller = i + 1;
}
if (C[i][1] < minCommission) {
minCommission = C[i][1];
minCommSeller = i + 1;
}
}
cout << "2) Продавец с наибольшими комиссионными: " << maxCommSeller << ", с наименьшими: " << minCommSeller << endl;
// 3. Общая сумма выручки за проданные товары
double totalRevenue = 0;
for (int i = 0; i < sellers; ++i) {
totalRevenue += C[i][0];
}
cout << "3) Общая сумма выручки: " << totalRevenue << endl;
// 4. Общая сумма комиссионных
double totalCommission = 0;
for (int i = 0; i < sellers; ++i) {
totalCommission += C[i][1];
}
cout << "4) Общая сумма комиссионных: " << totalCommission << endl;
// 5. Общая сумма денег, прошедших через руки продавцов
double totalMoney = totalRevenue + totalCommission;
cout << "5) Общая сумма денег через руки продавцов: " << totalMoney << endl;
return 0;
}