олежка О олежка Регистрация 26 Июл 2013 Сообщения 86 Репутация -3 Спасибо 0 Монет 0 15 Окт 2016 #1 #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 "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". Помогите пожалуйста!
серго машина С серго машина Регистрация 19 Ноя 2013 Сообщения 74 Репутация 0 Спасибо 0 Монет 0 15 Окт 2016 #2 А где в Вашей программе слово/строка "Ошибка"? Не ви-ижу! Позитивный голос 0