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

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

Войти
Регистрация
Восстановить пароль
 
Pakowski398
2 / 2 / 0
Регистрация: 01.10.2016
Сообщений: 66
#1

Табулирование функции (исправить код программы) - C++

14.10.2016, 21:14. Просмотров 239. Ответов 8
Метки нет (Все метки)

Необходимо вычислить значение заданной функции. Осуществить вывод значений аргумента и результатов вычислений значений функции в заданном диапазоне с заданным шагом.
Функция: y=pow(sin(x),2);
Диапазон изменения аргумента: -2*Pi<=x<=2*Pi;
Шаг изменения аргумента: x=x+(Pi/4);
Код программы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{double x,y,i=1.0;
    const double Pi=3.14159;
    cout<<"x="; cin>>x;
    while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
    cout<<"\ny="<<y;
    _gettch();
 
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2016, 21:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Табулирование функции (исправить код программы) (C++):

исправить код программы - C++
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; #include&lt;iomanip.h&gt; float f( float, float, float,...

Исправить код программы - C++
Всем добрый день. Помогите, пожалуйста. Программа в Microsoft Visual C++ 6.0 выдает ошибку: fatal error C1083: Cannot open include...

Исправить код программы - C++
Привет, помогите, пожалуйста. Есть код программы, что нужно включить/добавить, чтобы она работала полноценно... Исправьте код: char...

Исправить код программы, завершающейся с ошибкой - C++
Помогите. Нужна помощь. Программа крашится и пишет Return value 3221225477.Что я делаю не так? #include &lt;iostream&gt; #include &lt;string&gt; ...

Исправить код программы по выводу алфавита - C++
#include &lt;iostream&gt; using namespace std; int main() { char letter; for (letter = 'A'; letter &lt;= 'Z'; letter++); cout &lt;&lt;...

Вычислить значение функции(исправить готовый код) - C++
Вычислить значение функции y=(x+5.2)\(x+1)(3x+4), на промежутке с шагом h=0.3. Результаты расчетов вывести в виде таблицы пар х и у....

8
Petrolion
24 / 24 / 7
Регистрация: 02.02.2016
Сообщений: 124
Завершенные тесты: 1
14.10.2016, 21:31 #2
Любопытно. А ругается то на что?
Кстати, функции pow() и sin() где-то в программе определены?
Да и _gettch(); все таки выглядит как _getch();
Это на первый взгляд (алгоритм не смотрел)
0
Pakowski398
2 / 2 / 0
Регистрация: 01.10.2016
Сообщений: 66
14.10.2016, 21:35  [ТС] #3
Дело в том, что сама программа запускается, но при попытке задать число из заданного диапазона для х, ответ выдает всегда одинаковый.
0
Petrolion
24 / 24 / 7
Регистрация: 02.02.2016
Сообщений: 124
Завершенные тесты: 1
14.10.2016, 21:51 #4
Не уверен что программа запускается (пусть кинут в меня камень).
Например без подключения #include <math.h> функции не определены.
Может вы привели не полный текст программы?
Когда что-то спрашиваете постарайтесь дать как можно более развернутую информацию.
Какое значение выдает?
Кстати, а зачем функцию все время считать внутри цикла? Ее можно и за цикл вынести, все равно она только значение последней итерации выдает.
Кроме того расчет будет только если x >= 1 т.к. i = 1.0
Возможно вы неверно поняли условие задачи. Скорее всего вывод результатов тоже нужно осуществлять внутри цикла.
0
Pakowski398
2 / 2 / 0
Регистрация: 01.10.2016
Сообщений: 66
14.10.2016, 21:59  [ТС] #5
Я уже разобрался. Извините за отнятое время.
0
мановар
1101 / 408 / 90
Регистрация: 12.03.2016
Сообщений: 1,607
Завершенные тесты: 1
14.10.2016, 22:06 #6
Цитата Сообщение от Petrolion Посмотреть сообщение
(пусть кинут в меня камень).
Можно маленький. Запускается и даже значение y выдает, а вот условию задания программа совсем не соответствует.
0
GbaLog-
Любитель чаепитий
3094 / 1433 / 348
Регистрация: 24.08.2014
Сообщений: 5,084
Записей в блоге: 1
Завершенные тесты: 2
14.10.2016, 22:16 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от мановар Посмотреть сообщение
Запускается и даже значение y выдает
Да, но только в VS, в GCC выдаёт вот эту ошибку при вот этом коде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{double x,y,i=1.0;
    const double Pi=3.14159;
    cout<<"x="; cin>>x;
    while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
    cout<<"\ny="<<y;
    _gettch();
 
    return 0;
}
Код
source_file.cpp:1:20: fatal error: stdafx.h: No such file or directory
 #include "stdafx.h"
                    ^
compilation terminated.
Ладно, исправим её, закомментировав строку 1:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{double x,y,i=1.0;
    const double Pi=3.14159;
    cout<<"x="; cin>>x;
    while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
    cout<<"\ny="<<y;
    _gettch();
 
    return 0;
}
Код
source_file.cpp:6:22: error: ‘_TCHAR’ has not been declared
 int _tmain(int argc, _TCHAR* argv[])
                      ^
source_file.cpp: In function ‘int _tmain(int, int**)’:
source_file.cpp:10:29: error: ‘sin’ was not declared in this scope
     while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
                             ^
source_file.cpp:10:32: error: ‘pow’ was not declared in this scope
     while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
                                ^
source_file.cpp:12:13: error: ‘_gettch’ was not declared in this scope
     _gettch();
Исправляем ошибки последовательно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int main(int argc, char* argv[])
{double x,y,i=1.0;
    const double Pi=3.14159;
    cout<<"x="; cin>>x;
    while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
    cout<<"\ny="<<y;
    _gettch();
 
    return 0;
}
Код
source_file.cpp: In function ‘int main(int, char**)’:
source_file.cpp:10:29: error: ‘sin’ was not declared in this scope
     while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
                             ^
source_file.cpp:10:32: error: ‘pow’ was not declared in this scope
     while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
                                ^
source_file.cpp:12:13: error: ‘_gettch’ was not declared in this scope
     _gettch();
             ^
Дальше:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
 
 
int main(int argc, char* argv[])
{double x,y,i=1.0;
    const double Pi=3.14159;
    cout<<"x="; cin>>x;
    while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
    cout<<"\ny="<<y;
    _gettch();
 
    return 0;
}
Код
source_file.cpp: In function ‘int main(int, char**)’:
source_file.cpp:13:13: error: ‘_gettch’ was not declared in this scope
     _gettch();
             ^
И наконец:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
 
 
int main(int argc, char* argv[])
{double x,y,i=1.0;
    const double Pi=3.14159;
    cout<<"x="; cin>>x;
    while(i<=x) {y=pow(sin(i),2); i=i+(Pi/4);}
    cout<<"\ny="<<y;
 
    return 0;
}
При введении x = 1.
Код
y=0.708073

Извините, что отнял у Вас время,
просто делать нечего, страдаю фигнёй.
1
Petrolion
24 / 24 / 7
Регистрация: 02.02.2016
Сообщений: 124
Завершенные тесты: 1
14.10.2016, 22:29 #8
мановар, вы правы в новой версии MS VS пускается (через ОООчень длинную цепь вызовов изiostream. А в старой у меня такой финт не проходил :-( вот и вспомнил... а зря (камень поймал).
0
мановар
1101 / 408 / 90
Регистрация: 12.03.2016
Сообщений: 1,607
Завершенные тесты: 1
14.10.2016, 22:42 #9
Цитата Сообщение от GbaLog- Посмотреть сообщение
Извините, что отнял у Вас время,
просто делать нечего, страдаю фигнёй.
Сегодня пятница, конец рабочей недели, все грехи прощаются, аминь.

Добавлено через 2 минуты
Цитата Сообщение от Petrolion Посмотреть сообщение
в новой версии MS VS пускается
в новой, это в какой? В 10-й уже работает, куда уж старше.
0
14.10.2016, 22:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2016, 22:42
Привет! Вот еще темы с ответами:

Функции с переменным количеством параметров, stdarg.h. Исправить код - C++
Почему не работает? В итоге получается 0, а если в функции все что надо заменить с float на int, то работает правильно. В чем ошибка? ...

Найти ошибки в определении функции поиска (исправить код) - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; struct Cours { string surname; string coursname; ...

Математические функции при работе с треугольником и прямоугольником: исправить код - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { double a,b,c,d,e; cout &lt;&lt; &quot;Enter the sides...

Вычислить значение функции (неожиданное поведение программы - как исправить?) - C++
Мне нужно вичислить значение функции у= (4*(x^3)-2*(x^2)+5);для значении x от -3 до 1.Написан такой код: #include&lt;stdio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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