C#/c++ Ссылки

Тема в разделе ".NET", создана пользователем Villiya, 11 дек 2011.

  1. Villiya

    Villiya Гость

    доброго времени суток. подскажите пожалуста если переводить код C++ на C# (без использования unsafe) достаточно ли в конструкции вида
    Код (C++):
    Calc(int NN,int LL,double *x,double **y,double **z)
    Код (C++):
    double *x
    заменить на out double x?

    и какой аналог есть для
    Код (C++):
    double** y
    ?

    каким образом можно записать на C#
    Код (C++):
    MinMaxFloat2D(double** x, int LL, int NN,double* xmn, double* xmx)
    {
    *xmx=x[0][0];
    *xmn=x[0][0];

    for(int i=0; i<LL; i++)
    {
    for(int j=0; j<NN; j++)
    {
    if(x[i][j]>*xmx) *xmx=x[i][j];
    if(x[i][j]<*xmn) *xmn=x[i][j];
    }
    }

    }
    если она имеет следующий вызов
    Код (C++):
    MinMaxFloat2D(x,LL,NN,&xmin,&xmax);
    заранее спасибо.
     
  2. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Более точным аналогом double* x, будет, я думаю, ref double x, если этот x до вызова функции уже содержит какое-то важное значение. Опять же, под этим, насколько помню, может подразумеваться массив, тогда аналогом станет double[] x.
    В случае с double** y, скорее всего, имеется в виду как раз двухмерный массив - double[][] y.

    Вышеприведенная функция, таким образом, превращается во что-то типа:
    Код (Text):
    MinMaxFloat2D(double[][] x, int LL, int NN, out double xmn, out double xmx)
    {
    xmx=x[0][0];
    xmn=x[0][0];

    for(int i=0; i<LL; i++)
    {
    for(int j=0; j<NN; j++)
    {
    if(x[i][j] > xmx) xmx=x[i][j];
    if(x[i][j] < xmn) xmn=x[i][j];
    }
    }
    }
     
  3. Villiya

    Villiya Гость

    большое спасибо!
     
Загрузка...
Похожие Темы - c++ Ссылки
  1. Nadia_IT
    Ответов:
    0
    Просмотров:
    24
  2. kmm96
    Ответов:
    1
    Просмотров:
    25
  3. TriXel_01
    Ответов:
    5
    Просмотров:
    104
  4. acs-nexus
    Ответов:
    0
    Просмотров:
    93
  5. Ramzay
    Ответов:
    3
    Просмотров:
    135

Поделиться этой страницей