C/C++の宿題を片付けます 77代目
■ このスレッドは過去ログ倉庫に格納されています
0011デフォルトの名無しさん
2006/11/21(火) 14:51:49int main(void){
int i, j, k, n, a;
int **p;
printf("please input! n = ");
scanf("%d\n",a);
p = (int **) malloc(sizeof(int *)*a);
for(i=0; i<=a; i++){
p[i]=(int*) malloc(sizeof(int *)*a);
for(i=0; i<=a; i++)
p[i][j]=0;
}
k = n*n-1;
for(i=0; i<n/2+n%2; i++) {
for(j=i; j<=n-i-1; j++) p[i][j] = k--;
for(j=i+1; j<n-i-1; j++) p[j][n-i-1] = k--;
for(j=n-i-1; j>i; j--) p[n-i-1][j] = k--;
for(j=n-i-1; j>i; j--) p[j][i] = k--;
}
for(i=0; i<a; i++)
printf("\n");
for(j=0; j<a; j++)
printf("%5d",p[i][j]);
return 0;
}
上記のプログラムは前スレ>>507を完成させたものですが、セグメンテーション違反になります。
どうすればいいでしょうか?
■ このスレッドは過去ログ倉庫に格納されています