💖💖💖配列とfor文をつかって配列変数に格納されているデータを変更してみましょう
ソーラー「
次に登場する
配列とfor文をもちいた3つ目の基本的なプログラムは
🍋配列変数に格納されている数値データを書き換えるプログラムです🍋
手始めに
まずは次のプログラムをご覧ください
#include <stdio.h>
int main(void) {
int hairetu[5]={0,1,2,3,4};
int a = 0;
for (a = 0; a < 5; a++) {
printf("%d\n",hairetu[a]);
}
return 0;
}
ビルド実行結果
1
2
3
4
5
ソーラー「このプログラムでは
生成されるint型の配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に
hairetu[0]=0;
hairetu[1]=1;
hairetu[2]=2;
hairetu[3]=3;
hairetu[4]=4;
と数値データが代入されています。
ここで
もし
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に
格納される数値を
0
0
0
0
0
にしたいなら
どうしたらいいと思う?(*´▽`*)」
アレサ「
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に
格納される数値データを
0
0
0
0
0
ですか?
ふ~~~むぅ
次のようなプログラムになるのではないでしょうか?
#include <stdio.h>
int main(void) {
int hairetu[5]={0,1,2,3,4};
hairetu[0]=0;
hairetu[1]=0;
hairetu[2]=0;
hairetu[3]=0;
hairetu[4]=0;
int a = 0;
for (a = 0; a < 5; a++) {
printf("%d\n",hairetu[a]);
}
return 0;
}
ビルド実行結果
0
0
0
0
0
アレサ「
int hairetu[5]={0,1,2,3,4};
を実行して
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に
数値データ
0
1
2
3
4
を格納した後
hairetu[0]=0;
hairetu[1]=0;
hairetu[2]=0;
hairetu[3]=0;
hairetu[4]=0;
を実行することにより
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に
0
0
0
0
0
を格納しています」
ソーラー「
このプログラムの
👇
hairetu[0]=0;
hairetu[1]=0;
hairetu[2]=0;
hairetu[3]=0;
hairetu[4]=0;
👆
ここの箇所が記述が手間になるポイントだね
このプログラムは
配列とfor文を組み合わせれば
もっと簡単に記述できるんだよ。
では
次のプログラムをご覧ください
#include <stdio.h>
int main(void) {
int hairetu[5] = { 0,1,2,3,4 };
/*👆
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に数値データ
0
1
2
3
4
を代入しました
*/
int a = 0;
for (a = 0; a < 5; a++) {
hairetu[a]=0;
printf("%d\n", hairetu[a]);
}
return 0;
}
ビルド実行結果
0
0
0
0
0
アレサ「
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に
0
1
2
3
4
と
格納されている数値が
簡単に
全部0になりましたの」
ソーラー「ははっ
そうさ
とっても簡単だね。
もし
配列変数が10000個あっても
全部の配列変数に格納されている数値を
0に変更することも簡単だね。
では
もし
配列変数
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]
に格納されている数値を
2倍の
0
2
4
6
8
にしたい場合
どうしたらいいと思う?」
アレサ「
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に
格納される数値を
2倍にですか?
それは
次のようなプログラムになるのではないでしょうか?
#include <stdio.h>
int main(void) {
int hairetu[5]={0,1,2,3,4};
hairetu[0]=2*hairetu[0];
hairetu[1]=2*hairetu[1];
hairetu[2]=2*hairetu[2];
hairetu[3]=2*hairetu[3];
hairetu[4]=2*hairetu[4];
int a = 0;
for (a = 0; a < 5; a++) {
printf("%d\n",hairetu[a]);
}
return 0;
}
ビルド実行結果
0
2
4
6
8
ソーラー「そうだね。
このプログラムの
hairetu[0]=2*hairetu[0];
hairetu[1]=2*hairetu[1];
hairetu[2]=2*hairetu[2];
hairetu[3]=2*hairetu[3];
hairetu[4]=2*hairetu[4];
の部分の記述が手間取るかな?
このプログラムも
配列とfor文を組み合わせれば
もっと簡単に記述できるんだよ。
次のプログラムをご覧ください
#include <stdio.h>
int main(void) {
int hairetu[5] = { 0,1,2,3,4 };
/*👆
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
hairetu[4]
に数値データ
0
1
2
3
4
を代入しました
*/
int a = 0;
for (a = 0; a < 5; a++) {
hairetu[a]=2*hairetu[a];
printf("%d\n", hairetu[a]);
}
return 0;
}
ビルド実行結果
0
2
4
6
8
ソーラー「この方法なら
配列変数の数が10000個あっても
配列変数に格納されている数値を2倍に変更して表示するのは簡単だね。
ところで
今のプログラムでは
配列変数に格納されている数値を2倍に変更するのに
for{}文のブロック{}内で
hairetu[a]=2*hairetu[a];
が実行されていました。
配列変数に格納されている数値を2倍+5にしたければ
hairetu[a]=2*hairetu[a]+5;
配列変数に格納されている数値を半分にしたければ
hairetu[a]=hairetu[a]/2;
と
いくらでも簡単に
配列変数に格納されている数値を変更することができるね。
このように
配列とfor文を使えば
配列変数に格納される数値を全部変更するのは
とってもカンタンさ(^_-)-☆」
アレサ「そうですね。 ソーラーさん(*^_^*)」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます