• Разработать программу на языке С++.
    Cоздать 3 одномерных статических массива Х1, Х2, Х3 размерностями N1, N2, N3 (где N константа, определяемая в программе программистом). Заполнить каждый массив Х1, Х2, Х3 случайными числами в диапазоне [D1_min, D1_max], [D2_min, D2_max], [D3_min, D3_max] соответственно.
    Создать еще 3 одномерных массива Y1, Y2, Y3 размерностями N1, N2, N3, каждый элемент массивов Y вычисляется в соответствии с зависимостью (см. номер варианта). Например Y1[i]=f(X1[i], k), k- количество элементов многочлена из варианта.
    Вывести на экран значения всех массивов.
    Заполнение массивов Х1, Х2, Х3 случайными числами, вывод элементов массива на экран, вычисление значения функции f(X1[i], k), а также заполнение массивов Y1, Y2, Y3 реализовать в собственных функциях.

    question img

Ответы 2

  • Даже не сомневайся.
  • #include <iostream>#include <cmath>#include <time.h>using namespace std;float LogFunction(int x,int k,int a);long double fact(int N);void main(){ setlocale(0, ""); srand(time(NULL)); int a,n1, n2, n3, d1, d2, d3, d1max, d2max, d3max, k; cout << "Введите размерность массива n1 n2 n3 и а" << endl; cin >> n1 >> n2 >> n3>>a; int* x1 = new int[n1]; int* x2 = new int[n2]; int* x3 = new int[n3]; float* y1 = new float[n1]; float* y2 = new float[n2]; float* y3 = new float[n3]; cout << "Введите диапазоны чисел в массиве в такой последовательности: d1min, d1max, d2min, d2max, d3min, d3max" << endl; cin >> d1 >> d1max >> d2 >> d2max>> d3 >> d3max; for (int i = 0;i < n1;++i) { x1[i] = d1 + rand() % (d1max - (d1-1));  //заполняем массив рандомными числами} for (int i = 0;i < n2;++i) { x2[i] = d2 + rand() % (d2max - (d2-1)); } for (int i = 0;i < n3;++i) { x3[i] = d3 + rand() % (d3max - (d3-1)); } cout << "Введите k " << endl; cin >> k; for (int i = 0;i < n1;++i) y1[i] = LogFunction(x1[i], k , a);   // через отдельную функцию считаем значения массива y1for (int i = 0;i < n2;++i) y2[i] = LogFunction(x2[i], k , a);for (int i = 0;i < n3;++i) y3[i] = LogFunction(x3[i], k , a); for (int i = 0;i < n1;++i) cout << " " << x1[i]; cout << endl; for (int i = 0;i < n2;++i) cout << " " << x2[i]; cout << endl; for (int i = 0;i < n3;++i) cout << " " << x3[i]; cout << endl; for (int i = 0;i < n1;++i) cout << " " << y1[i]; cout << endl; for (int i = 0;i < n2;++i) cout << " " << y2[i]; cout << endl; for (int i = 0;i < n3;++i) cout << " " << y3[i]; cout << endl; system("pause");}float LogFunction(int x, int k,int a)  { float result=0; for (int i = 1;i <= k;++i)  { result += ((pow(log(a),i)) / fact(i))*(pow(x, i + 1) + i);   //Формула которая на картинке} return result;}long double fact(int N)  //считаем факториал , который в знаменателе на картинке.{ if (N < 0)  return 0;  if (N == 0)  return 1; else return N * fact(N - 1);    //Рекурсия}P.s не забудь отметить ответ лучшим, если он таков
    • Автор:

      sonny1e6y
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years