課題のヒントを教えていただきたいです

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

課題のヒントを教えていただきたいです

#1

投稿記事 by dress » 1年前

以下のような書式
x1,y1
x2,y2
……

を持つ複数のファイル(n個)がある場合、全てのファイルのy(i)の合計値と平均値を計算し
x1,Σy1,Σy1/n
x2,Σy2,Σy2/n
……
をファイルに出力したいです。
なお
・始めに入力ファイル数をきく
・上記の数だけ開くファイル名をきく
・結果を出力するファイルをきく
を満たすものとする

学校の課題なのですが、急に要求レベルが上がり友人2人と途方に暮れています。
まず何から始めたら良いかすら分からないので、ヒントだけでもいただけないだしょうか。

参照魚
記事: 109
登録日時: 6年前

Re: 課題のヒントを教えていただきたいです

#2

投稿記事 by 参照魚 » 1年前

入力ファイル数を標準入力から受け取り、その数を描画出力で表示するところまでできますか?

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

Re: 課題のヒントを教えていただきたいです

#3

投稿記事 by usao » 1年前

> まず何から始めたら良いか ヒント

何はともあれ,まずは仕様を明確にすること.話次第でやるべきことが変わる可能性があるので.
(不明点は「こういうのはどうなん?」と出題元に問うべし)
例えば,
「複数のファイル間でファイル内のデータの個数が異なっていた場合にはどうするのか?」とか,
「ファイル内のデータ個数の上限は仮定しても良いのか?」とか.
「何かエラーがあったときにはどうするのか?」とか.

実装に関しては,いきなり全てをやれないのであれば,各要素のみを実装して試すことを行うと良かろう.
例えば,
「単一のファイルからデータ(x,y)をあるだけ読込んで表示するだけ」とか.
「何かてきとーにファイルに出力してみるだけ」とか.
「{入力ファイル数n , n個の入力ファイル名 , 結果出力ファイル名}を入力させるだけ」とか.
…そういう必要なのが全部できたならば,あとは組み合わせればいいよね.

dress

Re: 課題のヒントを教えていただきたいです

#4

投稿記事 by dress » 1年前

参照魚 さんが書きました:
1年前
入力ファイル数を標準入力から受け取り、その数を描画出力で表示するところまでできますか?
はい。現状そこだけでしたらなんとか出来るのですが、2行ある数字をどう処理すれば良いかが特に分かりません。

dress

Re: 課題のヒントを教えていただきたいです

#5

投稿記事 by dress » 1年前

usao さんが書きました:
1年前
> まず何から始めたら良いか ヒント

何はともあれ,まずは仕様を明確にすること.話次第でやるべきことが変わる可能性があるので.
(不明点は「こういうのはどうなん?」と出題元に問うべし)
例えば,
「複数のファイル間でファイル内のデータの個数が異なっていた場合にはどうするのか?」とか,
「ファイル内のデータ個数の上限は仮定しても良いのか?」とか.
「何かエラーがあったときにはどうするのか?」とか.

実装に関しては,いきなり全てをやれないのであれば,各要素のみを実装して試すことを行うと良かろう.
例えば,
「単一のファイルからデータ(x,y)をあるだけ読込んで表示するだけ」とか.
「何かてきとーにファイルに出力してみるだけ」とか.
「{入力ファイル数n , n個の入力ファイル名 , 結果出力ファイル名}を入力させるだけ」とか.
…そういう必要なのが全部できたならば,あとは組み合わせればいいよね.
丁寧な説明本当にありがとうございます。何から手をつけて良いかすらわからなかったので、大変参考になりました。まず、簡単で良いから出来ることからやっていこうと思います。

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

Re: 課題のヒントを教えていただきたいです

#6

投稿記事 by usao » 1年前

> 2行ある数字をどう処理すれば

xとyの値を得るところで躓いているとかであれば,
「C言語 カンマ区切り 入力」とか何とか,目の前の問題を表しそうな文言でググる.

参照魚
記事: 109
登録日時: 6年前

Re: 課題のヒントを教えていただきたいです

#7

投稿記事 by 参照魚 » 1年前

2行ある数字をどう処理すれば良いかが特に分かりません。
書式付き入力関数scanfで取得することができます。

コード:

#include <stdio.h>

int main(){

	int	n;

	scanf( "%d", &n );
	printf( "%d\n", n );

	return 0;
}
書式に合わない入力(%dに対して文字や少数)した場合の挙動など考えるべきことはありますが、いったんは骨格を正しく作成して、エラー処理はあとで入れていくでよいと思います。

dress

Re: 課題のヒントを教えていただきたいです

#8

投稿記事 by dress » 1年前

usao様、参照魚様
殆ど丸投げのような内容の私の質問に対して丁寧に回答していただき、ありがとうございます。
まずは簡単な骨格から作っていこうと思います。とりあえずファイルから2行の数字を読み込む処理からやっていこうと思います。

返信

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