Как Записать Эти Математические Выражения На С++ ?

  • Автор темы Genri
  • Дата начала
G

Genri

#1
Пишу выражения, но она выдает неправильный ответ или ошибку в чем здесь проблема кто знает скажите?
Как записать вот эти два математических выражения на языке С++. И желательно напишите на турбо паскаль как записать, просто хочу сверить не отличаются ли у меня от ваших выражения.
 

Вложения

G

Genri

#3
Вот это на турбо паскаль:
1) Sqrt(exp/4x(cos(3))/cos(3)))+sqr(cos(4))/exp(sin(3))

2) Exp(1/6*ln(exp(30*ln(sin(2))+cos(7pi/180)/(cos(7)/sin(7))*6.31*(exp(10*ln(21))

Это выражения на турбо паскаль, хотя думаю что и тут может быть мелочная ошибка, если есть поправьте. Но мне нужно на С++, ошибку выдает.
 
R

rrrFer

#4
не проверял. Первое:
Код:
sqrt( pow( tan( (double)4 ), (double)3 ) + pow( cos( (double)4 ), (double)2 ) / exp( sin( (double)3 ) );
 
G

Genri

#6
То первое выражение, которое вы написали опять выдает ошибку, достали меня уже эти синтаксические ошибки, что не напиши ошибка идет. Она почему то реагирует все время на ошибку во всех скобках а остальное нормально. Непойму что с этими скобками не так.
Выкладываю скрин ошибки, посмотрите что там не так.
 

Вложения

hosm

* so what *
18.05.2009
2 442
6
#7
) )/
от корня sqrt скобка не закрыта была, мог бы и сам проверить
 
G

Guest

#8
To Genri: Я на скрине не вижу скобок в main, они там есть?
C++:
void main()
{
}
 
G

Genri

#9
OKEN: Да действительно, просто не заметил отсутствующую скобку, исправил, но ошибка уменьшилась только на одну.
Теперь там так: sqrt(tan опять же на эту первую скобку указывает ошибка, а ошибка там синтаксическая.

Радамант:
Код:
void main()
{
}
Именно так и написал, добавил две нижние фигурные скобки вместе с исправленной скобкой, но ошибки стало две и они разные
1:NONAMEOO.CPP 6: 'pow' cannot start a parameter declaration ошибку указывает на tan на букву t
2:NONAMEOO.CPP 6: Parameter names are used only with a function body ошибку указывает на (( tan((double)3)) на букву d
Я запутался с этими ошибками, можете подсказать что теперь не так вроде исправил, все скобки в норме. Думал будет проще простого за раз написать эти выражения, похоже я ошибался.
 

hosm

* so what *
18.05.2009
2 442
6
#11
(double)3 заменить на 3.0, т.е. нечто подобное sqrt( pow( tan(3.0), 4.0 ) + pow( cos( 4.0 ), 2.0 )) / exp( sin( 3.0 ) );
(вроде тип double и так идет по умолчанию, емнип).
и результат выражения сохраните в какую-нибудь переменную и/или выведите на экран.
 

lazybiz

Well-known member
03.11.2010
1 339
0
#12
Тут абсолютно все числа можно записать как целые, т.е.: 2, 3, 4 (без точек и нулей)
 
G

Genri

#13
Не суждено мне видимо эти два простых примерчика просто записать в правильной форме. Oken вы правильно сказали, что надо было писать с нулем 3.0, помню препод так говорил, но даже хоть я ее правильно написал, но возникли две новые ошибки, еще хуже чем другие, вообще там нет логики. Вот здесь где sqrt(pow(tan на букву t она указывает ошибку с сообщением что типо параметры введены неверно или что типа этого, и где здесь логика, я что букву т написал неверно и нужна тут другая буква? Я долго перепробовал там все возможные варианты написания со скобками и знаками ничто не помогает те же самые 2 ошибки либо их еще больше. Как я понял примеры записать нереально записать и получить правильный ответ. Ладно оставьте эту ерунду. Спасибо кто пытался помочь.
Пусть я лучше по лабораторной двойку получу, чем буду голову ломать и мучаться с написанием этих примеров, которые учителя за минуту смогут это сделать. Ну и хрен с ним.
 

lazybiz

Well-known member
03.11.2010
1 339
0
#14
Ты зря разочаровываешься. С нулем писать не обязательно в этом случае. Покажи код.
 
G

Genri

#15
Нет я и с нулями и без нулей пробовал. Там даже в одной из ошибок выскакивало сообщение, что я типо double не написал и из-за этого ошибка, но и с ней и без неё лезет другая ошибка, но уже в тангенсе на букве t. Не пойму, что это за ошибка.
Я сделал скрин, с кодами думаю все в норме, написал как нас и учили, проблема только с написанием примера.
Вроде все коды и функции присутвстуют? int функция там не нужна, но что бы я не написал выходит ошибка с указанием ошибки на т.
 

Вложения

G

Guest

#16
У тебя не правильно организована функция main(). Еще раз советую прочитай как организуются функции в C++.

А правильно будет так:
C++:
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <iomanip.h>

void main()
{
double a = sqrt( pow( tan(3.0), 4.0) + pow( cos(4.0), 2.0)) / exp(sin(3.0));
cout << a << endl;
getch();
}
Вот файл, проверил в BC 3.11, все работает. Если не заработает, пиши посмотрим настройки среды.
Посмотреть вложение TEST.CPP

И еще файл noname00.cpp находится в папке BIN, можно открыть в любом текстовом редактаре.
 

Вложения

  • 211 байт Просмотры: 46
G

Genri

#17
Воо красавчик, спасибо, теперь работает, наконец ответ 0.567889. Мне как раз завтра надо лабораторную сдавать, спасибо. Когда начал второй тоже делать аналогично, были некоторые ошибки пришлось повозиться, но потом там тоже я получил ответ. Кстати учитель нам и не говорил вообще писать функции conio.h, cout, и getch. Ну ничего завтра я с ним разберусь, и функции надо бы подучить. ;)