質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1245閲覧

ファイルを使ったループに付いて

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2016/06/04 15:12

編集2016/06/05 11:31

削除機能がない為このような形で
削除させて頂きました。

ご回答有難うございました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

こんにちは。

ファイルを使ったループに付いて

C言語で「ファイルを使ったループ」を回すことはあまりないと思います。
また、「1234を100回加算する」問題でファイルを使う必要性が見えません。

マクロ定義で計算処理をすればいいのでしょうか?

その内容でマクロを使う必要性はあまり感じないです。

また こういった計算処理には いくつパターンがあるのでしょうか?

無数にあります。
比較的望ましい解は、たぶん数パターン程度に収束するだろうと思いますが、それを一人で全て洗い出すのは超人的と思います。

自分でそのパターン(while文でも出来るしfor文でも出来るけど ソースコードは短めに

簡潔にしたいので その場合はこっちを使おうといった考察)を見つけられると一番いいのでしょうが・・・

for文を使う方法、while文を使う方法等、たくさん書いてみるしかないと思いますよ。
その中でご自身の経験の範囲内でベストと思う方法を残したものがututunyancoさんの解です。
そして、他の人の解と比べると色々得ることができると思います。


【追加された質問への回答】

(インクルード部分は 投稿したところコメントが巨大化し勝手にボーダーで区切られてしまったので コメントアウトしました)

teratailの質問と回答は、文字を色々修飾できるMarkdown記法が使えます。その機能でそのようになります。ヘルプを見てみて下さい。特に「コードを入力」の部分です。

一日3939円貯金

100万円貯めるのに何日かかるか計算する
出力は日毎に貯金額がわかるように工夫
実行結果はmoney.txtファイルに出力

ああ、これがきっと正しい問題文ですね。もしそうなら、ご自分の文章として書くのはまじで失礼ですよ。


さて、考え方を整理した方が良いようです。

①問題文は入力ファイルについて全く触れていません。ですので、入力ファイルをオープンする必要はないと思います。

②問題のパラメータ(入力)を整理しましょう?
毎日3,939円貯金して100万円貯まるのにかかる日数を求めるのですよね?
「何日目」という数を一度だけdaycountへ入力してますが、日数を求めるよう指示されてますので、これは入力ではなく出力ですよ。

③問題を読んで 金額のループと日数のループの為 for文のネストを思いついたのですが・・・
なぜ、for文を2つ使うのでしょうか? よく考えてみましょう。
問題文によると、毎日1回、「3,939円貯金を増やし その時溜まっている金額を出力」します。

2重ループは、毎日、「「3,939円貯金を増やし その時溜まっている金額を出力」を複数回行う」ような時に使います。今回、貯金する行為は毎日1回だけですよ。

投稿2016/06/04 15:40

編集2016/06/05 01:36
Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/06/04 16:01

迅速なご回答 有難う御座います。(*^^*) 某動画についたコメントを見ても確かにfor文を使ったという コメントは少なかったように思います。 動画をアップした方がどういう意図で制作された問題なのか解りかねますし まるまんま出題問題をこちらに記述して良いのか迷い 例を書きました。 元々の問題は ファイルのINOUTや入出力関数等を用いて今までUpされた 問題を織り交ぜて解いてみてほしいとの事だったのでしょうが 何分問題文章に 1234(数字は例の為あくまで適当なものです)を100万までになるまで 何回(←この部分も例の為変えてあります)かかるかといった内容のみで 付いたコメントも迷っていた方が多かったように思います。 その為そんなにもパターンがあるのかと では一体出題者は何文を使えば正解と したいのだろうと 出題問題に悩んでしまいました。
Chironian

2016/06/04 16:49

プログラムの場合「仕様」を満たすものは全て「正解」です。 もちろん、「正解」にはより望ましいものやあまり望ましくないものがありますが、「ベスト」は事実上存在しません。 > まるまんま出題問題をこちらに記述して良いのか迷い 例を書きました。 公開されている動画でしたら、出典を明記して引用する分には問題ないですよ。
退会済みユーザー

退会済みユーザー

2016/06/04 20:16 編集

有難うございます(*^^*) そうなんですね 質問を書き直してみます。
Chironian

2016/06/05 01:00

引用する際には下記の点に注意しましょう。 ①引用元文献を特定できること  今回の場合はニコニコ動画の該当動画へのリンク等を貼るべきかと。  出典をぼかすと折角有用な情報を公開してくれている方に対して失礼ですよ。 ②元の資料の意味が変わるような引用はアウトです  ですので、省略はまだしも修正はよくないです。  ututunyancoさんの解釈に従って編集し、その結果公開者の意図する意味と異なってしまうと最悪です。非常に失礼です。  ですので、一字一句そのまま引用することをお勧めします。  ututunyancoさんが記述した問題文から引用した解答を導くことに無理を感じます。「結果をファイルへ出力せよ」のような文が漏れているということはないですか? 修正された質問へは後ほど、回答文の方へ回答します。少々お待ち下さい。
退会済みユーザー

退会済みユーザー

2016/06/05 11:49 編集

①について リンクを貼っても良かったのですが その方の動画も某アニメキャラ を使用してプログラミングの学習動画を作られていますので 著作権上伏せるしかありませんでした。 ②修正はしておりません 抜粋であり ソースコードの間の省略部分はただ 書いていないだけです。 要は ソースコード上(ファイルオープンし 計算処理と結果を画面に表示したあと ファイル保存クローズする)という 入出力ストリームについての質問です。   タイトル等を含め わかりずらさがあったと思います すみません。 動画をそのまま添付することはニコ動の共有でURLをコピペすればいいだけですが 有用な内容を上げて下さっている主さんに迷惑がかかると思いました。 ご理解頂けないようでしたら 質問は削除させて頂います。 ご回答 有難うございました。
Chironian

2016/06/05 12:54

引用のルール上、出典を明記することは重要ですから、それができない場合は引用しないことしか選択できないです。ならば、削除はやむを得ないかも知れませんね。 次に元々の問題文を修正されたわけでないのであれば、私の方こそ失礼な物言いをしてしまいました。申し訳ございません。 > ご理解頂けないようでしたら これは私の理解とは無関係です。著作者に対して失礼な行為は著作人格権を犯している可能性があるので、それをご指摘させて頂いたものです。(著作人格権には誰のものか表示する権利と意図に反して修正されない権利が含まれていますから。) 削除されましたので著作権上の問題はでないのではないかと思います。
退会済みユーザー

退会済みユーザー

2016/06/05 15:02

>これは私の理解とは無関係です。 失礼ですが 私の書かせて頂いたのは著作権であり 人格権ではありません。 著作人格権であれば 個人でキャラ流用した動画主についてとキャラ元の製作者に 対する二重権が発生します。 元々のプログラム学習動画はあくまで一般個人がキャラ仕様の上制作しニコ動に上げているものと思われますので 細かいディテールでの表現を避けることはやむおえないものであったと考えます。そのことについてのご理解という意味だったのですが・・ こちらの趣旨を上手く伝えられず 申し訳ございません。  ご回答 有難うございました。
guest

0

ベストアンサー

質問を削除させて頂きましたので 自己解決済とさせて頂きます。

投稿2016/06/05 11:32

編集2016/06/05 11:33
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問