2г



Программирование
+2Решить задание на одномерные массивы
Разработать программу, для расчета ряда значений функции е^(-x) (exp(-х)) подключить
математику #include <math.h>. Ограничимся максимальным размером данного одномерного массива до 100.
float my_var[100];
при этом вводятся начальное и конечное значения аргумента
float beg_
arg, end_arg;
и число элементов массива (не более 100)
int num_dat;
перед вводом исходных данных на консоль выводится предложение ввести соответствующую переменную.
После этого выполняется расчет значений элементов массива и вывод их на консоль.
Программа должна завершать работу в случае ввода числа элементов массива равным нулю.
Дополнение: если число элементов более 20, то вывод результатов выполнять по частям.

По дате
По рейтингу
1234567891011121314151617181920212223242526272829303132
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
template<typename T>
T input(const char* msg) {
cout << msg;
T value{};
cin >> value;
return value;
}
int main() {
auto beg_arg = input<float>("beg_arg: ");
auto end_arg = input<float>("end_arg: ");
if (beg_arg == end_arg) exit(0);
auto num_dat = input<int>("num_dat: ");
float my_var[100]{};
if (num_dat > size(my_var) || num_dat <= 0) exit(0);
auto last = num_dat - 1;
my_var[0] = beg_arg;
my_var[last] = end_arg;
auto dx = (end_arg - beg_arg) / last;
for (auto i = 1; i < last; ++i) {
my_var[i] = my_var[i - 1] + dx;
}
cout << fixed << setprecision(2);
for (auto i = 0; i < num_dat; ++i) {
cout << ' ' << setw(5) << exp(my_var[i]);
if (0 == (i + 1) % 20) puts("");
}
puts("");
}