Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+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(""); 
}