• 締切済み

出力値の値を用いて計算する方法

こんにちは。質問させていただきます。 現在、ソートについて勉強しています。 今回は、数字を降順にする方法で数字を並び替えています。 例えば、 ~省略~ int a[10]= {10.30.50.5,4}; ~省略~ ―――――――――――――――――――― 出力値 4 5 10 30 50 のような出力値にすることは出来ました。 その後、この実行結果を元に、最も近い値の差をとりたいと考えています。例えばこの時であれば、 4と5の差が1であるから、「1」次に、5と10の差が5であるから、「5」、10と30の差が20であるから「20」 と値が出るようなプログラムを作りたいと考えています。 実行結果を保存して一番近い値を引き算する方法などがあるのでしょうか? 実行結果を保存して引き算?などのやり方が分からないので教えていただきたいです。よろしくお願いします。

みんなの回答

  • yuu_yuu
  • ベストアンサー率41% (34/81)
回答No.1

>>実行結果を保存して とありますが、ソートするプログラムと、引き算をするプログラムを分けた場合の話でしょうか? 分けた場合の話だと、ソートプログラムでテキストやCSVに書き込みを行い、保存するのが簡単と思います。 http://www5c.biglobe.ne.jp/~ecb/c/c00.html ファイルの入出力は、上記URLが参考になると思います。 また、引き算プログラムで、書き込んだデータを読み込み引き算をすればOKです。 もし、同一プログラムで、ソートした後引き算を行うなら、すでにa[]にソートした結果が保存されているので、 //aの領域は10個用意されてるけど、初期値が5つなので5-1回ループ for(i=0;i<4;i++){  printf("%d\n",a[i+1] -a[i]); } 似たような質問に回答つけたので、リンクしておきます。

参考URL:
http://oshiete1.goo.ne.jp/qa3955784.html

関連するQ&A