前提・実現したいこと
以下のfor文を用いた文をwhile文で書き換えたいのですがうまく出力されません。
どのように書き換えれば良いか教えて頂きたいです。
書き換えたいソース
c
1#include<stdio.h> 2 3int main(void) 4{ 5 int a[22][25]; 6 int i,j; 7 8 //22×25の繰り返し 9 for(i=0;i<22;++i) 10 { 11 for(j=i;j<25;++j) 12 { 13 14 //計算処理 15 a[i][j]=(i+1)*(j+1); 16 a[j][i]=a[i][j]; 17 } 18 } 19 20 //22×25の繰り返し 21 for(i=0;i<22;i++) 22 { 23 for(j=0;j<25;j++) 24 { 25 //計算結果を出力 26 printf("%4d",a[i][j]); 27 } 28 //改行 29 printf("\n"); 30 } 31 return 0; 32}
書き換えたソース
c
1#include<stdio.h> 2int main(void){ 3int i,j; 4int a[22][25]; 5 6i=0; 7while(i<22){ 8 i++; 9 while(j<25){ 10 a[i][j]=(i+1)*(j+1); 11 j++; 12 } 13 } 14i=0; 15while(i<22){ 16 i++; 17 while(j<25){ 18 printf("%4d",a[i][j]); 19 j++; 20 } 21 printf("\n"); 22 } 23return 0; 24 }
a[j][i]=a[i][j];で範囲外アクセスしてしまいますが、正しいコードでしょうか?
回答2件
あなたの回答
tips
プレビュー