#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include "iostream"
#include "stdlib.h"
#include
using namespace std;
double x_n = -0.9; /*x начальное*/
double x_k = 4.1; /*x конечное*/
double d_x = 0.5; /*дельта x*/
double a;
double y;
int j = 1;
int checks(double a)
{
if (a >= -1000000 && a <= -0.000001 || a >= 0.000001 && a <= 1000000 || a == 0)
{
return 1;
}
else {
return 0;
}
}
double exercise(double a, double x)
{
return ((2 * x) / (sqrt(0.2 * a + cos(x / 2 + a))));
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали
cout << "Введите a: ";
scanf_s("%lf", &a);
printf("а = %lf ", a);
if (checks(a) == 1)
{
cout << "--------------------------------------------------------- ";
cout << "| | x | а | y | ";
cout << "--------------------------------------------------------- ";
for (float i = -0.9; i <= 4.1; i = (i + 0.5), j++)
{
if (a < 100)
{
if (i < 0)
{
printf("| %d | %.1f| %lf | %lf | ", j, i, a, exercise(a, i));
}
else
{
printf("| %d | %.1f | %lf | %lf | ", j, i, a, exercise(a, i));
}
}
else
{
if (i < 0)
{
printf("| %d | %.1f| %lf | %lf | ", j, i, a, exercise(a, i));
}
else
{
printf("| %d | %.1f | %lf | %lf | ", j, i, a, exercise(a, i));
}
}
}
cout << "--------------------------------------------------------- ";
}
else
{
cout << "Значение недопустимо! ";
}
cout << " ";
system("pause");
return 0;
}
Но в таблице, если невозможно вычислить значение Y, должно выводится слово ошибка в каждой строке Y. Но у меня выводится:" -1,IND00". Помогите пожалуйста!
#include "stdio.h"
#include "math.h"
#include "iostream"
#include "stdlib.h"
#include
using namespace std;
double x_n = -0.9; /*x начальное*/
double x_k = 4.1; /*x конечное*/
double d_x = 0.5; /*дельта x*/
double a;
double y;
int j = 1;
int checks(double a)
{
if (a >= -1000000 && a <= -0.000001 || a >= 0.000001 && a <= 1000000 || a == 0)
{
return 1;
}
else {
return 0;
}
}
double exercise(double a, double x)
{
return ((2 * x) / (sqrt(0.2 * a + cos(x / 2 + a))));
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали
cout << "Введите a: ";
scanf_s("%lf", &a);
printf("а = %lf ", a);
if (checks(a) == 1)
{
cout << "--------------------------------------------------------- ";
cout << "| | x | а | y | ";
cout << "--------------------------------------------------------- ";
for (float i = -0.9; i <= 4.1; i = (i + 0.5), j++)
{
if (a < 100)
{
if (i < 0)
{
printf("| %d | %.1f| %lf | %lf | ", j, i, a, exercise(a, i));
}
else
{
printf("| %d | %.1f | %lf | %lf | ", j, i, a, exercise(a, i));
}
}
else
{
if (i < 0)
{
printf("| %d | %.1f| %lf | %lf | ", j, i, a, exercise(a, i));
}
else
{
printf("| %d | %.1f | %lf | %lf | ", j, i, a, exercise(a, i));
}
}
}
cout << "--------------------------------------------------------- ";
}
else
{
cout << "Значение недопустимо! ";
}
cout << " ";
system("pause");
return 0;
}
Но в таблице, если невозможно вычислить значение Y, должно выводится слово ошибка в каждой строке Y. Но у меня выводится:" -1,IND00". Помогите пожалуйста!