Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
BOTTAK
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 59
#1

Значение аргумента х изменяется от а до b с шагом h - C++

09.02.2011, 19:40. Просмотров 2430. Ответов 4
Метки нет (Все метки)

Здравствуйте уважаемые любители и ценители языка С++! У меня к вам огромная просьба. На днях нужно сдать контрольную работу по предмету Конструирование программ и языки программирования.
Если вам не сложно мне помочь в этом, и у вас будет желание, я вас отблагодарю сильно, сильно.

Значение аргумента х изменяется от а до b с шагом h. Для каждого х найдите значение функции Y(x), суммы S(x) и | Y (x) – S(x) | - и выведите в виде таблицы. Значения а, b, h введи-
те с клавиатуры произвольно. Вычисление Y(x) и S(x) реализуйте в виде функций.
В основной программе организуйте ввод исходных данных, обращение к функциям и вывод результатов.

Помогите пожалуйста, заранее спасибо огромное.
Миниатюры
Значение  аргумента  х изменяется  от а до b  с шагом h  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2011, 19:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Значение аргумента х изменяется от а до b с шагом h (C++):

Вычислить значение функции a = b ^2 sin (b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти среднее значение разности между элементами - C++
Доброго времени суток ! Помогите решить задачу ! Нужно написать в цикле с постусловием следующее : Вычислить значение функции...

Найти наибольшее и наименьшее значение функции y = 3x2 + x – 4, если на заданном интервале [a,b] x изменяется с шагом 0,1. - C++
помогите пожалуйста.

Найти количество значений функций больших, чем значение аргумента, на заданном интервале с заданным шагом - C++
Программа для табулирования функции на отрезке НАйти количество значений функций больше чем x

Вычислить значение заданной функци на данном интервале с заданным шагом. Осуществить вывод значений аргумента и результатов вычислений значений функ - C++
Вычислить значение заданной функции y=f(x) на данном интервале с заданным шагом. Осуществить вывод значений аргумента и результатов...

вычислить функцию sin(x), если х изменяется от -3 до 3 с шагом 0.5 - C++
Здравствуйте уважаемые любители языка С++! У меня к вам огромная просьба. Завтра нужно сдать зачет по программированию. Если вам не сложно...

Составить программу вычисления функции y = 1 / x, если x изменяется от -1 до 1 с шагом 0,2 - C++
Составить программу вычисления функции y = 1 / x, если x изменяется от -1 до 1 с шагом 0,2. Добавлено через 34 минуты #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
09.02.2011, 19:42 #2
BOTTAK, где же сама функция?
BOTTAK
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 59
09.02.2011, 22:36  [ТС] #3
Цитата Сообщение от MILAN Посмотреть сообщение
BOTTAK, где же сама функция?

Извините за плохое оформление, вот, все поправил.

Добавлено через 2 часа 51 минуту
Помогите
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
09.02.2011, 23:01 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <cmath>
#include <cstdio>
 
long int Factorial(int num) {
  long int result=1;
  for (int i=1; i<=num; ++i)
    result=result*=i;
  return result;
}
 
float S(int x) {
  int n = 5;
  float result = 0;
  for (int k = 0; k <= n; ++k)
    result += pow(-1, k) * (pow(x, 2 * k + 1) / (float)Factorial(2 * k + 1));
  return result;
}
 
float Y(int x) {
  return sin(x);
}
 
int main(int argc,char *argv[]) {
  int a = 2;
  int b = 20;
  int h = 2;
 
  for (int x = a; x <= b; x += h)
    printf("Y(%d) = %f, S(%d) = %f, S(%d) + |Y(%d) - S(%d)| = %f\n",
            x, Y(x), x, S(x), x, x, x, S(x) + fabs(Y(x) - S(x)));
 
  return 0;
}
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
09.02.2011, 23:08 #5
BOTTAK, в первой функции не понятно, чему n равно. Или его тоже у пользователя нужно запрашивать?

Добавлено через 1 минуту
Цитата Сообщение от lemegeton Посмотреть сообщение
int n = 5;
вот это по-джедайски!

BOTTAK, вот другой вариант. Работает, но не уверен, что правильно, проверяйте...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
 
int factorial(int number){
    return ( number < 2 ) ? 1 : number * factorial(number - 1);
}
 
double s(double x, int n = 5){
    double ret = 0.0;
    for ( int k = 0; k <= n; ++k )
        ret += pow(x, k * 2 + 1) / static_cast<double>(factorial(k * 2 + 1)) * ( ( k & 1 ) ? -1.0 : 1.0 );
    return ret;
}
 
int main(){
    double low, high, step;
 
    std::cout << "Low: ";
    std::cin >> low;
    std::cout << "High: ";
    std::cin >> high;
    std::cout << "Step: ";
    std::cin >> step;
 
    std::cout << " X        | S(X)          | Y(X)\n----------+---------------+-------------" << std::endl;
    for ( double x = low; x <= high; x += step )
        std::cout << ' ' << std::fixed << std::setprecision(3) << std::left << std::setw(9) << x << "| "
        << std::left << std::setw(14) << s(x) << "| " << std::left << std::setw(14) << sin(x) 
        << "\n----------+---------------+-------------" << std::endl;
    
    system("pause");
 
    return 0;
}
Значение  аргумента  х изменяется  от а до b  с шагом h

lemegeton, вот так скомпилировалось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <cmath>
#include <cstdio>
 
long int Factorial(int num) {
  long int result=1;
  for (int i=1; i<=num; ++i)
    result=result*=i;
  return result;
}
 
float S(int x) {
  int n = 5;
  float result = 0;
  for (int k = 0; k <= n; ++k)
    result += pow(-1.0, k) * (pow(static_cast<double>(x), 2 * k + 1) / static_cast<double>(Factorial(2 * k + 1)));
  return result;
}
 
float Y(int x) {
  return sin(static_cast<double>(x));
}
 
int main(int argc,char *argv[]) {
  int a = 2;
  int b = 20;
  int h = 2;
 
  for (int x = a; x <= b; x += h)
    printf("Y(%d) = %f, S(%d) = %f, S(%d) + |Y(%d) - S(%d)| = %f\n",
            x, Y(x), x, S(x), x, x, x, S(x) + fabs(Y(x) - S(x)));
 
  return 0;
}
Кстати, спасибо! Понял, что не всё сделал.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2011, 23:08
Привет! Вот еще темы с ответами:

Создать цикл for, счетчик которого изменяется от 100 до 200 с шагом 2 - C++
Нужно создать цикл for, счетчик которого изменяется от 100 до 200 с шагом 2. Я написал цикл, но не получается установить шаг равный...

Напишите функцию, принимающую два аргумента, изменяющую значение второго аргумента и возвращающую void - C++
Помогите, пожалуйста:( Напишите функцию add_tax типа void. У нее два формальных параметра: taxRate, значение которого представляет налог...

Вывод значений аргумента и заданной функции F(x) с шагом h - C++
Помогите пожалуйста найти ошибку в программе? Вот задание : Вывод значений аргумента и заданной функции F(x) с шагом h, начиная от...

Вывести таблицу значений функции с заданным шагом аргумента - C++
2) Z=\frac{{ax}^{6}}{\sqrt{x}}+cos x a=16 2\leq x\leq 20\;;\;\Delta x=3


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.02.2011, 23:08
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru