配列変数に格納されている数値同士を比較するプログラムを実行してみよう💖💖💖

ソーラー「今日はどこまで進もうかな?


まずは


次のプログラムをご覧ください)


#include <stdio.h>


int main(void) {


int hairetu[5];


hairetu[0] = 0;

hairetu[1] = 1;

hairetu[2] = 2;

hairetu[3] = 3;

hairetu[4] = 4;


int i = 0;


for (i = 0; i< 5; i++) {

printf("%d", hairetu[i]);

}



printf("\n");

//🌞改行しています


return 0;

}


ビルド実行結果


01234


ソーラー「このとき


配列変数

hairetu[0]

には

0が

配列変数

hairetu[1]

には

1が代入されています。


もちろん


配列変数

hairetu[1]

に格納されている数値1のほうが

配列変数

hairetu[0]

に格納されている数値0

より

おおきいよね。」


ソーラー「ここで


配列変数

hairetu[0]

に格納されている数値



配列変数

hairetu[1]

に格納されている数値


を比較するプログラムを


if文を用いて


実行してみたいと思います。


そのプログラムは以下のようになるかな

👇


#include <stdio.h>


int main(void) {


int hairetu[5];


hairetu[0] = 0;

hairetu[1] = 1;

hairetu[2] = 2;

hairetu[3] = 3;

hairetu[4] = 4;


int i = 0;


for (i = 0; i< 5; i++) {

printf("%d", hairetu[i]);

}



printf("\n");


if (hairetu[0] <= hairetu[1]){


printf("%d\n", hairetu[1]);


}


return 0;

}


ビルド実行結果


01234

1


ソーラー「このプログラムは


配列変数hairetu[1]に格納されている数値が


配列変数hairetu[0]に格納されている数値より


大きければ


配列変数hairetu[1]に格納されている数値を


表示するプログラムなんだよ。


もし


配列変数hairetu[1]に格納されている数値が


配列変数hairetu[0]に格納されている数値より


小さければ


何も表示されないんだよ。」


アレサ「簡単ですの」


ソーラー「では


次は


配列変数hairetu[1]に格納されている数値が


配列変数hairetu[0]に格納されている数値より


大きければ


配列変数hairetu[1]



配列変数hairetu[0]


を代入した後


配列変数hairetu[1]に格納されている数値をprintf出力表示し


(つまり 


配列変数hairetu[1]に格納されているより数値1


小さい方の


配列変数hairetu[0]に格納されている数値0が


コマンドプロンプト画面にprintf出力表示されることになります


solarplexussより)


配列変数hairetu[1]に格納されている数値が


配列変数hairetu[0]に格納されている数値より


小さければ


そのまま


配列変数hairetu[1]に格納されている数値を


printf出力表示するプログラムを実行してみたいと思います



#include <stdio.h>


int main(void) {


int hairetu[5];


hairetu[0] = 0;

hairetu[1] = 1;

hairetu[2] = 2;

hairetu[3] = 3;

hairetu[4] = 4;



int i = 0;


for (i = 0; i< 5; i++) {


hairetu[i] = i;


printf("%d", hairetu[i]);

}


printf("\n");


if (hairetu[0] <= hairetu[1]) {


hairetu[1] = hairetu[0];


printf("%d\n", hairetu[1]);


}


else


printf("%d\n", hairetu[1]);


return 0;


}


ビルド実行結果


01234

0


アレサ「


配列変数hairetu[0]に格納されている数値が0

配列変数hairetu[1]に格納されている数値が1


の状態では


if (hairetu[0] <= hairetu[1]) {


hairetu[1] = hairetu[0];


printf("%d\n", hairetu[1]);


}



if文の条件式


hairetu[0] <= hairetu[1]


を満たしているので


hairetu[1] = hairetu[0];


printf("%d\n", hairetu[1]);


が実行されることになります。


printf("%d\n", hairetu[1]);



実行結果は


hairetu[1]にhairetu[0]の格納している数値0が代入されているので


0


となっています。」


ソーラー「そうなんだ


       🍋配列変数hairetu[0]に格納されている数値🍋


               と


       🍋配列変数hairetu[1]に格納されている数値🍋


を比較して


配列変数hairetu[1]に格納されている数値のほうが1と大きいので


  🍓配列変数hairetu[0]に格納されている小さい方の数値0が🍓


コマンドプロンプト画面にprintf出力表示されたわけだね。



では逆に



配列変数hairetu[0]に格納されている数値が1で

配列変数hairetu[1]に格納されている数値が0


なら


ビルド実行結果はどうなるかな?


#include <stdio.h>


int main(void) {


int hairetu[5];


hairetu[0] = 1;

hairetu[1] = 0;

hairetu[2] = 2;

hairetu[3] = 3;

hairetu[4] = 4;

/*🌞🌞🌞hairetu[0] には1がhairetu[0] には0が代入されています*/



int i = 0;


for (i = 0; i< 5; i++) {


hairetu[i] = i;


printf("%d", hairetu[i]);

}


printf("\n");


if (hairetu[0] <= hairetu[1]) {


hairetu[1] = hairetu[0];


printf("%d\n", hairetu[1]);


}


else


printf("%d\n", hairetu[1]);


return 0;


}


