1 名前:デフォルトの名無しさん [2008/04/15(火) 23:07:41 ] あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。 【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう. ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク):() [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ 【前スレ】 C/C++の宿題を片付けます 104代目 pc11.2ch.net/test/read.cgi/tech/1202135539/
175 名前:デフォルトの名無しさん [2008/04/20(日) 21:15:18 ] >>164 をお願いします・・
176 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:15:32 ] >>167 すまん、ググってみたが確かなソースにたどり着けなかった
177 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:21:58 ] >>175 aとbを入力する場合 #include <stdio.h> int main(void) { int a, b; scanf("%d", &a); scanf("%d", &b); a -= b * 9; if(a < 0) return 0; printf("チーム数:%d\nあまり:%d\n", a / 6, a % 6); return 0; }
178 名前:デフォルトの名無しさん [2008/04/20(日) 21:24:15 ] >>177 ありがとうございます
179 名前:デフォルトの名無しさん [2008/04/20(日) 21:27:15 ] >>177 if を使わないではできませんか?
180 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:30:10 ] #include<stdio.h> void main (void) { int a,b,c,d,e; printf("人数入力:"); scanf("%d",&a); printf("野チーム数:"); scanf("%d",&b); c=a-(b*9); d=c/6; e=c%6; printf("人数:%d 野数:%d バレ数:%d 余:%d",a,b,d,e); } だめ?
181 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:42:33 ] if文削除すればいいだけだろ。 野球チーム数多すぎた場合変なことになるけど。
182 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:05:37 ] [1] 授業単元:プログラミング演習1 [2] 問題文(含コード&リンク): キーボードからABCDと円周率を入力して「ABCD3.14と」表示させるプログラム 変数は1つで [3] 環境 [3.1] OS:問わず [3.2] コンパイラ名とバージョン:VC++6.0 [3.3] 言語:C++だけど基本範囲? [4] 期限:[2008年04月21日23:59まで] [5] その他の制限:基本領域なのでstdio.hのみ よろしくお願いしますm(__)m
183 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:08:50 ] C++なのにstdio.hでいいんだな?別にやっちゃいけないわけじゃないけどいいんだな?
184 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:11:23 ] C++ならcstdioだろうな。
185 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:12:41 ] それより問題文が意味不明なのだが
186 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:24:21 ] >ABCDと円周率 と入力すると >ABCD3.14と になるように変換すればいいんだろ 円周率という文字を3.14に置き換えて、「と」を後ろにすればいいんじゃないかな?
187 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:31:52 ] >>182 できた。 #include <stdio.h> int main() { char buf[100]; scanf("%s", buf); puts("ABCD3.14と"); return 0; }
188 名前:182 mailto:sage [2008/04/20(日) 23:58:08 ] >>183-187 素早いレスサンクス。 >>183-184 stdioで桶です >>185-186 プロセスとしては 起動>入力「ABCD」>入力「3.141592653」で 出力「ABCD3.14」 入力ミスで「」のなかに と を入れてしまいますたorz >>187 ので通るかどうか…多分先生笑顔で×くれてきそう(涙
189 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:00:25 ] なんてくだらない設問なんだ。
190 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:04:44 ] >>188 文字列と小数に関する入力・出力の課題というわけだな。 しかし、 > 変数は1つで この条件はマジ?
191 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:22:16 ] >>182 #include <stdio.h> void main() { char buf[16]; gets(&buf[0]); gets(&buf[4]); buf[8] = '\0'; puts(buf); }
192 名前:182 mailto:sage [2008/04/21(月) 00:31:51 ] >>190 マジですorz
193 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:33:39 ] >>182 できた。 #include <stdio.h> int main() { char buf[100 + sizeof(float)]; scanf("%s", buf); scanf("%f", buf+100); printf("%s%.2f\n", buf, *(float*)(buf+100)); return 0; }
194 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:19:26 ] >>182 これで基本? #include<stdio.h> int main(void) { char buf[100+1]; setvbuf(stdout, NULL, _IOFBF, 1024); fprintf(stderr, "入力「ABCD」>", buf); scanf("%100s", buf); printf("%s", buf); fprintf(stderr, "入力「3.141592653」>", buf); scanf("%lf", buf); printf("%.2f\n", *(double*)buf); fflush(stdout); return 0; }
195 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:35:07 ] 139 名前:デフォルトの名無しさん 投稿日:2008/04/20(日) 14:42:29 >>138 普通、EOFは入力できないのだが。 < 出来るんだが・・・ 141 名前:デフォルトの名無しさん 投稿日:2008/04/20(日) 15:03:54 いいえ、それは一部の環境において入力を閉じる行為です。 < 話が分かってない・・・
196 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:37:55 ] EOFっていったら普通Ctrl-Dで入力だな
197 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:44:35 ] EOFがキーボードから入力できないとしても、どのファイルには ファイルの終わりを意味するEOFコードが記録されていますし それを入力受付として使うことも可能ですが何か?w これだから初心者、素人は・・・ナンバーサイン野郎の妄想に惑わされるなよ。
198 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:49:57 ] あと、そいつが言っているのはEOF対策として、freadが指定したFILEストリームから 指定したポインタへ取り込まないという性質についてだろ?だったら最初から EOFが 入力 出来ないという勘違いは言わなきゃ良かったんだよ。 言いたいことが相手に的確に伝えられない、誤解を生じさせて損をして生きている奴って 世の中普通にいるしなw こんなところでだから、見ず知らずの人に理解してもらおうと 必死になったんだろうけど、それを相手のエスパーで理解してもらわなきゃ通じないって どんだけコミュニケーションが下手なんだよ、ナンバーサイン君は?
199 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 11:35:31 ] ナンバーサイン君って誰?
200 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:01:24 ] いちいち蒸し返すなよ
201 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:22:47 ] [1] 授業単元: プログラミング実習 [2] 問題文 数学関数を使って,0以上10未満の範囲で平方根(sqrt)の対応表を出力しなさい.小数点の刻みを0.01とすること. [3] 環境 [3.1] OS:Windows/Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 4/22
202 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 13:45:07 ] #include <stdio.h> #include <math.h> int main(void) { double a; for(a=0; a<10; a+=0.01) printf("√%.2f = %f\n", a, sqrt(a)); return 0; } って書くと減点されるんだろうな。
203 名前:デフォルトの名無しさん [2008/04/21(月) 14:56:39 ] >>202 負の方が表示されないからな。 >>201 #include <stdio.h> #include <math.h> int main() { int i; for(i=0;i<1000;i++) printf("√%.2f = %f, -%f\n",i/100.0,sqrt(i/100.0),sqrt(i/100.0)); return 0; }
204 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:03:24 ] >>203 負?フッ
205 名前:デフォルトの名無しさん [2008/04/21(月) 15:25:35 ] sqrt()2回とかw
206 名前:182 mailto:sage [2008/04/21(月) 15:30:31 ] >>192-194 作成ありがとうございます。 先生に出したら一つめの方がやり直し、二つ目は「同時に表示できてないな(藁」 とあっさり×&デコピンを頂戴致しました(泣 文字列と小数を同時ディスカ・・・orz
207 名前:デフォルトの名無しさん [2008/04/21(月) 15:35:03 ] >>182 は何を意図した問題なのかさっぱりわからん。
208 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:35:07 ] >>206 #include <stdio.h> struct hoge{ char str[100]; double value; }; int main(void){ struct hoge foo; scanf("%s", foo.str); scanf("%lf", &foo.value); printf("%s%.2f\n", foo.str, foo.value); return 0; }
209 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:42:37 ] エスパーktkr
210 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:52:59 ] >>206 >>194 は同時に表示するはずだが…
211 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 17:23:33 ] >>208 変数3つ使ってるじゃん
212 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 17:24:59 ] >>211 三つってどれ?
213 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:46:48 ] >>173 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6296.c 要望どおりに変更してみたが、ちゃんとチェックしてないので手痛いミスがあるかもしれん >>あとオーバーフローチェックのところのLLONG_MAXが使用されてなく >>エラーが出てしまいます いまんいち意味がわからない コンパイルできないなら、その部分削除したらいいよ ためしにカッコつけて入れてみただけだから
214 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:50:32 ] >>212 char double struct hoge
215 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:12:55 ] それは変数じゃなくて型名
216 名前:154 mailto:sage [2008/04/21(月) 20:13:52 ] >>111 当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6298.txt プログラミングにあたっては、次を参照しました。 ja.wikipedia.org/wiki/%E9%96%8B%E5%B9%B3%E6%B3%95 この説明にそって書いたのですが、どうやらわかりにくくなってしまったようです。 >>159 >ここ、宿題スレ。 #これは失礼。では宿題をときながらではいかが? >getchar() が使われているんだが??? #たしかに getchar() の返り値を int で受けていない、EOF をチェックしてない、など些細ですがまずいところはありますね。 >>197 >どのファイルにはファイルの終わりを意味するEOFコードが記録されていますし #いいえ、記録しておく必要はありませんし記録していません。 #>>139 の記述がおおむね正しいのです。 >>200 >いちいち蒸し返すなよ #ごめんなさい。宿題解きながらということで、ご勘弁ください。
217 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:18:12 ] >>216 バカか・・・んじゃどうしてプログラムはEOFを検出して動作したんだ?ん? お前は入力は 印字可能な文字 のみだと思ってんの?w コンピュータ、電子計算機がやっている基本だよ、入出力って。 その中に人間が決めた定義、その中にEOFも改行コードなども 印字不可能でも存在するデータがあるんだがw いい加減失せろ、ナンバーサインバカw
218 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:19:01 ] 蒸し返すな!値を返せ!by return
219 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:20:18 ] www.google.co.jp/search?hl=ja&client=firefox&rls=org.mozilla%3Aja%3Aofficial&hs=o5t&q=EOF+%E5%85%A5%E5%8A%9B&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja 普通にEOFの入力が可能です、ありがとうございました。
220 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:22:51 ] リダイレクトも知らなさそうだな、ナンバーサインは・・・
221 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:24:03 ] そんなことよりコナン観ようぜ
222 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:27:20 ] [1] 授業単元:アルゴリズムとデータ構造 [2] 問題文:jubilo.cis.ibaraki.ac.jp/~isemba/PROGRAM/CPROG/214.pdf 6.課題を全て [3] 環境 [3.1] OS:Windows [3.3] 言語:C [4] 期限:4月27日まで [5] 問題のプログラムの赤枠を埋める感じでお願いします。 どなたかよろしくお願いします。
223 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:40:10 ] ここに投稿したことたぶんバレるぞ
224 名前:デフォルトの名無しさん mailto:age [2008/04/21(月) 22:22:31 ] [1] 授業単元:OSプログラミング入門 [2] 問題文:OSにおけるセキュリティーホールを検出するプログラムを作成せよ [3] 環境 [3.1] OS:Windows [3.3] 言語:C [4] 期限:4月27日まで [5] セキュリティーホールが発見された場合は自動で修正するように 機能を付けること
225 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:31:51 ] ねーよw
226 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:03:20 ] ゲイツ自重wwwwwwww
227 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:05:39 ] #include<stdio.h> int main(void) { int a = 5, b = 3; double d; d =(int)(((double)a / b) + 0.5)); printf("%f\n", d); return 0; } これで何故かエラーがでるんですがどこがおかしいのでしょうか?
228 名前:111 mailto:sage [2008/04/21(月) 23:07:21 ] >>154 丁寧なレスありがとうございます。 本当に助かりました。 せっかくなので頑張って解読してみます!
229 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:10:51 ] >>227 VIPで聞けばいいじゃん あとどんなエラーが出てるのか位書かないと答えようが無い まあどうせ)とかだろうけど
230 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:11:18 ] d =(int)(((double)a / b) + 0.5)); ) が一個余分
231 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:12:21 ] 7行目にステートメント;がないといわれます。
232 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:37:24 ] >>206 じゃあ次は>>191 を提出してみましょう
233 名前:デフォルトの名無しさん [2008/04/21(月) 23:42:01 ] [1] 授業単元: C++ [2] 問題文 サイコロのプログラムをつくりなさい [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: borland C++ 5.5.1 for win [3.3] 言語: C++ [4]特になし、長いので分けて書きます。 #include<iostream> #include<cstdlib> #include<ctime> using namespace std; Class Dice{ int face; int value; public: Dice(int f) { face=f; srand((unsigned)time(NULL)); value=rand()%face+1; } Dice() { face=6; srand((unsigned)time(NULL)); value=rand()%face+1; }
234 名前:デフォルトの名無しさん [2008/04/21(月) 23:45:11 ] >>233 の続きです void throwDice() { srand((unsigned)time(NULL)); value=rand()%face+1; } int read() { return value; } } int main() { Dice d6; Dice d10(10); d6.throwDice(6); d10.throwDice(); cout<<"6面体の目:"<<d6.read()<<endl; cout<<"10面体の目:"<<d10.read()<<endl; return 0; } エラー2141 dice2.cpp5:宣言の構文エラーとでます ソースの問題でしょうか? お願いします
235 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:48:31 ] >>233 Classじゃなくてclass 小文字だよ。
236 名前:デフォルトの名無しさん [2008/04/22(火) 00:04:22 ] throwDice()にsrand()はいらないだろ。
237 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:07:19 ] 素早く振ると同じ目ばかり出るよな。 さらに言えば、コンストラクタでもsrandしないほうがいい。 mainで1回だけやればいい。
238 名前:デフォルトの名無しさん [2008/04/22(火) 00:11:39 ] Main関数で5つの整数を読み込み, その平均(double)を 画面に出力するプログラムです また5つの引数を受け取り, 平均を返す関数mean_calc5(・・・) を呼び出し,返された平均値をmain関数で画面出力すること C言語です お願いします
239 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:16:12 ] >>238 >1
240 名前:デフォルトの名無しさん mailto:¥sage [2008/04/22(火) 00:16:23 ] >>235 ありがとうございます。 またうっかりミスです。 >>236 >>237 ご指摘ありがとうございます。 <問題>の部分で省略したのですが オブジェクト指向で 物体としてのサイコロをプログラムで作りなさいという項目 があったので、あえてコンストラクタでsrandをいれました。 実際のサイコロも置いた瞬間に目がででいるという事だそうです
241 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:19:27 ] >>222 当方で確認した環境は WindowsXP, 処理系はcygwin(gcc 3.4.4) です。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6299.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6300.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6301.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6303.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6304.txt 最後の2つは、私は出題者の狙いをはっきりとは汲み取ることができませんでしたので、もしかするとはずれているかもしれないこと、ご容赦ください。 >>217 >その中にEOFも改行コードなども印字不可能でも存在するデータがあるんだが ##では、実際にファイルを覗いて見てください。 ##1) すべてのファイルに共通の EOF がありますか? ##2) あなたの環境の include\stdio.h にある EOF はどう define されていますか?それがすべてのファイルの末尾におかれていますか? ##私の環境では #define EOF (-1) ですが、すべてのファイルの末尾 1 バイトが -1 = 0xffというわけではありません。 ##3) ^D や ^Z の値が -1 なのでしょうか? >>198 >freadが指定したFILEストリームから指定したポインタへ取り込まないという性質についてだろ? ##getchar()≒getc(stdin) or fgetc(stdin) ですから、getchar() も fread() と同じくストリームを見ています。stdin だろうとファイルだろうと同じことなんですが。 ##で、>>154 で示したとおり、stdin には EOF は格納されていません。 >>220 ##リダイレクトに関係する関数, pipe() や dup() あるいは dup2() (POSIX) は fd です。今はCライブラリ関数の fp を問題にしています。 >>218 >蒸し返すな ##宿題を解きながら、ですのでご勘弁を。
242 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:24:12 ] ん、リダイレクトに pipe() はかんけいないですね。しつれい。
243 名前:173 mailto:sage [2008/04/22(火) 00:28:15 ] >>213 お手数かけてスミマセン どうもありがとうございました!
244 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:30:42 ] >srand は乱数関数の"初期化"だ 乱数関数を実行して値を取得するのが >実際のサイコロも置いた瞬間に目がででいる という事だ
245 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 01:18:48 ] >>238 #include <stdio.h> void Main( int* data, int num ) { int i; for( i = 0 ; i < num ; i ++ ) { printf( "値%d:", i+1 ); scanf( "%d", data+i ); } } double mean_calc5( int v0, int v1, int v2, int v3, int v4 ) { return ((double)v0 + v1 + v2 + v3 + v4) / 5; } int main() { int data[5]; Main( data, 5 ); printf( "平均値=%f\n", mean_calc5( data[0], data[1], data[2], data[3], data[4] ) ); return 0; }
246 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:16:19 ] 入力を閉じることを「EOFを入力する」と表現することがあると、 146が認めればすむだけのことに思える。 ちなみに、DOSやCP/Mには、テキストファイルの終わりに0x1Aの1バイトを置く風習があった。 support.microsoft.com/kb/405482/ja DOSでのC処理系の実装では、テキストモードでファイルを読み取るとき、 0x1Aが現れたら(後ろにまだデータがあっても)ファイルの終わりとし、 getcでEOF(もちろん値は-1)を返したり、fgetsでNULLを返すという風にしていた。 (もちろんバイナリモードではやらない) 標準入力からも、Ctrl+Zで0x1Aを入力可能で、あとはファイルの場合と同じ。 そして、Windowsでは、ファイルに0x1Aを置く習慣も廃れ、 また、コンソール(標準入力)でのCtrl+Zは、0x1Aの入力ではなく、 OSがストリームの終わりに達したという扱いに変換するようになっているというのは Win32コンソールを触ったことがあれば想像の通り。
247 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:42:06 ] スレ違いウザイ
248 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:04:25 ] >>246 入力 の意味を理解してから出直せ、ボケ初心者
249 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:09:41 ] >>248 おまえが考えてる入力の意味ってなに?
250 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:17:08 ] >>249 自分で調べろよw 基本はデータを読み込む、取り込む。それが文字だろうと数値データだろうと デジタル機器においては、入出力されるデータは全て数値データ、もっと追求すると 2進法で記録された0と1の組み合わせだよ。その0と1の組み合わせを人間が都合よく 解釈、理解できるように実装されたコンピュータで扱いっているが、EOFが値として どのように定義されていうと思う?-1と記されて言る資料がほとんどだろ? EOFがファイルの終わりというのは、人間が都合よく定義した決まりごとであって 所詮は数値データに過ぎないんだよ、これくらい大学に通った奴なら普通に分かるw っつか、お前はナンバーサインじゃないだろ?何そんな知ったかの肩を持って このスレにこんな時間まで粘着して、自分の無知を晒してんの?w
251 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:22:05 ] www.google.co.jp/search?hl=ja&q=EOF%E3%80%80%E5%85%A5%E5%8A%9B&lr=&btnG=Google+%E6%A4%9C%E7%B4%A2 EOFの入力は可能です、ありがとうございました。 この粘着はgetcharやfread、fgetc、fgetsなどの ライブラリ の動作について いちいち話をするが、それらがプログラムの動作において EOF を検出して どう動作するかについて話をしているが、完全に思い違い。 指定したポインタ、変数へ格納するかどうか?についても話をしているんだろうけど EOF、すなわちファイルの終わり、それを検出してファイルに書き出す、あるいは ファイルを読み込んでいるという基本的な処理の例があるにもかかわらず まだ EOF が入力されないという大ボケをかますプログラマ以前に コンピュータを扱う技術者としては相応しくない知ったか。いるよな、こういう 聞き分けのない、自分が思ったことをいつまでも相手に理解してもらおうという奴。 完全に筋の通る理論で論破されているのにw ちなみに、標準入力からはキーボードによる入力でも可能だし、リダイレクトや指定の ライブラリによるファイルの読みは可能。誰かさん、墓穴を掘ったがファイルの終わりが 全てのファイルにあるのか?って突っ込み、痛すぎ・・・原則として、ファイルの終わりを 示すコードは存在するよw 存在しない例外とも言えるファイルを持ち出そうと必死になるが 本題を崩すなよ。 EOFが入力されるかどうか?についてだろ。すでに昔から存在する事実を 何をいまさら、かじり始めた青二才が必死に反論してんだ????? 頼むからこんなところに来る、自分に反論する人だけに対して わけのわからん理論で反論せんで、大学の教授にでも質問しろよw ちなみに、自分は通っていた大学には東大、京大卒の教授が何人もいましたよ。
252 名前:249 mailto:sage [2008/04/22(火) 06:24:37 ] >>248 が何を食いついてるのかよく分からなかった EOFに関して>>246 >>250 ともおかしなこと言ってる訳じゃないのに 議論がかみ合わないのは不思議だと思いますた
253 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:37:24 ] ttp://ja.wikipedia.org/wiki/%E5%85%A5%E5%8A%9B ttp://yougo.ascii.jp/gh/65/006526.html 初心者は用語集でも見てろってw こういう視野の狭い奴って、自分にとっての入力はこうだって話を始めて 広義を無視して異例でも話をしようとするから困る。あれだろ、路上じゃ 違反者がいれば自分もその違反をしても、自分だけしか取り締まらない 警察にいちゃもんをつける奴w ほかにもいるから取り締まれ、そうでなきゃ 警察は怠惰だとか当り散らすんだろw ちゃんと最初から基本ルールを守れよ、理解しろよw これ以上は、汎用電子計算機の基本的な仕組みを学ばずに、コードを記述して プログラムを作っただけで知ったような口を聞いている奴らは放置な。 後ナンバーサインはマジで無視しとけ。こんな奴がもし講師だったら、 とんでもない学校だ。生徒だってことで。 EOFが入力されなかったら、どうやってEOFを検出してファイルの読み込みを やめたのか、説明せよw 以上終了とか言ったら、もう学校を辞めて 今からでも進路を変更しろ。人生を大きく左右するぞ、いい加減な人生の 舵取りは。
254 名前:249 mailto:sage [2008/04/22(火) 06:41:57 ] > EOFが入力されなかったら、どうやってEOFを検出してファイルの読み込みを > やめたのか、説明せよw ja.wikipedia.org/wiki/End_Of_File ところでナンバーサインって何?
255 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:48:52 ] 文字も画像も映像も、人間が都合よく解釈、理解できるようにしたプログラム、ソフトによって 表現が可能な機能を実装したコンピュータで展開していうんであって、所詮はどれも 数値データだよ。今こうやって文字を入力していうが、それも元を正せば、人間が 文字として解釈できる形に、使用している環境の文字コード体系に応じて 文字として見えるだけだよ。所詮、数値データ。EOFだけ何か特別扱いせんでも・・・ まさか、それらのデータが最初から色がついている、文字の形をしている、音声として 存在しているとでも思ったの?ファイルのダンプくらい、プログラムの授業でもやらんのか? 教本にも普通に載っているぞ、そんなの。
256 名前:249 mailto:sage [2008/04/22(火) 06:56:43 ] >>255 おれ国語の読解力あんまいい方じゃないんで確認なんだけど、 これおれに対するレスじゃないよね? >>253 へのレスなら納得なんだけど
257 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 07:53:21 ] >ところでナンバーサインって何? 行頭の'#'のことでしょ。尤も、>253の言う「ナンバーサイン」氏こと>139、>144と>216、>246では使い方が違う罠。 どうやら、「ナンバーサイン」氏は特定個人ではなく、>253の脳内にのみ存在している抽象人格のようだ。
258 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 09:12:23 ] EOFが無いファイルって、どうやってOSはファイルを個別のものと 認識、管理してんだよ・・・どこのIT土方の意見だ、EOFが入力できない なんて言っている奴は?所属、肩書きを示してみろ?
259 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 09:23:45 ] 横槍でスマンけどEOFってOSのファイルシステム管理が 勝手に入れるもんだと思ってるんだけど。 いちいちアプリ実装者が最後にEOF書く必要が無い、 ということは普通fread()(あんま使ったことないからしらんけど)などで EOFを検出する必要もない(=fread()内で勝手に止めるからでEOFを受け取ることはできない) ってことなんじゃないの? たかだかその程度で何を荒れとるのかと思ったのでw
260 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 09:38:18 ] >>258 今時、ファイルシステムはファイルの大きさをバイト単位で持っており、 その場合はファイル上に必ずしもEOFが実在する必要はない。 たからEOF入力なんて存在しないなどというつもりはないけど気になったので。
261 名前:249 mailto:sage [2008/04/22(火) 09:56:14 ] >>258 >>259 windows系ファイルシステムは知らないけど、Linuxのext3ではEOFなんて 全く関知してないと思う(たぶんwindowsも)。 getchar()などでEOFが返ってくるのは、ライブラリ(libc)がopenされたファイルの終了を検知してるから。 ライブラリ側がEOFの面倒を見てくれるので、アプリ開発者はライブラリ提供のヘッダファイルをincludeすれば問題ないです。 もし、OSがEOFを管理してて個々のアプリがEOFをハンドルしなければならないなら、 アプリ毎にOSのヘッダをincludeしなければならないんじゃないかな。
262 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 10:02:28 ] 朝から元気なのは結構だがスレ違いなので続けるなら他所へ行ってください
263 名前:249 mailto:sage [2008/04/22(火) 10:02:35 ] >>261 > getchar()などでEOFが返ってくるのは、ライブラリ(libc)がopenされたファイルの終了を検知してるから。 自己レスです。 ファイルの終了と言うのはファイル自身にEOFコードが存在するという意味ではないです。 バイナリエディタでファイルの途中に0xFFを書き込んでも、int c; while ((c = getchar()) != EOF) してる限り、 途中の0xFFはスルーされるはずです。 char c; while ((c = getchar()) != EOF) だと途中の0xFFが当然のことながら、EOFになりますね。
264 名前:デフォルトの名無しさん [2008/04/22(火) 10:53:07 ] [1]プログラミング演習 [2]3つのポインタ型変数と3つの変数が char c, *pc; int i, *pi; double d, *pd; と定義され、 pc = &c; pi = &i; pd = &d; と初期化されたポインタに対して pc++; pi++; pd++; 加算したときに,格納されている値が(つまり格納しているアドレスが) 何バイト増えたか表示するプログラムを作成せよ. [3.1]問わず [3.2]borland [3.3]C [4]4/23 お願いしますm(._.)m
265 名前:デフォルトの名無しさん [2008/04/22(火) 11:40:03 ] printf("%d,%d,%d\n", sizeof(char), sizeof(int), sizeof(double));
266 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 12:02:52 ] EOFがあるとかないとかどうでも良いんじゃい。 EOFの入力がプログラムへ可能か?って話は 可能だって結論が出てんだろが。何他人を装って 分が悪くなるとうざってぇみたいなことを言ってんだ? お前がEOFの入力が出来ないと食い下がってきたんだろが。
267 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 12:25:23 ] Linux = EOFが入力できる Win = EOFが入力できない というわけで Linux > 越えられない壁 >>>>>>>>>>>>>>>>>> Win てことだ
268 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 13:19:09 ] >>267 標準入力からEOFをいれる方法 Linux Ctrl+D Windows Ctrl+Z
269 名前:デフォルトの名無しさん [2008/04/22(火) 13:33:14 ] >>268 Wordでそれをやってみろ。 ドザは知識がなさすぎる。
270 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 13:41:14 ] ならemacsでやってみたら? 標準入力からって書いてあるだろう。
271 名前:デフォルトの名無しさん [2008/04/22(火) 13:46:48 ] >>270 できないと思ってるのかw
272 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 13:54:23 ] はいはい、できなくはないですよ。論点はそこじゃない。
273 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 13:59:29 ] 一般人に使われないlinuxをちょっと齧って windowsユーザーを馬鹿にしたくなる年頃なんだろう。 煩わしいコマンドをターミナルに打ち込んで「俺玄人wwwwwwうはwwwww」とか本気で思ってそう。
274 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:11:30 ] どんなOSを使ったことがあるかとかどうでも良いわ。 俺は大学でUNIXは普通に使ってたよ。ってか、使えないと授業にならねーし。
275 名前:デフォルトの名無しさん [2008/04/22(火) 14:50:53 ] 論点=ドザはクリックしかできない