- 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/
- 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 ]
- 論点=ドザはクリックしかできない
- 276 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:57:34 ]
- やっぱりヤツがいると荒れるな。
- 277 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:01:48 ]
- そうだな、論点ズレまくりのナンバーサインがいると。以後放置よろ。
- 278 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:13:17 ]
- EOFをファイルデータとして持ってたのは昔のメインフレームくらいじゃないの?
今はほとんどファイルシステムで管理してるでしょ
- 279 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:16:21 ]
- またそれかよ・・・EOFが何なのかなんてどうでも良いんだよ。
入力されることがあるかないか?ナンバーサインがズレてんのは getcharとfreadのライブラリの性質に話を持ち込んで、キーボードからの EOF入力さえも否定したから悪いんだよw 普通にEOF入力なんてあるわ、とっくの昔からw
- 280 名前:デフォルトの名無しさん [2008/04/22(火) 15:19:44 ]
- >>258
- 281 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:20:57 ]
- ヒント:印字可能な文字(データ)しか入力できないという考えがすでに素人以下
- 282 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:32:17 ]
- どっちもそこら辺で勘弁してやれよ。
- 283 名前:デフォルトの名無しさん [2008/04/22(火) 15:38:17 ]
- kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6305.txt
よろしくお願いします。
- 284 名前:249 mailto:sage [2008/04/22(火) 15:45:10 ]
- >>279
キーボードから直接EOFコードを入力できると言ってるように聞こえるので一言。 もし、そうじゃなかったらごめん。 アプリがライブラリのgetchar()を呼ぶと、kernelはユーザーの入力待ちになる。 ユーザーがたとえば "test string^D" を入力すると、kernelは^Dを入力の終了と判断し、 ライブラリに "test string" を返す。アプリはライブラリからそれを一文字ずつ取り出して使う。 もしここで "test string" を入力せず、単に^Dだけ入力した場合、kernelは\0をライブラリに返す。 ライブラリは入力がなかったという意味でEOFをアプリに返す。 要は、EOFはもうそれ以上入力がないということを示す、 ライブラリとそれを利用するアプリの取り決めになっています。
- 285 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:50:46 ]
- 相手にしたらダメな人だから
- 286 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:54:26 ]
- ヒント:改行もタブも印字不可能でもキーボードからの入力が可能。
便宜上出力で指定する場合に \n や \t など、印字可能な文字で代用しているものがある。 所詮テキストファイルにしても、バイナリーデータにしても数値データの塊に過ぎない。 バイナリに関しては、変数の型を指定することで、数値データを適切にプログラムが 解釈するようにコードを記述する際に宣言をしている。
- 287 名前:デフォルトの名無しさん [2008/04/22(火) 16:31:03 ]
- お前らスレタイ読め。
C/C++でEOFは「もうそれ以上入力がない」という意味では「ない」。 アフォはひたすらクリックしてればいいんだよ。 妄想披露スンナ。 これだからドザは(ry
- 288 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:35:12 ]
- >>287
> もうそれ以上入力がない いつ誰がそんなことを言ったんだよ?w お前こそ黙っとれw
- 289 名前:デフォルトの名無しさん [2008/04/22(火) 16:37:39 ]
- 言ってなくても書いてあるだろが。
掲示板でどうやって言うんだよ。 ドザは駄目だな。
- 290 名前:デフォルトの名無しさん [2008/04/22(火) 16:38:59 ]
- 「引数として配列のポインタとデータの個数を用いて、引数に与えられた整数の2乗を引数に値を返す関数を作成し、1^2から10^2まで表示せよ」
5時間悩んでも出来ませんでした。よろしくお願いします。
- 291 名前:249 mailto:sage [2008/04/22(火) 16:43:49 ]
- >>287
「もうそれ以上入力がない」というのは語弊があるかもしれないですね。 アプリがgetchar()で次の文字を取りに行ったとき、入力がなかったときライブラリがEOFを返します。 以下、ちょっと補足。 Linuxの場合、端末から入力された^Dは、kernelでは16進の0x04になります。 で、ライブラリに返すときこれを\0で上書きします。 ^Dは入力の終了を示すものであり、EOFではないです。 興味ある人は drivers/char/n_tty.c とかglibcのソースを見るといいです。
- 292 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:45:28 ]
- そろそろ自演でスレ伸ばすの止めようぜ?
- 293 名前:デフォルトの名無しさん [2008/04/22(火) 16:49:40 ]
- >>291
アフォか。 規格書読め。 これだからドザは。
- 294 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:51:31 ]
- >>290
#include <stdio.h> void f(int *p, int n) { while(n--) p[n] = p[n] * p[n]; } int main(void) { int a[10], i; for(i=0; i<10; i++) a[i] = i + 1; f(a, 10); for(i=0; i<10; i++) printf("%d ", a[i]); return 0; }
- 295 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:52:36 ]
- なんだ、249をNGにしていたから気づかなかったが、まだ勘違いバカが
粘着しているのかw お前が黙ってりゃ一番解決するんだよ。 スレ板読めや、基地外。自分にとってそれはこういう意味ですとか このように解釈しました、そう解釈した理由を こじつけ で勝手に作るなよw お前はISO関係者か?コンピュータの設計者か?これらはすべて 国際的に決められた標準化に基づいて構成されてんだよ。 思い違いを正当化するために、自分の知識の貧弱さを露呈しなくて良いから 黙ってろや、どこぞの学校の講師か知らんが、貴様の元では学びたくないな。 生徒だったらどんな講師に学んだんだと?w
- 296 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:55:36 ]
- #include <stdio.h>
int main(void) { char ch; while( ( ch=getchar() ) != EOF ); printf("%d %c / EOF : %d %c ",ch,ch,EOF,EOF); return 0; } これをコンパイルして、Ctlr-zでEOFを検出させてみろw そしてEOFとして定義されているマクロの値を調べてみましょう。 EOFが入力されたことが一目瞭然です、ありがとうございました。 さてと、これ以上は無駄なんで、以後放置よろ。
- 297 名前:デフォルトの名無しさん [2008/04/22(火) 16:58:56 ]
- >>296
はい0点
- 298 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:02:33 ]
- では次ぎ、テキストでもバイナリーデータでも、当然画像でも音声データでも良い。
>>296 のプログラムにリダイレクトでファイルを入力させてみろ。 ほれ、やっぱりEOF、ファイルの終わりを検出して終了し、そのときのコード、値と EOFが一致しました、本当に、本当に、重ね重ね、ありがとうございますた!
- 299 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:03:45 ]
- >>296
少なくとも変数 ch は int 型でないといけない
- 300 名前:デフォルトの名無しさん [2008/04/22(火) 17:07:05 ]
- >>294
どうもありがとうございます!!
- 301 名前:249 mailto:sage [2008/04/22(火) 17:07:17 ]
- >>293
Cの規格書JISX3010ちらっと見てみたけど、7.19.1にこう書いてありました。 「EOFは、ファイルの終わり(end-of-file)、すなわちストリームからもうそれ以上の入力 がないことを示すために、幾つかの関数から返される、」
- 302 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:07:28 ]
- 良いか、ボケ共、入力は何も 文字データ だけじゃねーんだよ。
標準入力で人間がキーボードから行う入力と言えば文字データが思い浮かぶが プログラムへのデータの入力は、文字だろうと所詮デジタルデータ、 数値データに過ぎんのだよ。それが使用している環境の 文字コード体系で印字可能な文字は視覚的に見えるんであって バイナリーデータのような数値データの塊でも、入力できるんだよ。 そしてEOFも。なんでEOFが入力できないのか、もう説明しなくて良い。 とっくの昔からEOFの入力なんてされてたんだよ、当たり前のように。 でなきゃ、プログラムはどうやってファイルの終わりを認識してたのだね?ん? 怒らないから、そんな秘密の情報があるなら、おいちゃんの耳元でそぉ〜っと言ってごらん?
- 303 名前:デフォルトの名無しさん [2008/04/22(火) 17:07:35 ]
- >>298
0点。 規格書読め。
- 304 名前:デフォルトの名無しさん [2008/04/22(火) 17:09:57 ]
- >>301
アフォか。 エラーを示すために-1を返す関数が一つ以上あれば、-1はエラーか。 ドザはほんとに駄目だな。
- 305 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:10:27 ]
- >>299
はぁ?なんで?1バイトずつ読み込まないでどうすんだ??? お前、もしかして・・・変数の型を誤解してないか?wwww
- 306 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:12:01 ]
- >>303
−100点。お前が説明しろ、ボケ低レベルへたれプログラマーwwwwww 東大、京大卒の教授の元で指導を受けた俺と、それ未満の講師に コードの入力だけ教わったお前とは格が違いすぎ。 説明と言う説明がお前は出来てないだろ、目の前にあるものの 来本部部は同じだと言うのにw
- 307 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:14:16 ]
- >>305
EOF != 0xFF おk?
- 308 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:15:36 ]
- 299 名前:デフォルトの名無しさん 投稿日:2008/04/22(火) 17:03:45
>>296 少なくとも変数 ch は int 型でないといけない ↑このアフォーの思い違いを説明せよ 配点-100点wwww では >>296 のコードを int ch; に変更して実行してみましょう。あららっ!?結果は同じ -1 が検出されましたwwwww だから何について説明しているか分からない低レベルは黙ってろって。 お前らとは使用していた施設のレベルからして違うんだよ! 大学にあった施設は企業レベル、いやそれ以上。だからお前らとは 見てきたものが違い過ぎるんだよwwwww
- 309 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:18:30 ]
- ぷぷっ、こいつ、EOFが int 型だと思ってるよwwwwwwwwwwwwwwwwwww
-1なんて1bitでも表現できんだよ!char型は1バイト、すなわち標準的な環境では 8bitなので、十分EOFの検出は可能です、ありがとうございましたwwww そもそも、ACSIIコードとShift-JISの仕組みが分かっていれば、下らない突っ込みなんてしねーよ。 全角で2バイト必要な文字は、それに応じた文字コードが割り振られてんだがw お前、Shift-JISで日本語の全角文字をすべて表示するコードを書いてみろや! 結局、そんなものは基本の拡張に過ぎないと気づくからw んで、EOFが入力できない説明をしてくれよ。俺はそれを求めてんだが?
- 310 名前:デフォルトの名無しさん [2008/04/22(火) 17:18:31 ]
- kusakabe先生の教えを守って書き込みしたらスレが伸びる伸びる
- 311 名前:デフォルトの名無しさん [2008/04/22(火) 17:19:35 ]
- >>309
> ぷぷっ、こいつ、EOFが int 型だと 規格書読めよ。
- 312 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:21:21 ]
- >>305
Cには、データベースなんかで見かけるNull値ありの型がないから、 getcharなどはNull値相当をEOFに割り当てて、 Null値ありcharをただのintで代用しているという考え方が近いと思う。
- 313 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:23:21 ]
- お前さぁ、負の値が2進数、デジタルデータの世界でどのように表現されているか知らんのぉ?
まぁ、これは大学でやった実験では普通に扱いましたよ、論理回路も含めて。 なんで変数の型に、敢えて unsigned があると思ってんの? 8bitで扱える値の幅、パターンの数、負の値がどのように記録されているかも C言語でもコードを書いて調べることが出来るんだがねぇ。 んで、EOFが入力できない説明を求む。それ以外の御託はいらねー
- 314 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:27:12 ]
- >>309
-1単体は1ビットでも区別可能だけど、 ここでは、(unsigned) charの値と区別できないといけないから、 charよりビット数の多い(はずの)intなんだろ。
- 315 名前:デフォルトの名無しさん [2008/04/22(火) 17:28:43 ]
- >>313
先生の教えに背いて教えてやってもいいんだが、完全にお前の理屈を否定することになるぞ。 どうやらここにはドザしかいないようだから、味方してやってもいいんだが?
- 316 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:32:37 ]
- kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6305.txt
困っています。よろしくお願いします。 Windows gcc C です。
- 317 名前:デフォルトの名無しさん [2008/04/22(火) 17:37:29 ]
- さて、ドザかまっててもしょうがないから宿題やるか。
- 318 名前:249 mailto:sage [2008/04/22(火) 17:48:49 ]
- >>296>>298
これ実行すると、ファイルの終了に達していなくても、ファイルの途中にたまたま0xFFが現れたら そこでwhileループ抜けるよね。 > ほれ、やっぱりEOF、ファイルの終わりを検出して終了し、 whileループを抜けたのはファイルの終わりを検出したわけではないです。
- 319 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:50:15 ]
- 騒いでる奴らはそろそろ専用スレ立てろや
- 320 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:54:41 ]
- ビット演算子の意味も分かってなさそうだな。こりゃダメだ・・・
所詮、文字コードでしかプログラムの意味が分からんのだろ。 高度でもない、当たり前なことを知っている人は、”汎用”電子計算機に対して 制御を行うコードを書いているという、当たり前な頭はあるんだよ。 そんなの大学に通わなくても、それ関連の仕事をしている人は 当たり前に見ている。人間なんて、所詮見た目が良かろうが DNAによって動物細胞の塊が人それぞれ違った形に形成されていると 医療関係に属する人が知っているように。萌え〜なんていっている奴は、 2次元にしろ3次元にしろ、そういう人達から見ると不思議に思えるんだろうね。 だって、所詮動物細胞、0と1の組み合わせのデジタルデータなんだもの、みつを。
- 321 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:54:52 ]
- >>296
jpegファイルはいきなり0xFFで始まるんですが、読み込めないということですか?わかりません><
- 322 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:01:55 ]
- >>320
最後おちゃらけて見せて、興奮を隠そうとしなくてもいいよ わかるわかる
- 323 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:10:28 ]
- >>296はcharがunsignedの環境なら無限ループだな
- 324 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:11:11 ]
- ビット演算なんて、もはや遺伝子組み換えレベルの操作なのさ〜♪
- 325 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:33:29 ]
- もうね、鸚鵡返しのように 規格書 とか言うだけで、具体的に該当する
事項を示さないアホは何?w 自分が言いたいこと、思ったことを 相手に理解してもらえないって言っているだけじゃん。お前が言いたいことがあるなら 具体的に示せよ、低レベル講師め。お前んとこの学校はどこだ? 通報しておいてやるよ、EOFが入力できないなんていい加減なことを、 ありもしない規格書を持ち出して事実を捻じ曲げているとw 頼むから大学レベル未満のお前、EOFが入力されないという 話が拗れた根本の説明をしてみろや?どうやってEOFを検出して 終了するコードが実行されたのか、摩訶不思議アドベンチャーで ゴクウも界王拳をスーパーサイヤ人になってからお前にお見舞いするだろうよw
- 326 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:38:44 ]
- ttp://www.st.rim.or.jp/~phinloda/cqa/cqa9.html
面白い記事が見つかりましたよ、ほらw お前が勘違いしていたEOFが特殊な文字コードってやつ、 所詮は人間が勝手に 定義 した数値に過ぎないということがはっきりしただろ? 俺はEOFがファイルの終わりを示すとは一言も言っていないんだよw 何度も言っただろ?文字を入力したとしても所詮は 数値データ に過ぎないと。 プログラムが、コンピュータがそれを認識するために 人間が定義した に過ぎないと。 人間が好き勝手にルールを決めてしまうと、世界で共通ではなくなり インターネットの世界でも混乱が起こるんだよ。ウェブページだって 規格が違ってブラウザが国ごとによって違ってたら面倒だろ? 規格書とか言うお前、お前はISOの内容は知っているようだが 標準化の意味は理解していなかったようだな。所詮それも 人間が定義 したに過ぎないということを。
- 327 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:45:33 ]
- さてと、int型がなぜ2^32 すなわち 2^8^4 の値として扱われているか?
結局は4バイト分のデータを1つの変数として取得して扱っているからだよ。 誰だよ、EOF != 0xFF なんて話をしたのは?俺はそんなこと一言もいってないよw EOF にはしっかりと -1 と定義されているとは言ったが。なんで8ビットのみで話が進んでるの??? だから俺は、人間が勝手に数値の前にマイナス - という符号を付けて 表現したものではなく、2進数において 負の値をどのように表現しているか について問い正したんだが? 悪いがこれについては 実験で その詳細を知ることが出来たんでね。 コンピュータを構成している基本部分なんて、単純なもんだよw
- 328 名前:249 mailto:sage [2008/04/22(火) 18:57:07 ]
- >>326
> 俺は と言われてもお前がどれを書き込んでいて、どれにレスしてるのかわからない。 Ctrl-DやCtrl-Zは単にユーザーが入力の終了を示すだけです。 アプリがgetchar()を発行したとき、ライブラリ側にアプリに渡せる文字がなければEOFを返します。 入力ファイル中に0xFFが含まれていて、それをchar型変数で受ければ ファイルの途中であっても同じくEOFとして判定されます。 この場合、feof()関数でストリームの終了かどうか判定できると思います。 一応念のため、Cの規格書ならここで見れます。 「www.jisc.go.jp/」→「JIS検索」で「X3010」を入力
- 329 名前:デフォルトの名無しさん [2008/04/22(火) 18:59:20 ]
- だから相手にしちゃダメなんだって。
半年ぐらい前までしょっちゅう暴れてたキチガイなんだから。
- 330 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 19:05:40 ]
- だからよぉ、所詮整数型にしろ文字にしろ、人間が都合よくデジタルデータの塊を
数値や文字として扱うために 変数の型を宣言 したプログラムによって 解釈できるように処理させてんだよぉ。どんなファイル、データにろ ビット すなわち 2進数の1桁 レベルに話を持ち込めば、0と1の組み合わせの 塊に過ぎんと何度も言っておろうにw それはともかく、EOFが入力できないという理由を説明してくれ、規格書でw
- 331 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 19:07:21 ]
- >>328
> ユーザーが入力の終了を示すだけ それを326に言わせればEOFの入力となるんだろ。それくらい察してやれ。
- 332 名前:249 mailto:sage [2008/04/22(火) 19:14:18 ]
- >>329
そうですか、キチガイですか。 そんな気はちらっとしてたんですけどね。 とりあえずいい暇つぶしになったんで、相手してくれてありがとう>キチガイ 彼がこの後何を言ってくるか楽しみにしてますwww
- 333 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:02:35 ]
- 多分このスレで一番レベルの高いおれから言わせてもらうと
自演くさい
- 334 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:54:32 ]
- >>316
とりあえず動く程度のものでしかないけど課題1 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6306.txt
- 335 名前:デフォルトの名無しさん [2008/04/22(火) 22:17:54 ]
- kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6307.c
[1] 授業単元: Cプログラミング [2] 問題文: @任意の2ノード間の最短路を求めるアルゴリズムを実行するプログラムを作成せよ。 A任意の2ノード間の最短最大路を求めるアルゴリズムを実行するプログラムを作成せよ。 [3] 環境 [3.1] OS: Windows [3.3] 言語: C [4] 期限: 無期限 [5] その他の制限:リンク先のソース(経路選択の部分がない)を使用すること。 また、ソース中のdistance.txtの内容は、 0 1 1 0 3 1 1 2 1 1 3 1 2 4 1 2 5 1 3 4 1 3 7 1 4 5 1 4 7 1 5 6 1 5 8 1 6 8 1 7 8 1 7 9 1 8 9 1 です。よろしくお願いします。
- 336 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:33:05 ]
- getcharの戻り値にEOFがあるだけの話だろ
もはや何の話を必死にしたいのかさっぱりだな
- 337 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:54:19 ]
- 【質問テンプレ】
[1] 授業単元:ネットワークプログラミング [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6309.txt [3] 環境 [3.1] OS: UNIX [3.2] コンパイラ:gcc [3.3] 言語: C言語 [4] 期限: 4月25日まで [5] その他の制限: 特になし よろしくお願いします。
|

|