ビルド実行結果


01234

0



ソーラー「このプログラムでは


配列変数hairetu[1]に格納されている数値が


配列変数hairetu[0]に格納されている数値より


小さいので


if (hairetu[0] <= hairetu[1]) {


hairetu[1] = hairetu[0];


printf("%d\n", hairetu[1]);


}


の条件式の


hairetu[0] <= hairetu[1]


を満たしていないので


else(代わりに)


printf("%d\n", hairetu[1]);


が実行されることになります。


hairetu[1]に格納されている数値は0だったので


ビルド実行結果は0になります。



        🍋配列変数hairetu[1]に格納されている数値🍋


                と


        🍋配列変数hairetu[0]に格納されている数値🍋


                を


          比較して小さい方の数値


     🍓配列変数hairetu[1]に格納されている数値🍓



printf出力表示されています




           つまり




配列変数hairetu[0]に格納されている数値が0

配列変数hairetu[1]に格納されている数値が1


の場合でも


配列変数hairetu[0]に格納されている数値が1

配列変数hairetu[1]に格納されている数値が0


の場合でも


常に


小さい方の数値


コマンドプロンプト画面に表示されることになります。


いつでも


配列変数に格納されている小さい方の数値


コマンドプロンプト画面に表示することができるってわけなんだね。


このプログラムを実行すれば


もし


配列変数hairetu[0]に格納されている数値

配列変数hairetu[1]に格納されている数値


がわかっていなくても



配列変数に格納されている小さい方の数値


コマンドプロンプト画面に表示することができるんだ。



このプログラムが


🌞配列変数に格納されている数値同士の大きさを比較する基本的なプログラム🌞


となっているんだよ


逆に


配列変数hairetu[0]に格納されている数値

配列変数hairetu[1]に格納されている数値


のうち


大きい方の数値を


コマンドプロンプト画面に表示したければ


今のプログラムの


if else文を


if (hairetu[0] <= hairetu[1]) {


printf("%d\n", hairetu[1]);


}


else{


hairetu[1]=hairetu[0];


printf("%d\n", hairetu[1]);

}

に変更すれば


配列変数hairetu[0]に格納されている数値

配列変数hairetu[1]に格納されている数値


のうち


大きい方の数値を


コマンドプロンプト画面に表示することができます



配列変数hairetu[0]に格納されている数値を0

配列変数hairetu[1]に格納されている数値を1


として


その場合のプログラムを実行してみます。

👇

#include <stdio.h>


int main(void) {


int hairetu[5];


hairetu[0] = 0;

hairetu[1] = 1;

hairetu[2] = 2;

hairetu[3] = 3;

hairetu[4] = 4;




int i = 0;


for (i = 0; i< 5; i++) {


hairetu[i] = i;


printf("%d", hairetu[i]);

}



printf("\n");


if (hairetu[0] <= hairetu[1]) {


printf("%d\n", hairetu[1]);


}


else {


hairetu[1]=hairetu[0];


printf("%d\n", hairetu[1]);

}


return 0;


}


ビルド実行結果


01234

1


アレサ「


配列変数hairetu[0]に格納されている数値0

配列変数hairetu[1]に格納されている数値1


のうち大きい方の数値1がコマンドプロンプト画面に表示されました。」


ソーラー「やったね。


今度は


配列変数hairetu[0]に格納されている数値を1

配列変数hairetu[1]に格納されている数値を0


に変更したプログラムを


実行してみようかな


ちゃんと


配列変数hairetu[0]に格納されている大きい方の数値1



コマンドプロンプト画面に表示されるかな?」


#include <stdio.h>


int main(void) {


int hairetu[5];


hairetu[0] = 1;

hairetu[1] = 0;

hairetu[2] = 2;

hairetu[3] = 3;

hairetu[4] = 4;


/*配列変数hairetu[0]に格納されている数値を1に

配列変数 hairetu[1]に格納されている数値を0に変更しました*/


int i = 0;


for (i = 0; i< 5; i++) {


hairetu[i] = i;


printf("%d", hairetu[i]);

}



printf("\n");


if (hairetu[0] <= hairetu[1]) {


printf("%d\n", hairetu[1]);


}


else {


hairetu[1]=hairetu[0];


printf("%d\n", hairetu[1]);

}


return 0;


}


アレサ「この場合でも


配列変数hairetu[0]に格納されている数値1

配列変数hairetu[1]に格納されている数値0


のうち大きい方の数値1が表示されました。」


ソーラー「このプログラムは


配列変数hairetu[0]に格納されている数値

配列変数hairetu[1]に格納されている数値


を比較して


大きい方の数値を表示するプログラムというわけだね。」




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

作者を応援しよう!

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

応援したユーザー

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