Что я делаю не так? pascal >> c++

программирование C++ pascal паскаль

В общем нужно переписать с паскаля на плюсы

//код на паскале
var a,b,c : real;
i,n : integer;

function f(x:real):real;
begin
f:=sqr(sqr(x))+2*x*sqr(x)-x-1;
end;

begin
a:=0;
b:=1;
n:=16;
for i:=1 to n do begin
c:=(b+a)/2;
writeln('i=',i:3,' x=',c:10:8,' f(x)=', f(c):12:8);
if f(c)=0 then break
else if f(c)*f(a)>0 then a:=c else b:=c;
end;
end.


//что я попытался написать на c++ но не получилось
#include <iostream>
#include <cmath>
using namespace std;

int function(double x) {
double f;
f==sqr(sqr(x))+2*x*sqr(x)-x-1;

return (f);

}





int main(void) {
double a=0, b=1, c;
int n=16;
for(int i=1; i<=n; i++) {
c=(b+a)/2;
cout << "i=" << i << "x=" << c << "f(x)=" << function(c) << "\n";
if(function(c)==0) break;
else if(function(c)*function(a)>0) a=c;
else b=c;
}
}


Примечание:
всё равно не пашет ,ругается на 7-ую сточку:
1)error 'sqr' was not declared in this scope
2)error 'sqr' was not declared in this scope
3)error declaration of '<typeprefixerror>sqr'
4)error conflicts with previous declaration '<typeprefixerror>sqr'

Примечание:
>>Ну да, конечно... сам не обратил внимания - sqrt!)
что то я не въехал. При чем тут квадратный корень ?

Примечание:
такс.. следующий вопрос.
Почему на плюсах и паскале даёт разный вывод неужели у меня еще есть ошибки ?
Ответы:
1) f==sqr(sqr(x))+2*x*sqr(x)-x-1; - не правильно. Вы не присваиваете вычисленное значение переменной F, а сравниваете (оператор сравнения "==")
2) else if(function(c)*function(a)>0) a=c; - не правильно. else if((function(c)*function(a))>0) a=c; -правильно.
Ну да, конечно... сам не обратил внимания - sqrt!)
Согласен... чето тупанул)))
*** Почему на плюсах и паскале даёт разный вывод неужели у меня еще есть ошибки ? ***
Что значит "разный вывод"? Показать мона?
И вот тут:
int function(double x) {
Почему не
double function(double x) {
???


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.