Вывести таблицу значений функции на отрезке [a;b] c шагом h: y=lg(3x-1)
C++
пожалуйста помогите, не получается вообще
C/C++
Помогите с программированием
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
double a;
do a = real("a: "); while (3 * a < 1);
double b;
do b = real("b: "); while (a > b);
const auto h = real("h: ");
const auto end = b + h / 10;
puts("\n\tx\t\ty\n");
for (auto x = a; x <= end; x += h) {
cout << setw(10) << x << setw(18) << log10(3 * x - 1) << '\n';
}
system("pause > nul");
}
#include <cmath>
#include <iomanip>
using namespace std;
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
double a;
do a = real("a: "); while (3 * a < 1);
double b;
do b = real("b: "); while (a > b);
const auto h = real("h: ");
const auto end = b + h / 10;
puts("\n\tx\t\ty\n");
for (auto x = a; x <= end; x += h) {
cout << setw(10) << x << setw(18) << log10(3 * x - 1) << '\n';
}
system("pause > nul");
}
Традиционная задача на табулирование функции. С моей точки зрения тут возможны 2 ошибки: использование неправильной функции и аргумент вне области определения.
1. Правильная функция определена в <cmath> — это функция log10().
2. Любой логарифм определён для неотрицательных значений аргумента (это следствие положительности основания: 10 в любой степени есть число положительное; единственный случай, когда логарифм равен 0 — это логарифм по основанию 0).
Получается, что необходимо учесть условие 3x – 1 > 0, или, что то же самое, x > 1/3. Нужно, чтобы нижняя граница диапазона табулирования была больше чем 1/3, иначе при значениях x ≤ 1/3 будет возникать ошибка времени выполнения.
1. Правильная функция определена в <cmath> — это функция log10().
2. Любой логарифм определён для неотрицательных значений аргумента (это следствие положительности основания: 10 в любой степени есть число положительное; единственный случай, когда логарифм равен 0 — это логарифм по основанию 0).
Получается, что необходимо учесть условие 3x – 1 > 0, или, что то же самое, x > 1/3. Нужно, чтобы нижняя граница диапазона табулирования была больше чем 1/3, иначе при значениях x ≤ 1/3 будет возникать ошибка времени выполнения.
Похожие вопросы
- Помогите с программированием на C++
- Помогите с программированием на с++
- Помогите с программированием на Си
- Помогите по программированию!!! с++ используя структуры
- ПОМОГИТЕ ПО ПРОГРАММИРОВАНИЮ!! C++
- Помогите с программированием на Си Работа с последовательностями элементов
- Кто поможешь сделать программирование на С++, задача с переводом СС?
- Помоги с программированием(С++)
- Здравствуйте помогите пожалуйста программирование c++
- Помогите с программированием на си
В блок try{} попадёт только вызов функции log10().
В блокe catch{} должна быть реакция на исключительную ситуацию. Например, на экран на месте ожидаемого результата можно вывести сообщение "НЕ СУЩЕСТВУЕТ".