ВОПРОС · Q&A

Код по алгоритму, приведенному тут. Работает неверно

1 ответов 3,9 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор вопроса
Здравствуйте!
Вот, собственно алгоритм, который по идее должен быть реализован, но чего-то где-то ошибка
www.radikal.ru
Обрабатывается массив p_Q[deg][deg]
Код:
int * c = new int [deg];
int i, j, r, k, flag, p;
flag=0;
r=0;
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){
flag++;
if (flag)
break;
}
if (flag){
for (i=0; i< deg; i++)
this->p_Q[i][j]*=(-1/(this->p_Q[k][j]));
for (i=0; i<deg; i++)
for(p=0; p<deg; p++)
if (i!=j)
this->p_Q[p][i]+=this->p_Q[p][j]*this->p_Q[k][i];
c[j]=k;
}
}
flag=0;
}
Спасибо
 
вариант номер два, тоже не верный
Код:
int * c = new int [deg];
int i, j, r, k, flag, p;
flag=0;
r=0;
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){
flag++;
if (flag)
break;
}
if (flag){
for (i=0; i< deg; i++)
this->p_Q[i][j]*=(-1/(this->p_Q[k][j]));
for (i=0; i<deg; i++)
if (i!=j)
this->p_Q[i][j]*=this->p_Q[k][i];
for (p=0; p<deg; p++)
for (i=0; i<deg; i++)
if (i!=j)
this->p_Q[p][i]+=this->p_Q[p][j];
c[j]=k;
}
}
flag=0;
}