Соответствие моего кода и псевдокода из алгоритма

Тема в разделе "C/C++/C#", создана пользователем Terra, 8 май 2010.

Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. Terra

    Terra Гость

    Всем доброго времени суток:newconfus:
    Посмотрите пожалуйста, что не так в коде, который реализован по этому псевдокоду. Ошибок нет, но все равно что-то не так. Мой результат отличается от ожидаемого ввиду неправильной реализации вот сего:
    Соответствие моего кода и псевдокода из алгоритма
    роль матрицы Q исполняет p_Q, все остальное имеет те же имена переменных, что и в псевдокоде.
    Код (Text):
    int * c = new int [deg];
    int j, k, r, i, l, s;
    bool j_flag;
    r=0;
    j_flag = false;
    for (i=0; i<deg; i++)
    c[i]=-1;
    for (k=0; k<deg; k++)
    {
    for (j=0; j<deg; j++)
    if (this->p_Q[k][j]!=0 && c[j]<0)
    {
    j_flag = true;
    for (i=0; i<deg; i++)
    this->p_Q[i][j]*=(-1/this->p_Q[k][j]);
    break;
    }
    if (j_flag)
    {
    for (i=0; i<deg; i++)
    {
    if (i!=j)
    {
    for (l=0; l<deg; l++)
    this->p_Q[l][i] = this->p_Q[l][i] + this->p_Q[k][i]*this->p_Q[l][j];
    c[j] = k;
    }
    }
    j_flag = false;
    }
    else
    {
    r++;
    for (j=0; j<deg; j++)
    v[r][j] = 0;
    for (s=0; s<deg; s++)
    {
    j = c[s];
    if (j>=0)
    this->v[r][j] = this->p_Q[k][s];
    }
    this->v[r][k] = 1;
    }
    }
    Спасибо.
     
Загрузка...
Статус темы:
Закрыта.

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