


Код на с++ выдаёт ошибку [Error] expected ':' before ';' token. Подскажите как быть
#include <iostream>
#include <windows.h>
#include <iomanip>
#include <math.h>
using namespace std;
int main() {
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
float z, xn, xk, dx, a, b, x;
cout << "Введите a: ", cin >> a;
cout << "Введите b: ", cin >> b;
cout << "Введите xn: ", cin >> xn;
cout << "Введите xk: ", cin >> xk;
cout << "Введите dx: ", cin >> dx;
cout<<"Значение z=f(x)"<<endl
<<" _________________________"<<endl
<<" | x | z = f(x) |"<<endl
<<" _________________________"<<endl;
cout.precision(3), cout.setf(ios::showpoint);
cout.setf(ios::left,ios::adjustfield);
cout.setf(ios::fixed,ios::floatfield);
for(x=xn;x<=xk;x+=dx)
{
cout<<" | "<<setw(9)<<x<<'|';
(x<=a) ? (fabs (x) + sin(x)) : (a < x && x < b) ? (cos(fabs (x) )) : (x >= b) ? (tan(x));
cout<<" "<<setw(10);
cout<<'|'<<endl;
}
cout<<" _________________________"<<endl;
return 0;
}
Проблема в вашем коде на C++ вызвана некорректным использованием тернарного оператора (условного оператора). Вероятно, вы забыли присвоить значение выражению и не указали переменную для хранения результата.
Вот исправленный код:
```cpp
#include
#include
#include
#include
using namespace std;
int main() {
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
float z, xn, xk, dx, a, b, x;
cout << "Введите a: ";
cin >> a;
cout << "Введите b: ";
cin >> b;
cout << "Введите xn: ";
cin >> xn;
cout << "Введите xk: ";
cin >> xk;
cout << "Введите dx: ";
cin >> dx;
cout << "Значение z=f(x)" << endl;
cout << " _________________________" << endl;
cout << " | x | z = f(x) |" << endl;
cout << " _________________________" << endl;
cout.precision(3);
cout.setf(ios::showpoint);
cout.setf(ios::left, ios::adjustfield);
cout.setf(ios::fixed, ios::floatfield);
for (x = xn; x <= xk; x += dx) {
cout << " | " << setw(9) << x << '|';
z = (x <= a) ? (fabs(x) + sin(x)) : ((a < x && x < b) ? (cos(fabs(x))) : (x >= b) ? (tan(x)) : 0);
cout << " " << setw(10) << z << '|' << endl;
}
cout << " _________________________" << endl;
return 0;
}
если помог https://www.donationalerts.com/r/rxf360