教えてください!早急!!

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
mj00001

教えてください!早急!!

#1

投稿記事 by mj00001 » 3年前

.csvを入力ファイルとしてx,yの組を読み込みそれぞれの最大値、最小値を表示する。
という問題で、

コード:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
	FILE* fp;
   char infile[] = "sata2.csv";
	double x[1000], y[1000];
	double xmin = 1.0e+100, xmax = -1.0e+100;
	int i, n;

fp = fopen(infile, "r");
if

	for(i=0; i<n; i++){
		if (x[i] < xmin) {
			xmin = x[i];
どうすればいいか手が止まっています。
どなたかご教授ください!!!!

アバター
usao
記事: 1887
登録日時: 11年前

Re: 教えてください!早急!!

#2

投稿記事 by usao » 3年前

例えば私があなたに
「これからいくつかの数値を述べるので,その中での最大値を覚えてください.
 いいですか? では始めます.
 1, 4, 70, -5, 99, 6, ...
 以上です.最大値はいくつでしたか?」
とかいう謎の遊びを持ちかけたとしましょう.

このとき,あなたはどうするでしょう?
…といったことを考えれば良いのではないでしょうか.

例えば… 私が列挙する全ての数値をあなたは記憶するでしょうか? 多分,しませんよね.
全ての数値を覚えなくとも最大値を答えることができるハズです.
ファイルから数値が次々と入力されてくる場合でもやることは一緒じゃないですかね.
ただその手続きをシンプルに実装してみてはどうでしょう.

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 教えてください!早急!!

#3

投稿記事 by みけCAT » 3年前

まずは作るものの仕様をはっきりさせましょう。

まずは入力について。
入力ファイルの「.csv」は
RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files
に準拠したCSVファイルですか?それとも、そのサブセットですか?もしくは、独自の形式ですか?
いずれにしろ、まずはどのような入力を扱うかを決めましょう。
入力されるデータそのものについても仕様を決めないといけないでしょう。
ヘッダ行やその他無視するべき行はありますか?データの長さはどの程度までですか?書式は?
無視するべき行ではないはずなのに、定められた書式に合致しない無効な入力が与えられたらどうしますか?

次に、処理について。
ここは値の大小の比較をどのようにするかを決めるくらいですね。

最後に、出力について。
結果はどのように、どこに表示しますか?
例えば数百桁の入力があったとき、全部そのまま表示するべきですか?それとも上位の数桁だけでいいですか?

などなど。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

返信

“C言語何でも質問掲示板” へ戻る