Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2015, 14:36   #1
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию ПЕРЕВОД НА C#

ВСЕМ ПРИВЕТ МНЕ НУЖНО КОД ИЗ С++ ПЕРЕВЕСТИ НА С#
ВОТ КОД
Код:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<ctime>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cmath>
#include<queue>
#include<vector>
#include<map>
using namespace std;
const double EPS=1e-9;
inline double Abs(double a)
{
    if (a<0) return -a;
    return a;
}
struct Point
{
    double x,y,z;
    Point (){};
    Point (double _x,double _y,double _z):x(_x),y(_y),z(_z){};
    Point operator - (const Point _p) const
    {
        return Point(x-_p.x,y-_p.y,z-_p.z);
    }
};
struct Line
{
    Point s,p;
};
double Norm(Point p)
{
    return sqrt(p.x*p.x+p.y*p.y+p.z*p.z);
}
inline double Sqr(double a)
{
    return a*a;
}
double DotMlt(Point p1,Point p2)
{
    return p1.x*p2.x+p1.y*p2.y+p1.z*p2.z;
}
Point CrsMlt(Point p1,Point p2)
{
    return Point(p1.y*p2.z-p2.y*p1.z,p1.z*p2.x-p2.z*p1.x,p1.x*p2.y-p2.x*p1.y);
}
void See(Point p)
{
    cout<<p.x<<' '<<p.y<<' '<<p.z<<endl;
}
int main()
{
    double A,B,t,Sita,D,tmpA,tmpB,tmpC;
    Line L,GL;
    Point P,G;
    while (~scanf("%lf%lf",&A,&B))
    {
        scanf("%lf%lf%lf",&L.s.x,&L.s.y,&L.s.z);
        scanf("%lf%lf%lf",&L.p.x,&L.p.y,&L.p.z);
        L.p=L.p-L.s;
        t=-DotMlt(L.s,L.p)/Sqr(Norm(L.p));
        P.x=L.s.x+t*L.p.x;
        P.y=L.s.y+t*L.p.y;
        P.z=L.s.z+t*L.p.z;
        //See(P);
        D=Norm(P);
        if (D*D<A*A+B*B-EPS || D>A+B+EPS)
            printf("No solution.\n");
        else
        {
            Sita=acos((A*A+B*B-D*D)/(2*A*B));
            t=(Sqr(Norm(P))+Sqr(A)-Sqr(B))/(2*Sqr(Norm(P)));
            //cout<<t<<endl;
            GL.s.x=t*P.x;GL.s.y=t*P.y;GL.s.z=t*P.z;
            GL.p=CrsMlt(L.p,P);
            //See(GL.s);See(GL.p);
            tmpA=Sqr(Norm(GL.p));
            tmpB=2*DotMlt(GL.s,GL.p);
            tmpC=Sqr(Norm(GL.s))-Sqr(A);
            t=-(tmpB+sqrt(Sqr(tmpB)-4*tmpA*tmpC))/(2*tmpA);
            //cout<<tmpA<<' '<<tmpB<<' '<<tmpC<<endl;
            G.x=GL.s.x+GL.p.x*t;
            G.y=GL.s.y+GL.p.y*t;
            G.z=GL.s.z+GL.p.z*t;
            printf("%.10lf %.10lf %.10lf %.15lf\n",G.x,G.y,G.z,Sita);
        }
    }
}
ПЛИЗ
kostan3 вне форума Ответить с цитированием
Старый 10.04.2015, 17:04   #2
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

ау люди помогите
kostan3 вне форума Ответить с цитированием
Старый 10.04.2015, 17:45   #3
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Так вы скажите конкретные строки, которые вызывают затруднения.
Весь код за вас никто переводить не будет.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод AdDa Помощь студентам 1 01.06.2011 03:22
Перевод в С AnryFlame Помощь студентам 2 25.11.2010 19:07
перевод historic Помощь студентам 0 05.10.2010 00:12
перевод Александе еть я Помощь студентам 1 09.05.2010 00:14
перевод ZET78 Общие вопросы C/C++ 1 03.05.2010 08:51