Поделитесь своими знаниями, ответьте на вопрос:
Почему c++ не выводит то, что запечатано в условии for? необязательно: как можно уменьшить потребление памяти? ( прикрепил)p.s. по условию количество шагов (n) = 10#include #include using namespace std; int main(){ setlocale(lc_all, "rus"); int n; float a, b, d, x, f; double i; n = 0; if (n < 2) { cout < < "введи кол-во шагов="; cin > > n; } cout < < "введите левую границу отрезка="; cin > > a; cout < < "введите правую границу отрезка="; cin > > b; if (a == b) { cout < < "вы ввели точку, а не отрезок" < < endl; cout < < "введите ещё раз a и b: " < < endl; cout < < "a="; cin > > a; cout < < "b="; cin > > b; } d = (b - a) / n; x = a; for (i=a; i< =b; i=i+d) { if (i == 10) { cout < < "нет значения"; x = x + d; } else { f = ((sin(x - 10)) / (x - 10)) + exp(x - 10); cout < < "x=" < < x; cout < < " "; cout < < "f(x)=" < < f < < endl; x = x + d; } } return 0; }
Программа:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int N; float A, B, h, x, f;
cout << "Введи кол-во шагов="; cin >> N;
cout << "Введите левую границу отрезка="; cin >> A;
cout << "Введите правую границу отрезка="; cin >> B;
if (A == B)
{
cout << "Вы ввели точку, а не отрезок" << endl;
cout << "Введите ещё раз A и B:" << endl;
cout << "A="; cin >> A;
cout << "B="; cin >> B;
}
x = A;
h = (B - A) / N;
for (int i=0; i<=N; i++)
{
if (x-N == 0)
cout << "x=" << x << " " << "f(x) - Нет значения"<< endl;
else
{
f = ((sin(x - N)) / (x - N)) + exp(x - N);
cout << "x=" << x << " " << "f(x)=" << f << endl;
}
x = x+h;
}
return 0;
}
Пример:
Введи кол-во шагов=10
Введите левую границу отрезка=5
Введите правую границу отрезка=15
x=5 f(x)=-0.185047
x=6 f(x)=-0.170885
x=7 f(x)=0.0968271
x=8 f(x)=0.589984
x=9 f(x)=1.20935
x=10 f(x) - Нет значения
x=11 f(x)=3.55975
x=12 f(x)=7.8437
x=13 f(x)=20.1326
x=14 f(x)=54.4089
x=15 f(x)=148.221