配列変数同士で格納されている数値データを交換してみよう その2💖💖🌻
ソーラー「さきほどのプログラムにおいて
配列変数hairetu[0]
に
0
配列変数hairetu[1]
に
1
と数値が格納されている状態から
配列変数hairetu[0]
に
1
配列変数hairetu[1]
に
0
と数値が格納されている状態に
変更することができました。
その時のプログラムはこちらです。」
👇
#include <stdio.h>
int main(void) {
int hairetu[5];
int i = 0;
for (i = 0; i< 5; i++) {
hairetu[i] = i;
printf("%d", hairetu[i]);
}
/*👆
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
を
0
1
2
3
4
で
初期化すると同時に
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に格納された数値
0
1
2
3
4
を
printf出力表示するようにしています*/
printf("\n");
//🌞改行しています
int a;
a = hairetu[0];
hairetu[0] = hairetu[1];
hairetu[1] = a;
/*👆
配列変数
hairetu[0]
と
配列変数
hairetu[1]
に格納されている数値を交換しました*/
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
//🌞改行しています
return 0;
}
ビルド実行結果
01234
10234
アレサ「(´▽`*)成功です
ソーラーさん
配列変数
hairetu[0]
に格納されている数値0
と
配列変数
hairetu[1]
に格納されている数値1
が交換されているのが
ビルド実行結果を見てもわかります。」
ソーラー「いいね。
なら
今度は
配列変数
hairetu[0]
に格納されている数値
と
配列変数
hairetu[1]
に格納されている数値
を交換した後
配列変数
hairetu[1]
に格納されている数値
と
配列変数
hairetu[2]
に格納されている数値
を交換し
さらにその後
配列変数
hairetu[2]
に格納されている数値
と
配列変数
hairetu[3]
に格納されている数値
を交換し
さらにその後
配列変数
hairetu[3]
に格納されている数値
と
配列変数
hairetu[4]
に格納されている数値を
交換してみよう
というわけなんだよ」
アレサ「マニアックすぎます・・・
配列変数
hairetu[0]
に格納されている数値
と
配列変数
hairetu[1]
に格納されている数値
を交換すると
10234
が
ビルド実行結果に表示されました。
01234から
10234に
変化しています
10234
を見てもお分かりになられますように
配列変数
hairetu[1]
に格納されている数値は0となっていますね
この10234と表示される状態から
配列変数
hairetu[1]
に格納されている数値0
と
配列変数
hairetu[2]
に格納されている数値2
を交換すると
ビルド実行結果に
12034
が表示されるはずですの
配列変数
hairetu[2]
に格納されている数値は0となっていますね。
さらに
この
12034
となっている状態から
配列変数
hairetu[2]
に格納されている数値0
と
配列変数
hairetu[3]
に格納されている数値3
を交換すると
ビルド実行結果に
12304
が表示されるはずですの
このとき
配列変数
hairetu[3]
に格納されている数値は0となっています
さらに
この
12304
となっている状態から
配列変数
hairetu[3]
に格納されている数値0
と
配列変数
hairetu[4]
に格納されている数値4
を交換すると
ビルド実行結果に
12340
が表示されるはずですの
このとき
配列変数
hairetu[4]
に格納されている数値は0となっています
お隣同士の配列変数に格納されている数値を
交換するたびに
01234
10234
12034
12304
12340
と
ビルド実行結果が
変化していくとおもわれます。
よく見ると
0が右へ1つずつ移動しています。」
ソーラー「それでは
実際に
そのプログラムを実行していきたいとおもいます。
#include <stdio.h>
int main(void) {
int hairetu[5];
int i = 0;
for (i = 0; i< 5; i++) {
hairetu[i] = i;
printf("%d", hairetu[i]);
}
/*👆
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
を初期化すると同時に配列変数に格納された数値
0
1
2
3
4
を
printf出力表示するようにしています*/
printf("\n");
//🌞改行しています
int a;
a = hairetu[0];
hairetu[0] = hairetu[1];
hairetu[1] = a;
/*
配列変数
hairetu[0]
と
配列変数
hairetu[1]
に格納されている数値を交換しました*/
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
a = hairetu[1];
hairetu[1] = hairetu[2];
hairetu[2] = a;
/*
配列変数
hairetu[1]
と
配列変数
hairetu[2]
に格納されている数値を交換しました*/
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
a = hairetu[2];
hairetu[2] = hairetu[3];
hairetu[3] = a;
/*
配列変数
hairetu[2]
と
配列変数
hairetu[3]
に格納されている数値を交換しました*/
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
a = hairetu[3];
hairetu[3] = hairetu[4];
hairetu[4] = a;
/*
配列変数
hairetu[3]
と
配列変数
hairetu[4]
に格納されている数値を交換しました*/
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
//🌞改行しています
return 0;
}
ビルド実行結果
01234
10234
12034
12304
12340
ソーラー「ビルド実行に成功!
さらに
このプログラムの
int a;
a = hairetu[0];
hairetu[0] = hairetu[1];
hairetu[1] = a;
/*
配列変数
hairetu[0]
と
配列変数
hairetu[1]
に格納されている数値を交換しました*/
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
a = hairetu[1];
hairetu[1] = hairetu[2];
hairetu[2] = a;
/*
配列変数
hairetu[1]
と
配列変数
hairetu[2]
に格納されている数値を交換しました*/
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
a = hairetu[2];
hairetu[2] = hairetu[3];
hairetu[3] = a;
/*
配列変数
hairetu[2]
と
配列変数
hairetu[3]
に格納されている数値を交換しました*/
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
a = hairetu[3];
hairetu[3] = hairetu[4];
hairetu[4] = a;
/*
配列変数
hairetu[3]
と
配列変数
hairetu[4]
に格納されている数値を交換しました*/
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
の部分を
配列とfor文を用いて短くまとめるとプログラムは
次のようになるね。
#include <stdio.h>
int main(void) {
int hairetu[5];
int i = 0;
for (i = 0; i< 5; i++) {
hairetu[i] = i;
printf("%d", hairetu[i]);
}
/*👆
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
を初期化すると同時に配列変数に格納された数値
0
1
2
3
4
を
printf出力表示するようにしています*/
printf("\n");
//🌞改行しています
int a;
int k;
for (k = 0; k< 4; k++) {
a = hairetu[k];
hairetu[k] = hairetu[k + 1];
hairetu[k + 1] = a;
for (i = 0; i< 5; i++) {
printf("%d", hairetu[i]);
}
printf("\n");
}
return 0;
}
ビルド実行結果
01234
10234
12034
12304
12340
ソーラー「最終的に
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に格納されている数値は
0
1
2
3
4
から
1
2
3
4
0
に変化したわけだね。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます