BigMac
Вот, код. Абсолютно непроверенный:
Код:

#include <stdio.h>
#include <math.h>
#define a1 * *0.3870986
#define exc * 10.2056306
#define a2 * *0.7233316
#define exc2 *0.0067826
#define a3 * *1.0000000
#define exc3 *0.0167180
#define a4 * *1.5236883
#define exc4 *0.0933865
#define a5 * *5.2025610
#define exc5 *0.0484658
#define a6 * *9.5547470
#define exc6 *0.0556155
#define a7 * *19.2181400
#define exc7 *0.0463232
#define a8 * *30.1095700
#define exc8 *0.0090021
#define a9 * *39.7845900
#define exc9 *0.2538700
#define epsx *0.000001
#define RAD * 0.0174532925199433
float ee,M,E,k,t,a;
int i,b,n;
/*--------------------------------------------------------------------------*/
/* CS: Косинус-функция (градусы) */
float cs(float x)
{
* *return cos( x*RAD );
}
/*--------------------------------------------------------------------------*/
/*TN: тангенс-функция (градусы)*/
float tn(float x)
{
** float xx = x * RAD;
** return sin( xx ) / cos( xx );
}
/*--------------------------------------------------------------------------*/
/* ATN: Арктангенс-функция (градусы)*/
float atn(float x)
{
* * return arctan(x) / RAD;
}
/*--------------------------------------------------------------------------*/
void formyls(float t, float M, float E, float k);
{
* * float dE,dB,v,R,ht,Tp:real;
* * Tp=sqrt(a*a*a);
** ht=Tp/n;
** t=i*ht;
** M=Pi*2*Pi*t/(Tp*180);
** E=M;
** dB=0.016718*Sin(E);
* * if( fabs(dB) < epsx )
* * * * E=E
* *else
* * {
* * * * k=1;
* * * * while( fabs(dB)>epsx )
* * * * {
* * * * * * dE=dB/(1-ee*cos(E));
* * * * * * E-=dE;
* * * * * * dB=E-ee*sin(E)-M;
* * * * * * ++k;
* * * * }
* * ** *E=E;
* * }
* * R=a*(1-e*cos(E)); *
* * v=2*atn(sqrt((1+ee)/(1-ee))*tn(E/2));
}
/*--------------------------------------------------------------------------*/
int main()
{
* * // Очитка экоана -- системо-зависимо, обойдёмся и без этого :)
* *printf("Введите количество точек дробления периода оборота: ");
* *scanf("%f", &n);
* *printf("\nВведите планету:\n"
* * * * * " * * Меркурий-> 1 * * * *Венера-> 2\n"
* * * * * " * * Земля-> * *3 * * * *Марс-> * 4\n"
* * * * * " * * Юпитер-> * 5 * * * *Сатурн-> 6\n"
* * * * * "* * *Уран-> * * 7 * * * *Нептун-> 8\n"
* * * * * " * * Плутон-> 9\n" );
* *scanf( "%d", &b );
** switch( b )
* *{
* *case 1:
* * * *ee=exc1;
* ** * a=a1;
* * * * break
* *case 2:
* ** * ee=exc2;
* ** * a=a2;
* * * *break;
* *case 3:
* ** * ee=exc3;
* * * * a=a3;
* * * *break;
* *case 4:
* ** * ee=exc4;
* ** * a=a4;
* * * *break;
* *case 5:
* ** * ee=exc5;
* ** * a=a5;
* * * *break;
* *case 6:
* ** * ee=exc6;
* * * * a=a6;
* * * *break;
* *case 7:
* ** * ee=exc7;
* ** * a=a7;
* * * *break;
* *case 8:
* ** * ee=exc8;
* ** * a=a8;
* * * *break;
* *case 9:
* ** * ee=exc9;
* ** * a=a9;
* *}
* *for( i = 0; i < n; ++i )
* *{
* * * * formyls(t,M,E,k);
* ** * printf("i= %d\n", &i);
* ** * printf("t= %f.6\n", &t);
* ** * printf("M= %f.6\n", &M);
* ** * printf("E= %f.6\n", &E);
* ** * printf("k= %f.6\n", &k);
* ** * printf("epsx= %f.6",&epsx);
* *}
* *getch();
}
Код на Си как и просил ( а не наплюсах, как я люблю

)
Всё, вплоть до "мельчайшей отвратительной детали"(ц)РЛА оставлено как есть... Даже дурацкие операторы вроде E:=E;
зы в следующий раз поставлю замечание! (мысленно

)
(Отредактировал(а) ivank - 20:14 24-12-2001)