Sqrt函数错误合并

时间:2013-09-18 00:43:12

标签: c++

我如何将方程式纳入我的程序?在编译时基本上添加新的信息列:

relative_error_per_cent = 100 *((my_sqrt_1(n) – sqrt(n)) / sqrt(n)

我知道假设进入for循环但是还缺少什么?我得到错误。已经尝试了一段时间

#include <iostream> 
#include <math.h> 
using namespace std; 

double my_sqrt_1(double n) 
{
    double x = 1;
    for(int i = 1; i < 10; ++i) 
        x = (x+n/x)/2;
    return x; 
} 

int main() 
{ 
    for(auto k : { -100,-10,-1,0,1,10,100})
    {
        double relative_error_per_cent = 100*((my_sqrt_1(n) – sqrt(n)) / sqrt(n))
        double n=3.14159 * pow (10.0,k);
        cout << n << sqrt(n) <<  my_sqrt_1(n) << relative_error_per_cent;
    }

    return 0; 
} 

2 个答案:

答案 0 :(得分:3)

                                                    +----its a minus*
                                                    |
double n = pow (10.0,k)*3.14159;         <----------|-------------------------+
double relative_error_per_cent = 100*((my_sqrt_1(n) - sqrt(n)) / sqrt(n));    |
//double n = pow (10.0,k)*3.14159;                                    ---|----+
cout << n << sqrt(n) <<  my_sqrt_1(n) << relative_error_per_cent;        |
                                                                     semi-colon 

使用以下代码编译:

g++ -o file file.cpp -std=c++0x

OR

g++ -o file file.cpp -std=c++11

*减去不流浪的字符\226,当您从网页,doc或pdf文件中复制粘贴代码时会发生这种情况。

答案 1 :(得分:1)

三件事(等等):

首先,在n初始化之前声明(并初始化)relative_error_per_cent

其次,在;初始化结束时添加relative_error_per_cent

第三,在初始化中将-更改为relative_error_per_cent

double n=3.14159 * pow(10.0,k);
double relative_error_per_cent = 100*((my_sqrt_1(n) - sqrt(n)) / sqrt(n));

Code on ideone.com