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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
BOTTAK
 Аватар для BOTTAK
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 59
09.02.2011, 19:40     Значение аргумента х изменяется от а до b с шагом h #1
Здравствуйте уважаемые любители и ценители языка С++! У меня к вам огромная просьба. На днях нужно сдать контрольную работу по предмету Конструирование программ и языки программирования.
Если вам не сложно мне помочь в этом, и у вас будет желание, я вас отблагодарю сильно, сильно.

Значение аргумента х изменяется от а до 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++ Вычислить значение заданной функци на данном интервале с заданным шагом. Осуществить вывод значений аргумента и результатов вычислений значений функ
C++ Найти наибольшее и наименьшее значение функции y = 3x2 + x – 4, если на заданном интервале [a,b] x изменяется с шагом 0,1.
Вычислить значение функции a = b ^2 sin (b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти среднее значение разности между элементами C++
вычислить функцию sin(x), если х изменяется от -3 до 3 с шагом 0.5 C++
C++ Составить программу вычисления функции y = 1 / x, если x изменяется от -1 до 1 с шагом 0,2
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
09.02.2011, 19:42     Значение аргумента х изменяется от а до b с шагом h #2
BOTTAK, где же сама функция?
BOTTAK
 Аватар для BOTTAK
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 59
09.02.2011, 22:36  [ТС]     Значение аргумента х изменяется от а до b с шагом h #3
Цитата Сообщение от MILAN Посмотреть сообщение
BOTTAK, где же сама функция?

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

Добавлено через 2 часа 51 минуту
Помогите
lemegeton
 Аватар для lemegeton
2911 / 1340 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
09.02.2011, 23:01     Значение аргумента х изменяется от а до b с шагом h #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
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
09.02.2011, 23:08     Значение аргумента х изменяется от а до b с шагом h #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;
}
Кстати, спасибо! Понял, что не всё сделал.
Yandex
Объявления
09.02.2011, 23:08     Значение аргумента х изменяется от а до b с шагом h
Ответ Создать тему
Опции темы

Текущее время: 17:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru