#include #include int add(int n, int m); int add1(int& n, int& m); int add2(int* n, int* m); void voidadd(int& n, int& m); void voidadd0(int n, int m); long double Sqrt(long double x, long double accuracy=0.1); int main() { int i,j,k,l,m, n; long double a; j=0, k=0, l=m=n=0; for(i = 1; i<101;++i ) { j=add(i,j); k=add1(i,k); l=add2(&i,&l); // l=add2(*i,*l); /** this is error*/ voidadd(i,m); voidadd0(i,n); } std::cout<<"sum of 1 to 100 = " << j<<", " << k << ", " << l << ",void type " << m << ", " << n << std::endl; //------------------default values of arguments ---------------- a = Sqrt(10.); std::cout << "Sqrt(10) with default accuracy = " << a << std::endl; a = Sqrt(10., 0.00001); std::cout << "Sqrt(10) with accuracy of 0.00001 = " << a << std::endl; return 999; } int add(int n, int m) { int j = n + m; return j; } int add1(int& n, int& m) { int j = n + m; return j; } int add2(int* n, int* m) { int j = *n + *m; return j; } void voidadd0(int n, int m) { m = n + m; return ; } void voidadd(int &n, int &m) { m = n + m; return ; } long double Sqrt(long double x, long double accuracy) { long double newSqrt = x/2, oldSqrt=0; if(x < 0) { std::cout <<"x negative not allowed" << std::endl; exit(1); } while (fabs(newSqrt-oldSqrt) > accuracy) { oldSqrt = newSqrt; newSqrt = 0.5 * (oldSqrt + x/oldSqrt); } return newSqrt; } --------------------------------------------------------------- ./a.exe sum of 1 to 100 = 5050, 5050, 5050,void type 5050, 0 Sqrt(10) with default accuracy = 3.16232 Sqrt(10) with accuracy of 0.00001 = 3.16228