1 名前:デフォルトの名無しさん [2007/09/21(金) 08:46:37 BE:340816166-2BP(12)] あなたが解けない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++の宿題を片付けます 95代目 pc11.2ch.net/test/read.cgi/tech/1187944110/
101 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:12:12 ] do while か。そのくらいだったら、逆にスタック使うと不自然だなw >>96 のforをdowhileに直した方がいいね
102 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:14:21 ] >>100 ちょwwwそういう意味の問題だったのかwww
103 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:16:52 ] ちょwwwちょwww
104 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:17:00 ] ちょwwwだったのかwww
105 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:18:30 ] ちょwwwが多すぎワロタwww
106 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 15:20:04 ] >>16 電卓っぽく。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4952.txt 実行例書いてくれれば、あとで直す。
107 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 16:22:05 ] >>106 1+1= と打っても真っ暗だよ。
108 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 16:31:21 ] >と打っても真っ暗だよ。 そりゃあんたの「お先」だろ。
109 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:00:54 ] [1] 授業単元:GUIプログラミング [2] 問題文(含コード&リンク): エディットコントロールにアドレスを入れてボタンを押すと、 そのページを表示するプログラムを作れ。 [3] 環境 [3.1] OS: WinXP [3.2] Borland C++ 5.5 [3.3] C言語 [4] 期限:9月25日まで [5] その他の制限: 要は超簡易ブラウザです。 オリジナリティをつけろとの事なので、表示しているページに何か変化があった場合、 (例えばリンクの移動だとか、ボタンクリックだとか、フォームに入力だとか)、 エディットコントロールに変化がありましたって表示するような感じの機能をつけてもらえると幸いです。
110 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:03:15 ] >>109 どこの大学?
111 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:05:45 ] 大学というか専門学校。特定されるとあれなので・・・。
112 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:12:25 ] >>109 GUI とネットワーク接続に関するライブラリは何を使ってよいの?
113 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:17:21 ] >>112 特に指定はないです。むしろ大事なのはUIなんです。 使用者に使いやすい設計を心がける事って言われたんですが・・・。 それにしても1から作れって鬼杉。ある程度の機能もったブラウザをいじれって言うならまだしも。 で、あたふたしてると期限が近づいてきて俺涙目みたいな・・・
114 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:21:24 ] 俺涙目みたいな・・・
115 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:22:01 ] >>113 有料のライブラリとか使ったらあんたが困るでしょ? 講義で過去に作ったプログラムなどがあったらそれを アップしてもらうのが話が早くて楽なんだけどな。
116 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:22:44 ] そんなこと言ったって、俺涙目みたいな・・・
117 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:23:31 ] やっぱり俺涙目みたいな・・・
118 名前:デフォルトの名無しさん [2007/09/23(日) 18:26:37 ] どうしても俺涙目みたいな・・・
119 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:27:47 ] お前ら、俺涙目なのに、いじんな!
120 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:27:55 ] っていうか、涙目みたいな
121 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:30:06 ] >>115 なるほど、有料は確かに困ります。 講義で用意されたものは何もないのですが・・・。 一応自分でも色々と調べてみたのですが、IEコンポーネントを使うのが楽そうな感じでしたね。 ただ、VC++とかばかりでなかなか。Borlandじゃコンパイル出来なかったりしてもうワケワカラン状態です。 コンパイラはBorlandと書きましたが、実はこれは指定されてるわけではないです。学校のパソコンにはVisual Studio .netが 入ってますが、家にはBorlandを入れてます。さすがに有料はキツイって事で・・・。でも家でコーディングできないと不便なのでBorland。
122 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:32:01 ] 涙目みたいな・・・ってこんなにレスがつくとは思わなかった・・・ 精神的な話だから、実際には泣いてないんだぜ。
123 名前:デフォルトの名無しさん [2007/09/23(日) 18:32:04 ] もうワケワカラン状態で、さすがに有料はキツイって事で・・・俺涙目みたいな・・・
124 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:32:18 ] VC++EEでも入れればいいじゃん
125 名前:109 mailto:sage [2007/09/23(日) 18:34:54 ] >>124 一つのコンパイラで全部やろうって考え自体おかしいんですかね? ノートなのであまり重たいのは入れたくないなと思ってBorlandにしてみました。 その後Turbo C++入れて、一気に重くなってげんなりしてます。 というか、コンパイラの違いってなんなんですか・・・どれがいいとかあるんですか?って質問はスレ違いですね
126 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:35:26 ] ぐだぐだ質問してんじゃねえよ。
127 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:35:57 ] >>125 スレ違いって分かってるんだったら、書き込むなよ。
128 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:36:06 ] っていうか、俺涙目みたいな・・・
129 名前:109 mailto:sage [2007/09/23(日) 18:36:51 ] では黙って片付くのを待ちます。。。 涙目です。
130 名前:デフォルトの名無しさん [2007/09/23(日) 18:36:55 ] >>122 こいつアホだ。実際に泣いてるかどうかではなく、 そんなことを書き込むことを皆、からかってるのに。
131 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:48:08 ] >>129 > そのページを表示する って、一般的なサイト全て? 単純なボタンやフォーム程度なら自分でHTML解析してできるだろうけど、 そうじゃないならIEコンポやGecko使うしかないと思うよ
132 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 18:49:39 ] せめて環境を固定してくれないと着手すらできんな。
133 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:02:33 ] VCEEでいいじゃん MFC使えないのかな
134 名前:109 mailto:sage [2007/09/23(日) 19:27:49 ] すみません、飯を食べてました。 >>131-133 オリジナリティはもう少し練りたいと思います。ので、最低限の機能を持ったブラウザの実装をお願いします。 その後のUIやオリジナル機能は自分で頑張ってみます。とはいえ、時間はあまり残ってないのですが・・・。 IEコンポーネント使用で、コンパイラはBorlandC++5.5で出来る範囲でお願いします。 有料なものを使わなければ特に制限はないです。やりやすい形でお願いします。 もしBorlandじゃどうしてもダメというなら、私がVCを入れます。
135 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:29:00 ] ちまちま、後だしするなよ。 最初にまとめて書け。
136 名前:109 mailto:sage [2007/09/23(日) 19:32:48 ] 申し訳ないです。 >>134 でお願いします。
137 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:35:02 ] 最初から、依頼しなおしたほうがいいんじゃないか?
138 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:38:13 ] >>109 最初からやり直せ。
139 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:38:24 ] っていうか俺涙目・・・
140 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:38:45 ] >>134 VC入れて、IEコンポでぐぐってサンプル拾ってコンパイル。 ここまではできるだろう。
141 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:40:07 ] とりあえず依頼しなおします。 [1] 授業単元:GUIプログラミング [2] 問題文(含コード&リンク): エディットコントロールにアドレスを入れてボタンを押すと、 そのページを表示するプログラムを作れ。 [3] 環境 [3.1] OS: WinXP [3.2] Borland C++ 5.5 [3.3] C言語 [4] 期限:9月25日まで [5] その他の制限: IEコンポーネントを使用。有料のものは使用しない事。
142 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:44:00 ] >>140 VC++でIEコンポーネントのサンプルを置いてる良さそうなサイトはGoogleのトップに出てきたのですが、 Borlandだとインクルードファイルがなくて、コンパイル通らないですね。VC入れろと言われたら終わりですけど。 むしろそっちの方が幸せになれるのかな・・・
143 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:47:09 ] >>142 依頼しなおしたのなら、黙ってろ。
144 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 19:50:25 ] もうワケワカラン状態で、さすがに有料はキツイって事で・・・俺涙目みたいな・・・むしろそっちの方が幸せになれるのかな・・・
145 名前:16 [2007/09/23(日) 19:58:52 ] >>106 1+1= 2 ←(計算毎に答えは出る) 3+3= 6 M+ ←(直前の計算結果がメモリに。この場合6) MR+1= 7 end:(計算終了) といった具合がベストだと思うのですが。 (問題には書いていなかったので、質問発言時に書けませんでした。 これも先生が望んでいる解答結果とはわかりませんが…) 度々申し訳ないのですが、よろしくお願いします。
146 名前:デフォルトの名無しさん [2007/09/23(日) 20:16:02 ] [1] 授業単元: C言語基礎 [2] 問題文(含コード&リンク): キーボードからn+m,n-m,n*m,n/mを入力し、演算結果を出力せよ。 結果出力後は「再入力:」と出力し、再度計算できるように ループさせる。 「off:」と入力することで計算を終了させる。 演算結果例: 5+6 11 再入力: 6*7 42 再入力: off: (計算終了) [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C言語) [4] 期限: [2007年9月23日まで] [5] その他の制限:特になし
147 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 20:19:36 ] >>146 その形式以外の入力はないと仮定していいのか?
148 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 21:04:40 ] >>146 >>16 と共同で頑張れ
149 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 21:18:50 ] みたところ、一桁の演算だけど、それだけいいのか?
150 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 22:02:41 ] >>145 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4954.txt
151 名前:150 mailto:sage [2007/09/23(日) 22:06:13 ] 多分、先生が求めるのは>>106 だけどな
152 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 22:11:32 ] >>130 みんなかどうかは怪しいけどなw
153 名前:146 [2007/09/23(日) 23:19:02 ] >>147 そうです。命令はn+m,n-m,n*m,n/m4つのみです。 >>149 桁数は指定はありませんでした。 先ほど書き忘れてしまったのですが、「n,mは実数」 という条件がありました。
154 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:25:01 ] strtod使えば大した問題じゃない
155 名前: ◆hwUQ/UOPMQ mailto:sage [2007/09/23(日) 23:58:37 ] [1] 授業単元: C [2] 問題文(含コード&リンク): クイックソートのプログラムを作成しなさい ・ソート対象は文字列配列 ・引数でソート対象、ソート後の配列をしていする [3] 環境 [3.1] OS: XP [3.2] VC++ 2008 [3.3] 言語: C [4] 期限: なるべく早めに [5] その他の制限: ソート以外の標準関数は使ってもよい もう大方は作ってみたんですが、途中でエラーで終了してしまいます 協力お願いします kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm? ↑にうpしました。クイックソートと書いてるやつです
156 名前:16 [2007/09/24(月) 02:50:08 ] >>106 >>150 ありがとうございます。助かりました。
157 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 06:32:53 ] >>155 それなりに努力の跡は見えるんだが、なんとも……。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4956.txt それにしてもVC2008か…ちょっと欲しい。orcasはいつ出るのかなぁ。
158 名前: ◆hwUQ/UOPMQ mailto:sage [2007/09/24(月) 08:17:35 ] >>157 ありがとうございます! できたら悪い点が沢山あったと思うので教えて欲しいです あと、VC++2008はベータ版ならダウンロードできますよ
159 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:02:55 ] >>157 比較関数が間違ってる。文字列の第一文字目だけで比較するそうな。 >>158 157じゃないけど 1. sort_array[0] が NULL かどうかを見てるのは再帰の一発目だけを 区別する目的だろうけれど、そんなのは再帰中にやらず、157 のように 別の関数に分けるべき。これが落ちる原因になっている。 2. それを直しても正しく動作しない。last の前後に分けるところがダメ。 pivot を特別扱いしたいのだろうけど、並べ替え中に pivot も動いてしまう。 ここは 157 のように、両側から同時にやるのが常套テクニック。 今の方法でも、pivot を必ず最後に選ぶようにすると、一応できる。 1 を小細工で対応し、2 を適当に修正したものを以下に示す。 実際の修正量は数行程度のはずだけれど、相当不自然なコードなので もう一度自分で考えて書いたほうが勉強になると思う。
160 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:09:03 ] >>158 続き。関係ないところは行をつめている。 !! つきのコメントのあるところが主な修正箇所。 int quick_sort(const char *array[], int left ,int right,char *sort_array[]) { int last = 0; int cnt = 0; int pivot = 0; if(array == NULL || left < 0 || right < 0 || sort_array == NULL) return 0; //引数チェック if(left >= right) return 1; //配列の要素が一つの場合 if(sort_array[0] == NULL){ //sort_array[0]がNULLならarrayをコピー for(cnt = 0;cnt <= right;cnt++){ sort_array[cnt] = (char *)malloc(256); // !!malloc で適当に確保してからコピーする strcpy(sort_array[cnt],array[cnt]); } } pivot = (right+left)/2; //基準値を決める change(sort_array, pivot, right); // !!pivot を最後に送りつける pivot = right; last = left; for(cnt = left; cnt <= right;cnt++){ // !![left,last) は pivot 以下 if(sort_array[cnt][0] <= sort_array[pivot][0]){ // !!pivotが左側に入るために等号付き change(sort_array,cnt,last++); !! last++ と後置インクリメント } } quick_sort(array,left,last-2,sort_array); // !!array[last-1] が pivot なので抜く quick_sort(array,last,right,sort_array); return 1; }
161 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:15:23 ] 大してレス読んでないけど文字列比較ならstrcmp使えばいいじゃん。
162 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:21:15 ] >>161 的外れだよ ちゃんと読もうな
163 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:31:52 ] [1] 授業単元: programming concepts [2] 問題文(含コード&リンク): -Promt the user for the base value(int date type). -Read the base value. -Promt the user for the exponent value(int date type). -Read the exponent value. -using a <cmath> function. -The following output should be displayed: /* Enter the base: 3 Enter the exponent: 2 3 to the 2 power equals 9. The square root of 3 equals 1.41 Press any key to continue*/ [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: VC++ [3.3] 言語: C++ [4] 期限: なるべく早くお願いします [5] 習って4週間目です めちゃめちゃですが自分のプログラムです kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4957.txt
164 名前: ◆hwUQ/UOPMQ mailto:sage [2007/09/24(月) 10:39:50 ] >>159 ご指摘ありがとうございます! クイックソートがまだつかめてない様なのでもう少し考えます
165 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:46:10 ] >>163 '^' はビットXOR演算子であり、べき乗を処理する演算子はC言語にはない pow() を使え sqr() ではなく sqrt() 他にも突っ込み所はあるけどコンパイルすれば気付くと思うので触れない
166 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:19:02 ] >>163 これくらいの英語はできなきゃ恥ずかしいくらいだけど、 日本語訳しておくくらいの心遣いをしなさい
167 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:20:07 ] >>166 アホ? 矛盾してるけど。
168 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:22:25 ] 下手な訳で混乱させられるよりは、生の英文の方がマシ
169 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:57:43 ] 矛盾はしてないよ 併記しておけば問題ないし ということで>>163 は首を洗って出直してきなさい
170 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:59:39 ] >>169 >>168
171 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:14:29 ] >>170 自分の言葉でたのむわ むしろ、依頼者が英語がわかんなくて適当にやって さりげなく間違い訂正させてるのかもしれんし 油断は禁物だぞ
172 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:15:40 ] >>171 >>168
173 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:19:38 ] >>172 答えになってねーよ在日 かくいう俺は在日日本人だが
174 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:20:03 ] >>163 程度の英文が読めない奴は答えなくていいから
175 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:22:32 ] >>174 英語は分かるがcが分からないんだ…
176 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:22:50 ] 翻訳しました -ベース値(int日付のタイプ)のためのユーザのPromt。 -ベース値を読んでください。 -解説者値(int日付のタイプ)のためのユーザのPromt。 -解説者値を読んでください。 -<cmath>機能を使用します。 -以下の出力を表示するべきです: /*はベースに入ります: 3 解説者に入ってください: 2 3 2と、パワーは9と等しいです。 3の平方根はいずれも*/を続けるために合わせる1.41Pressと等しいです。
177 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:25:26 ] そして、cはわからないが√3は1.41ではないことは分かる!
178 名前:汗 [2007/09/24(月) 14:39:17 ] お助けください。 現在の地域時間から15時間後の日時を表示するプログラムを作成しなさい。 表示形式は日付と時間が表示されれば、自由とします。
179 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 14:41:15 ] >>178 >>7
180 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 14:41:48 ] 間違えた >>178 >>1
181 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 14:45:40 ] #include <stdio.h> #include <time.h> int main() {struct tm tm; time_t now = time(NULL); tm = * localtime(& now); tm.tm_hour += 15; mktime(& tm); puts(asctime(& tm)); return 0;}
182 名前:汗2 [2007/09/24(月) 14:55:45 ] [1] 授業単元: 通信物 [2] 問題文(含コード&リンク): 次のプログラムで本来入れるべき処理は何か。それを指摘しなさい。 1:char*pstr; 2: 3:pstr=malloc(100) 4:sprintf(pstr,"123") 5:patr=malloc(10) 6:sprintf(pstr,"456") 7:free(pstr); [3] 環境 [3.1] OS: (Windows) [3.3] 言語: (C) [4] 期限:早いと助かるス。
183 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 14:59:18 ] 2:char*pastr; 8:free(pastr);
184 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 15:00:00 ] 2:char*patr; 8:free(patr);
185 名前:デフォルトの名無しさん [2007/09/24(月) 15:04:33 ] >>163 #include <iostream> #include <cstdio> #include <cmath> int main() { using std::cin; using std::printf; using std::putchar; char *str[4] = {"Enter the base: ", "Enter the exponent: ", "%d to the %d power equals %.0lf.", "The square root of %d equals %1.2lf"}; int b,ex; double p,r; printf(str[0]); cin >> b; printf(str[1]); cin >> ex; printf(str[2],b,ex,pow(static_cast<double>(b),ex)); putchar('\n'); printf(str[3],b,sqrt(static_cast<double>(b))); putchar('\n'); return 0; } The square root of 3 equals 1.41はおかしすぎる
186 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 15:54:34 ] 人並みにおごれや だったな確か
187 名前:続・汗3 [2007/09/24(月) 16:03:22 ] 【1】以下のプログラムは、起動時に指定された2つのテキストファイルを比較し、 違う行があればその行番号を表示するプログラムです。空白部分(@〜D)を埋めて、 プログラムを完成させなさい。 1:/* インクルード /* 2:#include<stdio.h> 3:#include<string.h> 4:#include<errno.h> 5: 6:FILE*Fp1; 7:FILE* @ ; 8: 9:/* 関数宣言 /* 10:int main(int argc,char*argv[]); 11: 12:int Func_open(char*,int); 13:int Func_read(void); 14:
188 名前:続続・汗3 [2007/09/24(月) 16:04:59 ] 15:/* メイン関数 /* 16:int main(int argc,char*argv[]) 17:{ 18: int nrtn; 19: int ncnt; 20: 21: nrtn=Func_open(argv[1],1); 22: if(nrtn!=0) 23: return1; 24: nrtn=Func_open( A ,2); 25: if(nrtn!=0){ 26: fclose( B ); 27: return1; 28: } 29: 30: ncnt=0; 31: nrtn=0; 32: while(nrtn==0){ 33: nrtn=Func_read(); 34: ncnt++; 35: }
189 名前:続続続・汗3 [2007/09/24(月) 16:05:51 ] 36: 37: fclose(Fp1) 38: fclose(Fp2) 39: 40: if(nrtn<0) 41: printf("%sと%sは違う内容でした(%d行目)", 42: argv[1],argv[2],ncnt); 43: else 44: printf("%sと%sは同じ内容でした", 45: argv[1],argv[2]) 46: 47: return(0); 48:} 49: 50:int Func_open(char*szfname,int nno) 51:{ 52: errno=0; 53: if(nno==1) 54: Fp1=fopen(szfname,"r") 55: else 56: Fp2=fopen(szfname,"r") 57: if((Fp1==NULL&&nno==1)UU 58: (Fp2==NULL&&nno==2)){ 59: printf("<%s>エラー:%s",szfname,strerror C )); 60: return(-1); 61: } 62: 63: return(0); 64:}
190 名前:続続続続・汗3 [2007/09/24(月) 16:06:42 ] 65: 66: int Func_read(void) 67:{ 68: char*prtn1; 69: char*prtn2; 70: char szdat1[81]; 71: char szdat2[81]; 72: int nrtn; 73: 74: prtn=fgets(szdat1,81,Fp1); 75: prtn=fgets(szdat2,81,Fp2); 76: if(prtn1==NULL)UUprtn2==NULL) 77: return(9); 78: 79: nrtn=strcmp(szdat1,szdat2) 80: if(nrtn!= D ) 81: return(-1); 82: return(0); 83:}
191 名前:続続続続続・汗3 [2007/09/24(月) 16:08:23 ] 【2】上記プログラムにおいてFunc_read関数はstrcmpを使用して読み込んだ 2つのレコードが同じかどうか判断しています。 これをmemcmpを利用したロジックに作り直しなさい。 当方、全く初心者なのでさっぱしです。ヨロシクお願いしますm(__)m
192 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:13:30 ] ひでえコードだな
193 名前:デフォルトの名無しさん [2007/09/24(月) 16:15:27 ] 穴埋め問題はどうもやる気がおきんな
194 名前:へたれ [2007/09/24(月) 16:27:29 ] C言語 Windows EZ EDITOR for文,1次元変数,do-while文,if-else文,doubleなどは習いました。 期限:今日中 問題 2次方程式の開放プログラム:a,b,cをそれぞれ入力し、axの2乗+bx+c=0の2つの解を表示するプログラムです。 こんな感じで大丈夫でしょうか?
195 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:35:41 ] >>194 >こんな感じで大丈夫でしょうか? なんて言う前に、>>1 嫁 EZ EDITORってエディタ?そんな情報いらん コンパイラの方が重要だ
196 名前:へたれ [2007/09/24(月) 17:00:15 ] >>195 コンパイラの意味がわかりません。Visualかなぁ? WZ EDITORは関係なかったんですね。 PC初心者ですいません
197 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:16:03 ] >EZ EDITOR 今でも使っている奴いるのか?
198 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:19:34 ] プログラミングが上達するコツ pc11.2ch.net/test/read.cgi/tech/1190555031/
199 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:42:41 ] [1] 授業単元: C [2] 問題文 19と打てば、2 4 6 8 10 12 14 16 18と表示するプログラム [3] 環境 [3.1] OS: XP [3.2] VC++ 2008 [3.3] 言語: C [4] 期限: なるべく早めに [5] その他の制限:
200 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:45:22 ] いや、問題分は「入力された数字までの偶数を出力するプログラム」だろ?
201 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:45:35 ] WZ EDITORは今でも一応現役だな。 ほぼフルセットのC言語なマクロも使えるから、入門用の教材として使われるケースも希にある。 まあ、浮動小数点数とか使えないから、素直にVisualC++使っとけとも思うが。