
大学の研究で使うデータ処理で困っています。
Microsoft Visual C++ 2008 Express Editionを使っています。
例えば、10個の値が縦一列に入ったtxtファイルがいくつかあったとして
-5,-3,-2,0,3,4,5,6,7,8,
だった場合には
プラス側の最大値・最小値をそれぞれ求め(この場合、最大は8、最小は3)
マイナス側の最大値・最小値をそれぞれ求め(この場合、最大は-2、最小は-5)
結果として表示される
0,1,2,3,4,5,6,7,8,9,
だった場合には
プラス側の最大値・最小値をそれぞれ求め(この場合、最大は9、最小は1)
マイナス側の最大値・最小値をそれぞれ求め(この場合、最大はありません、最小はありません)
結果として表示される
0,0,0,0,0,0,0,0,0,0
だった場合には
プラス側の最大値・最小値をそれぞれ求め(この場合、最大はありません、最小はありません)
マイナス側の最大値・最小値をそれぞれ求め(この場合、最大はありません、最小はありません)
結果として表示される
といったプログラムを作成したいです。教えてください!
No.1ベストアンサー
- 回答日時:
本当に研究で使うデータ処理なのかなぁ?
こんな単純なデータ処理をして結果を表示するだけなんて研究に使うとは思えない。
むしろ課題を丸投げにしているように見える。
数値が縦一列に入っているということは各数値は改行で区切られているのだから、
ファイルをオープンして一行づつデータを読み取りながら、その数値の正負零を判定し、
(零を除いて)正負それぞれの最大最小を順次残していくようにすればよい。
最後に、残った最大最小の値を表示または非存在を表示する。
大した処理ではないと思われますが。。。
もしC言語が苦手だというのであれば、Excelなどの表計算ソフトのマクロで行っても
たいしたことは無いでしょう。
回答ありがとうございます。
あるデータからあるデータを引いた差分(変化量)が書き込まれた3000個のtxtファイルがあります。
電流 電圧1 電圧2 電圧3
といったように各項目に100個ずつ値が入っています。
それぞれの項目で最大最少を求めて新たなtxtファイルに書き込み、
この先の研究に使おうと思っています。
各項目で大きい順に並べ替えて1番目と100番目を取り出せばいいと思っていたら、
正負の値があったので欲しいデータが得られませんでした。
c言語はとても苦手です。参考にしてやってみます。
No.4
- 回答日時:
テキスト処理を扱うにはawkと言うすばらしい言語があります。
UNIXのものでしたがcygwinにもあります。元々UNIXのコマンドなので簡単にスクリプトを書いて後はマシンにやらせると言う発想のものです(深く考えるより簡単にやってしまう)。
cygwinを導入したして回答します。
cat xxx.txt|awk \
'BEGIN {Pmax=0;Pmin=9999;Mmax=-9999;Mmin=0}
{
if ($1>0) {
if ($1>Pmax) {Pmax=$1}
if ($1<Pmin) {Pmin=$1}
}
if ($1<0) {
if ($1>Mmax) {Mmax=$1}
if ($1<Mmin) {Mmin=$1}
}
}
END {
print "+最大値=" Pmax
print "+最小値=" Pmin
print "-最大値=" Mmax
print "-最小値=" Mmin
}'
※インデンテーションのために全角空白が入っています。
No.3
- 回答日時:
こういってはなんですが.....
なんで苦手なCをわざわざつかうんですか?
あなたがCを苦手、というのもありますが、C言語の方でも、こういう文字列をいろいろと操作するのを比較的苦手としています。
「C言語のプログラムを作る」ということ自体が目的でなければ、あなたができる方法でやればいいです。
特に、こんな一度しか使わないようなものは。
そうですよね。c言語は授業で唯一基礎的なことを習っており、
それ以外に選択肢も知識もなかったので使っていました。
C言語が、こういう文字列をいろいろと操作することを苦手なのは知りませんでした。
No.2
- 回答日時:
最も手軽に実装できる手段は何だろうと
興味が沸いたので少し調べたら
windows7ならpower shellで
== test.txt ==
num
-2
-1
0
1
2
== test.txt ==
と書いたファイルを用意して
> Import-Csv C:\test.txt | Measure-Object num -max -min
Count : 3
Average :
Sum :
Maximum : 2
Minimum : -2
Property : num
って結果が返ってきました。便利だなあ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 2*2の行列に対して固有値の最大実部を与えるkの値を求めたい 3 2022/11/08 16:26
- 数学 最大値最小値の問題について、例題67の(2)の最大値最小値を求める問題って写真の様に5つ書かなければ 7 2022/08/09 10:46
- 数学 高校数学について 関数y=-x^2+2x+c (xは0以上3以下)の最小値が-5であるときの定数cの 1 2022/10/01 09:52
- 統計学 統計学、エクセルがわかりません!解答と詳しい解説をお願いします! (1)それぞれの地域別に記述統計量 9 2022/08/21 16:30
- 数学 中一数学の【最大公約数と最小公倍数】の問題です。 1問だけでも教えていただけると嬉しいです。 (1) 4 2022/08/01 10:19
- 数学 条件付き極値問題といわれる問題です。ラグランジュの乗数法 について、質問したいことがあります。 条件 3 2023/05/15 21:38
- 数学 数学1 二次関数の最大・宰相に関して 1 2023/08/14 10:48
- システム科学 二次関数の最小値について 3 2023/07/29 21:56
- 大学・短大 数学 4 2023/05/08 20:39
- 数学 【高1 数学Ⅰ 二次関数】 二次関数 f(x)=x^2-4ax+8a がある。ただし、aは正の定数と 3 2022/07/23 15:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# PictureBox + panelでのスク...
-
C言語でグラフ作成
-
Excel VBAでグラフをクリックし...
-
積み上げ棒グラフの項目名を細...
-
【VBA】Excel等高線グラフの...
-
excelで散布図に線を追加したい
-
Matlabによる複素数・・・
-
グラフの元のデータを消しても...
-
論文に載せるグラフを作成したい
-
vlan internal allocation poli...
-
onedriveで同期解除をしたら、...
-
USBデータの消失
-
YAHAMA RTXシリーズのコマンド...
-
共有しているファイルを削除し...
-
【VC++】CDC→WMFファイルに保存...
-
teratarmでコマンド入力すると...
-
移動先にないファイルのみをコ...
-
USB内のフォルダが「ファイル」...
-
TXTファイルを上書き保存する前...
-
マイドキュメントのフォルダの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの元のデータを消しても...
-
Excel VBAでグラフをクリックし...
-
Excel VBAで、グラフを特定のセ...
-
VBA グラフの存在の判定について
-
論文に載せるグラフを作成したい
-
Webでのグラフ表示を行うには、...
-
【VBA】Excel等高線グラフの...
-
excelのグラフをLaTexに挿入す...
-
excelで散布図に線を追加したい
-
グラフを「似ている」順に並べ...
-
matlabのy軸を2つ利用したグラ...
-
C#のChartで目盛線をグラフの前...
-
JAVAといってもいろいろあるの...
-
c++での3次元グラフの生成
-
JavaScriptでグラフ
-
True WebChart
-
C言語によるハノイの塔のプログ...
-
Excelマクロでグラフの縦軸目盛...
-
DirectShowでフィルタの削除
-
C言語でグラフ作成
おすすめ情報