Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- struct param {
- double A,
- B,
- C,
- D,
- s,
- p,
- res;
- };
- double* input(int* size, char arr_name) {
- cout << "Enter size " << arr_name << "[]: ";
- cin >> *size;
- double* arr = new double[*size];
- cout << "Enter elements " << arr_name << "[" << *size << "]: ";
- for (int i = 0; i < *size; i++)
- cin >> arr[i];
- return arr;
- }
- void if_a(double* arr, int* size, param* p) {
- p->A = 0;
- p->B = 0;
- for (int i = 0; i < *size; i++) {
- if (arr[i] <= 0)
- p->A += arr[i] * sin(arr[i]);
- else
- p->B += arr[i] * tan(arr[i]);
- }
- p->A *= p->s;
- p->B *= p->p;
- }
- void if_b(double* arr, int* size, param* p) {
- p->D = 0;
- p->C = 0;
- for (int i = 0; i < *size; i++) {
- if (arr[i] <= 0)
- p->D += arr[i] * cos(arr[i]);
- else
- p->C += arr[i] * sin(arr[i]);
- }
- p->D *= p->s;
- p->C *= p->p;
- }
- void solveArr(double* arr, int* size, param* p, void (*f)(double*, int*, param*)) {
- p->s = 0;
- p->p = 1;
- for (int i = 0; i < *size; i++) {
- p->s += arr[i];
- p->p *= arr[i];
- }
- f(arr, size, p);
- }
- double culc(param* p) {
- return (p->A + p->B * sin(p->A)) / (cos(p->D) + sin(p->C));
- }
- int main() {
- int a_size;
- int b_size;
- double* a = input(&a_size, 'a');
- double* b = input(&b_size, 'b');
- param p;
- solveArr(a, &a_size, &p, if_a);
- solveArr(b, &b_size, &p, if_b);
- p.res = culc(&p);
- cout << "Result = " << p.res;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment