#include<stdio.h>
#include<stdlib.h>
int main(void){
int i,j,k,N;
double *ai,*ak;
double *A,*b;
double r;
printf("N=");
scanf("%d",&N);
ai=A;
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("A[%d][%d]=",i,j);
scanf("%lf",&ai+j);
}
ai+=N;
}
for(i=0;i<N;i++){
printf("b[%d]=",i);
scanf("%lf",&b+i);
}
ai=A;
ak=A;
for(k=0;k<N-1;k++){
for(i = k +1; i < N; i++){
r=*(ai+i*N+k)/ *(ak+k);
for(j=k;j<N;j++){
*(ai+i*N+j) -= *(ak+j) * r;
}
b[i]-=b[k]*r;
}
ak+=N;
}
ai=ak;
for(i =N-1; i>=0;i--){
for(j=i+1;j<N;j++){
b[i] -= *(ai+j)*b[j];
}
b[i]/=*(ai+i);
ai-=N;
}
for(i=0;i<N;i++){
printf("x[%2d]=%12.8lf\n",i+1,b[i]);
}
return(0);
}
それかコアダンプと言われるか…
解決方法を教えてください。