مرحباً أخواني الأعزاء
أنا عندي برنامج مكتوب لغة الجافة ... مطلوب أحوله على لغة ++C ... أنا حاول لكن عندي بعض الأخطاء ... هل ممكن أحد يساعدني
=====هذا البرنامج الأصلي========
import java.util.*;
public class Main
{
/** Creates a new instance of Main */
public Main()
{
}
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
double x = getValue();
double xSqrt = approximateSqrt( x );
System.out.printf( "\nsqrt( %1.6f ) = %1.6f\n", x, xSqrt );
}
public static double getValue()
{
double value;
Scanner input = new Scanner( System.in );
System.out.println( "Enter value (>0) whose square root will be computed: " );
value = input.nextDouble();
while ( value <= 0 )
{
System.out.print( "Invalid value " + value + " <= 0" );
System.out.println( " -- try again" );
System.out.println( "Enter value (>0): " );
value = input.nextDouble();
}
return value;
}
public static double getInitialGuess( double value )
{
return value / 2.0;
}
public static double approximateSqrt( double value )
{
final double epsilon = 0.00001;
double x = getInitialGuess( value );
System.out.printf( "sqrt( %1.6f ) = %1.6f\n", value, x );
while ( Math.abs( value - x * x ) > epsilon )
{
double tx = x;
x = 0.5 * ( x + ( value / x ) );
System.out.printf( "sqrt( %1.6f ) = 0.5 * ( %1.6f + ( %1.6f / %1.6f ) ) = %1.6f\n", value, tx, value, tx, x );
}
return x;
}
}
=====أنتهاء===============================
===== هذا محاولتي للتحويله على ++C ================
# include <iostream>
# include <stdio.h>
# include <cmath>
using namespace std;
class main {
double x = getValue();
double xSqrt = approximateSqrt( x );
printf("\nsqrt( %1.6f ) = %1.6f\n", x, xSqrt);
}
double getValue (){
double value;
cout << "Enter value (>0) whose square root will be computed: ";
cin >> value;
while ( value <= 0 ) {
cout << "Invalid value " << value << " <= 0" ;
cout << " -- try again" ;
cout << "Enter value (>0): ";
cin >> value;
}
return value;
}
double getInitialGuess( double value ){
return value / 2.0;
}
double approximateSqrt( double value )
{
const double epsilon = 0.00001;
double x = getInitialGuess( value );
printf( "sqrt( %1.6f ) = %1.6f\n", value, x );
while ( abs( value - x * x ) > epsilon )
{
double tx = x;
x = 0.5 * ( x + ( value / x ) );
printf( "sqrt( %1.6f ) = 0.5 * ( %1.6f + ( %1.6f / %1.6f ) ) = %1.6f\n", value, tx, value, tx, x );
}
return x;
}
=======انتهى=======================
الرجاء المساعدة
