課題4

以下の条件を満たすプログラムを作ってください。

関数とポインタと参照で触れた並べ替えのプログラムを作ってください。

3 11 10 40 43 50

3 10 11 40 43 50

に並べるプログラムを作ってください。


条件1:

プログラム中で

int data[]={3, 11, 10, 40, 43, 50};

として配列を定義してください。

 

条件2:

以前出てきたswap関数を使ってください。

 

条件3:

for文、while文、又はdo-while文のいずれかを使ってください。

 

条件4:

if文を使ってください。

 

提出方法

ソリューションのフォルダを

ユーザ名-ex4

として提出してください。


ヒント:

for文はfor文の中に更にfor文を書くことが出来ます。以下の例を見てください。

for(int i = 0; i < 10; i++)
{
    for(int t = 0; t < 10; t++)
    {
        printf("a");
    }
}

この例では、”aを10回表示する”ことを10回繰り返します。

並べ替えではこのような2重の繰り返しが必要になるでしょう。

 

更にヒント:

if(data[0] > data[1]) swap(data[0], data[1]);

は、配列の始めの要素と2番目の要素を比較して、始めの要素が大きいとき、内容を入れ替えます。これを他の要素についても繰り返すと・・・・・。

 

出来たら次へ進みましょう。