sleepking89 |
13-02-2013 08:56 2089266 |
Перевод с Pascal на C++
Народ трабл с переводом...
Код:
Program LAB3_4;
Var x,f,eps,a,n:real;
Begin
Write('Введите значение аргумента: x = ');
Readln(x);
Write('Введите значение точности: eps = ');
Readln(eps);
f:=x;
A:=x;
n:=3;
repeat a:=(-a)*x*x*(n-2)/n;
f:=f+a;
n:=n+2;
until abs(a)<eps;
Writeln('Арктангенс Х: ',f);
Writeln('Контрольное значение вычисленной функции: ',arctan(x));
End.
|
Tonny_Bennet |
13-02-2013 09:20 2089272 |
sleepking89, и в чём трабл? Вы понимаете как работает эта программа? Что делает каждый оператор?
|
Не уверен что правильно переведу, но попробую.
Код:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <math.h>
int main()
{
int x, f, esp, a, n;
cout << "Введите значение аргумента Х = ";
cin >> x;
cout << "Введите значение агрумента точности esp = ";
cin >> esp;
f = x;
a = esp;
n = 3;
do{
a = (-a) * x * x * (n - 2) / n;
f += a;
n += 2;
} while(abs(a) < eps);
cout << "Арктангенс Х = " << f << endl;
cout << "Контрольное значение вычисленной функции = " << arctan(x) << endl;
cin >> a;
return 0;
}
p.s. Не проверял тригонометрические функции, это вы уже сами.
|
novashdima |
16-02-2013 04:32 2091691 |
Цитата:
Цитата Drongo
using std::cout;
using std::cin;
using std::endl; »
|
Вместо этого лучше написать:
Код:
using namespace std;
еще у него переменные типа real, а вы написали int, и еще парочка замечаний, так что конечный вариант будет примерно таким(имхо):
Код:
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
int main()
{
float x, f, esp, a, n;
cout << "Введите значение аргумента Х = ";
cin >> x;
cout << "Введите значение агрумента точности esp = ";
cin >> esp;
f = x;
a = esp;
n = 3;
do{
a = (-a) * x * x * (n - 2) / n;
f += a;
n += 2;
} while(abs(a) < eps);
cout << "Арктангенс Х = " << f << endl;
cout << "Контрольное значение вычисленной функции = " << arctg(x) << endl;
getch();
return 0;
}
|
Время: 21:18.
© OSzone.net 2001-