学校の課題なのですが、配列に格納された10個の整数の中から、最大値、最小値を表示するというプログラムです。
#include <stdio.h>
main(void)
{
int d[10]={11,64,98,56,34,77,23,82,42,48};
int i,j,w;
for(i=0;i<9;i++){
for(j=9;j>=i+1;j--){
if(data[j]<data[j-1]){
w=data;
data=data[j];
data[j]=w;
}
}
}
for(i=0;i<10;i++){
printf("data[%2d]=%5d\n",i,data);
}
return 0;
}
ここまで作ってみたのですが、どのように最少、最大を表示すればいいですかね
無題
Re:無題
>w=data;
>data=data[j];
>data[j]=w;
この処理がどういうものか理解していますか?
少なくとも今の課題では必要ないかと思います。
例えば最大値を考えると
こんな感じに、if文でmaxの値より大きいときmaxにその時の値を代入するようにしていき、
最後にmaxの値を表示するようにすればいいと思います。
やっくんさんの
><Pre>~</Pre>で囲むと綺麗にインデントしますよ。<>←半角で。
に追加で、もとのプログラムがきちんとインデントされていないとプレタグで囲んだだけではきれいに表示されません。
>data=data[j];
>data[j]=w;
この処理がどういうものか理解していますか?
少なくとも今の課題では必要ないかと思います。
例えば最大値を考えると
int max; max = data[0]; for(i=1;i<10;i++) if(max < data) max = data; printf("max:%d\n",max);
こんな感じに、if文でmaxの値より大きいときmaxにその時の値を代入するようにしていき、
最後にmaxの値を表示するようにすればいいと思います。
やっくんさんの
><Pre>~</Pre>で囲むと綺麗にインデントしますよ。<>←半角で。
に追加で、もとのプログラムがきちんとインデントされていないとプレタグで囲んだだけではきれいに表示されません。
Re:無題
課題を出した先生の立場から考えると、これは、ソートの課題なのでしょうか?
ユーリさんは、このソートで解く方法を自分で考えたのでしょうか?
第3者の立場で見ますと、自分で考えたとは思えません。なぜならノーヒントで
ソートの方法を考えられるのであれば、このような質問はしません。
とすると、授業でソートについて習ったかどうかが重要だと思います。習いましたか?
しかし、課題の問題文だけを読むと、ソートをした後でというニュアンスがありません。
結論から言えば、先生はソートをせずに最大と最小を求めろという課題を出したのだと
思います。
やり方についてはpookaさんが答えを示されています。そのメッセージをスルーして
いるのはなぜでしょうか?
ユーリさんは、このソートで解く方法を自分で考えたのでしょうか?
第3者の立場で見ますと、自分で考えたとは思えません。なぜならノーヒントで
ソートの方法を考えられるのであれば、このような質問はしません。
とすると、授業でソートについて習ったかどうかが重要だと思います。習いましたか?
しかし、課題の問題文だけを読むと、ソートをした後でというニュアンスがありません。
結論から言えば、先生はソートをせずに最大と最小を求めろという課題を出したのだと
思います。
やり方についてはpookaさんが答えを示されています。そのメッセージをスルーして
いるのはなぜでしょうか?