職業訓練3日目でした。
さて、今日は配列とfor文を勉強しました。
配列は、同じ型の変数をまとめたもの。
int a,b,cっていうのをまとめることができる。
独学だと、配列や変数でつまづいてたんですが、
なるほど。と理解しました。
二次元配列もなんとか・・・
そして、for文。
変数で使うiやjは、
数学で言うところのxやyと理解しようと思います。
iやjに特別な意味はないんだっと強く思わないと、
ややこしくなっちゃいそうです。
以下、今日の復習です。
九九表を表示したりする
結果
------------------------------------
九九表を表示
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
------------------------------------
左上から右下へ斜めに値を拾って表示
1 4 9 16 25 36 49 64 81
------------------------------------
右上から左下へ斜めに値を拾って表示
9 16 21 24 25 24 21 16 9
------------------------------------
九九表を全部合計
2025
------------------------------------
九九表の真ん中20個を表示
9 12 15 18 21
12 16 20 24 28
15 20 25 30 35
18 24 30 36 42
21 28 35 42 49
------------------------------------
九九表を表示したりする(ソース)
/* 二次元配列で九九の表 */
#include
int main(void){
/* 宣言 */
int i,j,ans;
int hai[9][9];
/* 二次元配列に九九の値を代入 */
for(i=0;i<=8;i++){
for(j=0;j<=8;j++){
hai[i][j]=(i+1)*(j+1);
}
}
/* 九九表を表示 */
printf("------------------------------------\n");
printf("九九表を表示\n");
for(i=0;i<=8;i++){
for(j=0;j<=8;j++){
printf("%3d",hai[i][j]);
}
printf("\n");
}
/* 左上から右下へ斜めに値を拾って表示 */
printf("------------------------------------\n");
printf("左上から右下へ斜めに値を拾って表示\n");
for(i=0;i<=8;i++){
printf("%3d",hai[i][i]);
}
/* 右上から左下へ斜めに値を拾って表示 */
printf("\n------------------------------------\n");
printf("右上から左下へ斜めに値を拾って表示\n");
for(i=0;i<=8;i++){
printf("%3d",hai[i][8-i]);
}
/* 九九表を全部合計 */
printf("\n------------------------------------\n");
printf("九九表を全部合計\n");
for(i=0;i<=8;i++){
for(j=0;j<=8;j++){
ans+=hai[i][j];
}
}
printf("%3d",ans);
/* 九九表の真ん中20個を表示 */
printf("\n------------------------------------\n");
printf("九九表の真ん中20個を表示\n");
for(i=2;i<=6;i++){
for(j=2;j<=6;j++){
printf("%3d",hai[i][j]);
}
printf("\n");
}
printf("------------------------------------\n");
return 0;
}