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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Alston
7 / 7 / 0
Регистрация: 16.09.2009
Сообщений: 410
#1

Вычисление функции на промежутке - C++

30.08.2011, 20:39. Просмотров 1534. Ответов 23
Метки нет (Все метки)

Вычеслить ф-цию y=fn(x) на промежутке (0;2,5) з шагом 0,1. Вычеслить среднее арифметическое значение ф-ций больше 0,5 и меньше чем 1,5
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
using namespace std;
int main(int argc, char* argv[])
{
float S=0,x=0,y,Sc;
int k=0;
do
y=cos*cos+3/sin*sin+2*x;
cout<<"y= "<<y<<" x= "<<x>>endl;
if(y>=0.5 && y<=1.5)
{
S=S+y;
k=k+1;
}
x=x+0,1;
}
while (x<=2,5);
if(k==0)
{
cout<<"k=0 Rozv.";
getch();
return 0;
}
Sc=S/k;
cout<<"Sc= "<<Sc<<endl;
cout<<"Smile"<<endl;
getch();
return 0;
}
Помогите....как должно быть правильно

 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2011, 20:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление функции на промежутке (C++):

Вычисление функции на заданном промежутке, и построение графика этой функции - C++
Написать блок-схему и программу вычисления функции на за- данном промежутке с шагом 0.2 и построить график этой функции. Если x&gt;1 ...

Перевести с Pascal вычисление функции на заданном промежутке и построить график этой функции - C++
uses crt,graphABC; function y(x:real):real; begin if x&lt;0 then y:=x*x else if x&lt;=2.5 then y:=1+3*ln(abs(1-x*x*x)) else...

Вычисление функции на заданном промежутке - C++
написать программу вычисления функции на заданном промежутке с шагом 0.2 и построить график этой функции

Написать блок-схему и программу вычисления функции на заданном промежутке и построить график этой функции - C++
написать блок-схему и программу вычисления функции на за- данном промежутке с шагом 0.2 и построить график этой функции.

Определить значение функции у = f (x) на промежутке [a, b] - C++
16. Определить значение функции у = f (x) на промежутке с шагом h используя для вычисления значения функции подпрограмму-функцию. y =...

На промежутке неком промежутке, включая начало и конец, найти количество таких чисел, что a[i]>= a[i-1] - C++
Помогите с решением задачи. Условия задачи: на промежутке от 'StartNumber' до 'EndNumber', включая начало и конец, найти количество...

