что то я затормозился на этом определителе. использую рекурсивную функцию для определения.
Код:
finder(int *a)
{ register int k;
int answer;
if(a[k][k])
if(k==2) answer = a[k-1][k-1]* a[k][k]-a[k-1][k] * a[k][k-1];
answer = (-1)^(k+1) * a[1][k] * finder(a[k-1][k-1]);
return(answer);
}
в функцию передается указатель на массив, но как передать переменную - порядок матрицы? т.е. то чем в функции подменяется переменная
к? в моем случае получается, что я её использую до определения
все остальное:
Код:
#include <stdio.h>
#define n 5
finder(int *a);
void main(void)
{
int b[n][n];
int pm = 5;
int opr=0;
int opr1=0;
int s;
for(s=1;s<n;s++){
pm = pm--;
int p[pm][pm]; /*здесь опять ошибка синтаксиса С89 */
opr=(-1)^(s+1) * b[1][s] * finder(p);
opr1=opr1+opr;
}
}
подскажите пжлст