💖💖💖配列と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文を使えば


配列変数に格納される数値を全部変更するのは


とってもカンタンさ(^_-)-☆」


アレサ「そうですね。 ソーラーさん(*^_^*)」

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る