Выдаёт ошибку в 9 строке! Не могу разобраться, что не так: - вопрос №2620429

#include <iostream> #include <math.h> #include <conio.h> using namespace std; int main () {float x,a,b,y; cout<<"\n Ввод x,a,b"<<endl; cin>>x>>a>>b float y=b*pow(exp,-2*a)*pow(sin(2*3,14*x),2); cout<<y<<endl; getch();}
14.10.17
5 ответов

Лучший ответ по мнению автора

pow(sin(2*3,14*x),2) — если 3,14 это константа «Пи», следует записывать через ".", по тому что "," считается разделителем списка аргументов, а точка как раз отделяет десятичные знаки

pow(sin(2*3.14*x),2) — уже компилируется, следует учитывать что этот фрагмент означает следующую строчную запись sin(2*pi*x)^2 — аргумет синуса 2*пи*икс, результат синуса возводится в квадрат

скобки имеют важное значение, к примеру sin(2*pi*x^2) это синус от (два пи на икс в квадрате) то есть другое значение

и sin((2*pi*x)^2) уже треть значение — синус от (квардрат(два пи на икс))

в вашей формуле y=b*e^-2a*sin^2*2pix надо уточнить вероятно так y=b*e^-2a*sin^2*2*pi*x, но после этого еще расставить закрывающие скобки

y=b*e^(-2a*sin(^2*2*pi*x

то есть как минимум две закрывающие скобки и правильное расположение ^2, или все таки добыть изображение формулы с использованием традиционных надстрочных индексов, по тому что необходимых уровней вложенности (и скобок для их исполнения) может оказаться еще больше

15.10.17
Лучший ответ по мнению автора

Другие ответы

Не завершили лексему знаком «точка с запятой»
15.10.17
для начала добавьте ";" тут

cin>>x>>a>>b

должно быть так

cin>>x>>a>>b;
15.10.17
еще двойное обьявление «y», тут

{float x,a,b,y;

и тут

float y=b*pow(exp,-2*a)*pow(sin(2*3,14*x),2);

варианты исправления (использовать только одно исправление!) либо так

{float x,a,b,y;
...
y=b*pow(exp,-2*a)*pow(sin(2*3,14*x),2);
...

либо так:

{float x,a,b;
...
float y=b*pow(exp,-2*a)*pow(sin(2*3,14*x),2);
...

пока все, если будут еще ошибки — нужен текст сообщения об ошибке
15.10.17
y=b*pow(exp,-2*a)*pow(sin(2*3,14*x),2);

тут оказывается еще несколько ошибок

exp — нет аргумента, должно быть exp(аргумент)

pow(exp,-2*a) — не компилируется из за того что exp не определено корректно

sin(2*3,14*x) — синус не может иметь 2 аргумента, только один

pow(sin(2*3,14*x),2) — в итоге так же не компилируется, так как sin не определено корректно

… без точного указания нужной формулы ни чего подсказать нельзя
15.10.17
Посмотреть всех экспертов из раздела Технологии > C/C++
1 ответ
07.11.15
Вопрос задан анонимно
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store