23
romedal
54 / 54 / 1
Регистрация: 18.03.2010
Сообщений: 345
Записей в блоге: 1
30.08.2011, 21:23 #2
Цитата Сообщение от Alston Посмотреть сообщение
do //Может быть сдесь поставить "{"
y=cos*cos+3/sin*sin+2*x;
Попробуй...
0
Alston
7 / 7 / 0
Регистрация: 16.09.2009
Сообщений: 410
30.08.2011, 21:37  [ТС] #3
не могу откомпелировать=((
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
30.08.2011, 22:31 #4
Что это за cos и sin? Синус и косинус - это функции (как в смысле программирования, так и в математическом), они не могут существовать без своих аргументов.
0
-=ЮрА=-
Заблокирован
Автор FAQ
31.08.2011, 15:52 #5
Цитата Сообщение от Alston Посмотреть сообщение
cos*cos
- если cos не переменная, тогда в программе ошибка...

Добавлено через 13 минут
Цитата Сообщение от Alston Посмотреть сообщение
<<x>>endl;
в cout оператор вывода в другую сторону

Цитата Сообщение от Alston Посмотреть сообщение
if(k==0)
{
cout<<"k=0 Rozv.";
getch();
return 0;
}
Sc=S/k;
cout<<"Sc= "<<Sc<<endl;
cout<<"Smile"<<endl;
getch();
- зачем 2 выхода из мэйн, можно проще

Цитата Сообщение от Alston Посмотреть сообщение
if(y>=0.5 && y<=1.5)
- ничего подобного, твой промежуток
Цитата Сообщение от Alston Посмотреть сообщение
больше 0,5 и меньше чем 1,5
- о больше или равно ничего не сказано

Цитата Сообщение от Alston Посмотреть сообщение
x<=2,5)
- опять же твой промежуток (0;2,5), в него ни 0 ни 2,5 не входят!
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
31.08.2011, 15:53 #6
Цитата Сообщение от Alston Посмотреть сообщение
Вычеслить ф-цию y=fn(x)
Напишите какую именно функцию надо вычислить.
0
-=ЮрА=-
Заблокирован
Автор FAQ
31.08.2011, 16:04 #7
Если у вычисляется по такой формуле
C++
1
y = pow(cos(x),2)+3/(pow(sin(x),2) + 2*x)
, предлагаю исправленный код.
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
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
float fn(float x)
{
    float y = pow(cos(x),2)+3/(pow(sin(x),2) + 2*x);
    return y;
}
 
int main(/*int argc, char* argv[]*/)//командная строка для решения этой задачи тебе не нужна ;)
{
    cout<<"\tVvod diapazona peremennih\r\n";
    cout<<"xn = ";
    float xn;cin>>xn;
    cout<<"xk = ";
    float xk;cin>>xk;
    cout<<"dx = ";
    float dx;cin>>dx;
 
    cout<<"\tVvod diapazona (a = f(x);b = f(x)) srednearifmeticheskogo\r\n";
    cout<<"a = ";
    float a;cin>>a;
    cout<<"b = ";
    float b;cin>>b;
 
    float S = 0;
    float y,x = xn + dx;
    int k = 0;
    while(x < xk)
    {
        cout<<" x= "<<x<<"\ty= "<<(y = fn(x))<<"\r\n";
        if(a < y && y < b)
        {
            S = S + y;
            k = k + 1;
        }
        x = x + dx;
    }
 
    if(k == 0)
        cout<<"nylevoi promezhytok\r\n";
    else
        cout<<"Sc = "<< S/k<<"\r\n";
    cout<<"Press any key to continue"<<endl;
    getch();
    return 0;
}
РS:По универу помню, преподы любят на защите говорить - "а сделай так чтобы диапазоны менять при вводе можно было", поэтому оснастил программу переменными начала хн, конца хк - промежутка для аргумента, его шага dx и диапазона значений функции а и b
0
Миниатюры
Вычисление функции на промежутке  
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
31.08.2011, 16:12 #8
Маленькое замечание. Посмотрите на область определения функции, а то вы на 0 легко разделите, когда границы интервала вводите с клавиатуры.
0
-=ЮрА=-
Заблокирован
Автор FAQ
31.08.2011, 16:20 #9
Цитата Сообщение от Thinker Посмотреть сообщение
Маленькое замечание. Посмотрите на область определения функции, а то вы на 0 легко разделите.
- замечание принимаю, вот только мне кажется, что эта функция
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
(pow(sin(x),2) + 2*x)
- нулю никогда не равна, а так да нужно решить уравнение для задания ОДЗ:
sin^2(x) + 2*x = 0
0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
31.08.2011, 16:22 #10
-=ЮрА=-, ну как же, а в точке x=0.
0
alkagolik
Заблокирован
31.08.2011, 16:39 #11
Thinker, -=ЮрА=-, было бы неплохо для начала уточнить на каком "промежутке" вычисляется функция
[0, 2.5]
(0, 2.5)
[0, 2.5)
(0, 2.5]
ТС, учишь другой язык (язык "Си", на котором будешь общаться с машинами), постарайся освоить и свой родной - Вычислить. Дай людям саму функцию для вычисления, определи интервал\полуинтервал\отрезок. Просто меня терзают смутные сомнения...
C++
1
y=cos*cos+3/sin*sin+2*x;
0
-=ЮрА=-
Заблокирован
Автор FAQ
31.08.2011, 16:48 #12
Цитата Сообщение от alkagolik Посмотреть сообщение
-=ЮрА=-, было бы неплохо для начала уточнить на каком "промежутке" вычисляется функция
- в условии чётко об этом сказано

Цитата Сообщение от Alston Посмотреть сообщение
Вычеслить ф-цию y=fn(x) на промежутке (0;2,5)
0
alkagolik
Заблокирован
31.08.2011, 16:55 #13
-=ЮрА=-, да, прошу прощения. тогда точки х=0 просто нету, иначе говоря нужно вычислить
(0, 2.5)~[0.1, 2.4]
0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
31.08.2011, 16:58 #14
Цитата Сообщение от alkagolik Посмотреть сообщение
-=ЮрА=-, да, прошу прощения. тогда точки х=0 просто нету, иначе говоря нужно вычислить
(0, 2.5)~[0.1, 2.4]
На промежутке (0, 2.5) ни функция sin(x), ни sin^2(x) + 2x в ноль не обращаются. Точка x=0 относилась к варианту Юрия.
0
-=ЮрА=-
Заблокирован
Автор FAQ
31.08.2011, 17:02 #15
Цитата Сообщение от alkagolik Посмотреть сообщение
тогда точки х=0 просто нету, иначе говоря нужно вычислить
(0, 2.5)~[0.1, 2.4]
Согласен, об этом тоже написал ранее
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Сообщение от Alston
x<=2,5)
- опять же твой промежуток (0;2,5), в него ни 0 ни 2,5 не входят!
Цитата Сообщение от Thinker Посмотреть сообщение
-=ЮрА=-, ну как же, а в точке x=0.
- она не входит в промежуток (0;2,5) - Спасибо что обратил внимание

Добавлено через 3 минуты
Цитата Сообщение от Thinker Посмотреть сообщение
На промежутке (0, 2.5) ни функция sin(x), ни sin^2(x) + 2x в ноль не обращаются. Точка x=0 относилась к варианту Юрия.
- я извиняюсь конешно но прочитай пост выше - в программе было записано
C++
1
2
3
4
float y,x = xn + dx;
    int k = 0;
    while(x < xk)
    {
так что точка х=0, в моем алгоритме просто не учавствует...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2011, 17:02
Привет! Вот еще темы с ответами:

Вычислить значение функции в заданном промежутке - C++
Мне нужно создать простенькую программу на нахождение значения функции f(x)=x3+sinx на отрезке с шагом 0,2 Если не сложно, подскажите...

Записать значения функции на промежутке в файл - C++
Здравствуйте. я выполнял задание: В соответствии с Вашим вариантом напишите и отладьте программу, которая записывает в двоичный файл...

Поиск максимального значения функции на заданном промежутке - C++
Дана функция y=2x3+1. Написать программу для поиска максимального значения у в промежутке х принадлежит с шагом 0,2

Поиска максимального значения функции в заданном промежутке - C++
Дана функция y=2x3+1 Написать программу для поиска максимального значения y в промежутке x с шагом 0,2. Дублирование тем запрещено...


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

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

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