Написано: 19.12.2022

Алгебраическая сумма.

Задание.

Найти y = x1 + x2 + x3 + … + xN, где N – вводится пользователем, а x определяется, как x = Z^3 - B + A^2 / tg(betta)^2

Решение.

  • Запрашиваем количество X
  • Динамически выделяем массив структур для коэффициентов и для X
  • В цикле запрашиваем коэффициенты, вычисляем X и суммируем (вычисляя Y)
  • По окончании цикла, удаляем массив, выводим Y.
#include <iostream>
#include <string>
#include "Windows.h"
using namespace std;

// алгебраическое вычисление
void test_007()
{
    int n, i;
    double y = 0.;
    struct X {
        double Z; double B; double A; double Betta; double X;
    };
    X* ptr;

    cout << "\t\t\tалгебраическое вычисление";

    // ввод N
    cout << "\nВведите N, количество X: ";
    cin >> n;

    // Ввод Z, B, A, Betta для X
    // вычисление X, y
    ptr = new X[n];
    for (i = 0; i < n; i++) {
        cout << "\nВведите значения Z, B, A, Betta для X" << (i + 1);
        cout << "\nZ = ";
        cin >> ptr[i].Z;
        cout << "B = ";
        cin >> ptr[i].B;
        cout << "A = ";
        cin >> ptr[i].A;
        cout << "Betta = ";
        cin >> ptr[i].Betta;
        // вычисляем X
        ptr[i].X = pow(ptr[i].Z, 3) - ptr[i].B + pow(ptr[i].A, 2) / pow(tan(ptr[i].Betta), 2);
        cout << "\nX = Z^3 - B + A^2 / tg(Betta)^2  = " << ptr[i].X;
        y += ptr[i].X;
    }
    delete []ptr;

    // вывод y
    cout << "\nY = " << y;
}

int main(){
    // Кириллица в консоли
    SetConsoleCP(1251); // функция устанавливает кодовую таблицу(win-cp 1251) для работы с потоком ввода
    SetConsoleOutputCP(1251); // функция устанавливает кодовую таблицу(win-cp 1251) для работы с потоком вывода

    test_007(); // алгебраическое вычисление
     
    return 0;
}