1 名前:デフォルトの名無しさん [2008/12/16(火) 19:45:29 BE:198809273-PLT(36020)] あなたが解けない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++の宿題を片付けます 119代目 pc11.2ch.net/test/read.cgi/tech/1228313292/
159 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:17:57 ] 括弧の数がおかしいじゃん っつーか、やめとけ。
160 名前:デフォルトの名無しさん [2008/12/17(水) 17:23:03 ] >>159 なにがやめとけなんですか?
161 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:23:44 ] そんなペースでやってるようじゃらちがあかんということ。 1年ぐらいかけるつもりなら止めないけど
162 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:26:30 ] レイアウトを整えて 変数の意味を理解し次第replaceして 短くするための記述方法を開く。i++*9とか。 理解してないうちにprintfをcoutにしてみました!とか何でそう無謀な方向に進むのかがわからんよ。
163 名前:デフォルトの名無しさん [2008/12/17(水) 17:38:54 ] >>161-162 必修だから仕方なくやってるだけなんで、自分のものにしたいなんて思ってないんです。 どう直せばよろしいんでしょうか…('`)
164 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:44:24 ] >>163 >必修だから仕方なくやってるだけなんで、自分のものにしたいなんて思ってないんです。 その心意気が気に入ったのでコンパイル時にエラーが出ないようにしといた。 #include <iostream> using namespace std;int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10}; void k(){if(m[p]==0)for(i=0;i<8;i++){for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;if( c&&m[v]==t){a+=c;v=p;if(d)do m[v]=t,v+=r[i];while(m[v]!=t);}}}char*h="・○●\n" ;int main(){for(i=1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;for(;;a=d=0 ){for(p=9;p<82;++p)k(),cout<<h[m[p]*2];if(a)for(d=a=s=p=8;a==8;k())t-2?(cin>>p >>i),(p+=i*9):++p;else if(s)s=0,cout<<"pass"; else break;t=3-t;}return 0;}
165 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:48:59 ] >>163 元のソースは他人のだな。 ttp://pc11.2ch.net/test/read.cgi/tech/1087979678/1-25 21
166 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:54:08 ] 前スレ868です。 遅くなってすみません。 970さん、ありがとうございました。 しかし、問題文が不十分だったため、もう一度お尋ねします。 すみませんが、よろしくお願いします。 [1] 授業単元:プログラミングII [2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8368.txt [3] 環境 [3.1] OS:WinVista [3.2] コンパイラ名とバージョン:VC++2008 [3.3] 言語:C言語 [4] 期限:2008年12月17日18:00 [5] その他の制限:問題文のテキストファイルに、例を載せておきました。 何度もすみませんが、どうかよろしくお願いします。
167 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:00:22 ] >>166 pc11.2ch.net/test/read.cgi/tech/1228313292/972 じゃね?
168 名前:前スレ987 [2008/12/17(水) 18:02:50 ] 何度もすいません。自分では解らないので 再度、できる方がいればよろしくお願いしますm(-_-)m [1] 授業単元: プログラミングU [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8353.txt [3] 環境 [3.1] OS: Windows [3.2] VC 6.0 [3.3] 言語: C++ [4] 期限: 2008年12月17日3:00まで [5] その他の制限: 課題2のみお願いします。 課題2で使う課題1のソースは自作して問題文に張っておいたので それを使用して作成おねがいします。
169 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:03:46 ] >>154-155 ありがとうございます!
170 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:06:11 ] >>90 ほい。過去の資産流用。(笑) ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8369.c 後から表示例見たんで、もうそのままにしてある。 表示ぐらいは何とかしてくれ。必要な要素は揃ってるはず。 後、整数で計算ということだが、作ったテストデータで都合が悪かったんで、 double でやってる。これも気に入らんかったら変えてくれ。 しかしお前、誤字多いな。w
171 名前:デフォルトの名無しさん [2008/12/17(水) 18:06:57 ] >>164 ありがとうございます! >>165 このスレの119代目で教えてもらいましたw そのスレの中身も参考になりました。どうやって動くか分からなかったのでw あ、>>162 さんの短くする方法を使って申し訳ないんですがまた書いて欲しいです…学校で習った記述と違う部分があるので… 本当にすいません'`
172 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:15:15 ] >>163 なーんだ。じゃあそれが必修であるような学科に入ったのが間違いだよ
173 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:15:20 ] >>153 #include <stdio.h> #include <stdlib.h> #include <string.h> #define N 128 #define Y 15 #define H 5 int main(void) { char buff[N]; int year[Y], height[H]; int i, j; FILE *fp = fopen("cshukudai.csv", "r"); for (i = 0; i < Y; ++i) year[i] = 0; for (i = 0; i < Y; ++i) height[i] = 0; while (fgets(buff, N, fp) != NULL) { strtok(buff, ","); year[atoi(strtok(NULL, ",")) - 1975]++; height[(atoi(strtok(NULL, ",")) - 166) / 5]++; } puts("生まれた年のヒストグラム"); for (i = 0; i < Y; ++i) { printf("%4d:", 1975 + i); for (j = 0; j < year[i]; ++j) putchar('*'); puts(""); } puts("\n身長のヒストグラム"); for (i = 0; i < H; ++i) { printf("%3d-%3d:", 166 + 5 * i, 170 + 5 * i); for (j = 0; j < height[i]; ++j) putchar('*'); puts(""); } fclose(fp); return 0; }
174 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:16:32 ] 1箇所間違えてた >for (i = 0; i < Y; ++i) year[i] = 0; for (i = 0; i < Y; ++i) height[i] = 0; for (i = 0; i < Y; ++i) year[i] = 0; for (i = 0; i < H; ++i) height[i] = 0;
175 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:18:10 ] >>153 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8370.txt
176 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:32:44 ] >>153 です >>174 さん すいません、書くのを忘れていましたが 読み込みファイル(cshukudai.csv)の数値を変えると、表示結果も変わるようにするんでしたorz 例えば、生まれた年の最低値は1975年ですが cshukudai.csvの誰か一人の生まれた年を1970年に変更すると ヒストグラムは、1970:* 1971: 1972:... と表示されるようにしたいんです。 分かりにくくてすいません。。。
177 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:41:44 ] >>176 >>175 のはそうなってる。レコード数は25で決めうちしてるけど
178 名前:168 [2008/12/17(水) 18:47:24 ] 期限は18日3時の間違えです すいません
179 名前:デフォルトの名無しさん [2008/12/17(水) 19:19:41 ] なんで7行オセロを宿題に出すの?自由課題なの?
180 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 19:20:12 ] >>87 ありがとうございます、助かりました
181 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 19:53:23 ] >>179 なんでそんな、個人的などうでも良い質問をして 宿題に答えるのとは直接関係の無いレスしてんの? 馬鹿なの?野次馬なの?
182 名前:前スレ866 [2008/12/17(水) 19:54:31 ] [2] 問題文(含コード&リンク) 1.数式を入力する(例:x^2y^3 + 2x^2z^3 - y^5) 2.並び替える(優先順位:乗数が大きいものが先、乗数が同じ場合は係数が大きいものを優先する) [3] 環境 [3.1] OS: Windows [3.2] gcc [3.3] 言語:C [4] 期限: 2008年12月17日 数式を読み込んで式を個別に別けるとこまでは出来たんですが、(x^2y^3, +2x^2z^3, -y^5) この別けた式から係数と乗数をどのようにして摘出するかアドバイスもらえませんか?
183 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 19:54:37 ] >>181 無能ほど退屈
184 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:10:52 ] 7行オセロとか変態的だからコピってもバレること請け合いなのに。
185 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:15:19 ] 前スレの931の方 どうもありがとうございます。
186 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:17:17 ] [1]C [2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8371.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8372.txt [3]LINUX C [4]6時間後(木曜日午前2時) よろしくお願いします。
187 名前:デフォルトの名無しさん [2008/12/17(水) 20:18:27 ] >>181 じゃあお前が7行オセロの宿題に答えてやれよwww
188 名前:デフォルトの名無しさん [2008/12/17(水) 20:23:41 ] >>182 係数、xの乗数、yの乗数をひとまとめにしてスタックに入れてやればいいんじゃね? xの2乗と1乗が同時に出ることがないのならば。
189 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:23:53 ] >>181 はコンパイルできなくてイライラがたまってきた質問者
190 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:35:01 ] >>187 > じゃあお前が ここは個人を指定、名指しして答えてもらうスレでもないんだが、 マジでスレタイと>>1 が読めるようになってから、社会に出ろよ、ガキ
191 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:35:48 ] [1] 授業単元: 暇潰し [2] 問題文: 9桁までの素数で、 右から一桁ずつ桁数を減らしていった数が全て素数であるもの を昇順に全て出力する (1行に1つずつ)。 最後に、1行空けて総数を出力すること。 出力先は、標準出力のこと。 例) 233 => 23x => 2xx 23 や 2 も上記条件を満たす素数である。 また、 「左」から一桁ずつ桁数を減らしていった数が全て素数であるもの も同様に求めよ。 例) 223 => x23 => xx3 [3] 環境 OS,コンパイラは、特に指定しない。 言語は、 C/C++ のどちらでも。 [4] 期限: 12/25 [5] その他の制限: プログラムの実行時間は、2秒以下とする。
192 名前:182 [2008/12/17(水) 20:37:29 ] >>188 どうしたらいいですかね? ^の後の数字にしたら乗数が2桁以上のときに対応できないし… 文字列から数字だけを抽出する方法とかないですか?
193 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:39:32 ] >>192 strto?()たとえば、strtol()で調べてみるといいよ。
194 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:40:02 ] >>192 ^の後ろに続く数字は全部乗数(っていうんだっけ?)として扱えばいいんじゃない?
195 名前:デフォルトの名無しさん [2008/12/17(水) 20:41:23 ] >>192 いや乗数が2桁のときはスタックの考え方でいけるだろ 例えば1つ目の数値があったとして2つ目の数値が来たら 1つ目の数値×10+2つ目の数値を記憶するとか。
196 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:47:39 ] [1] 授業単元:C++ [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8373.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC 2005 [3.3] 言語:C++ [4] 期限: 12月18日18:00迄 [5] その他の制限:strlenを使ってはいけない。for,if,while文は可。 よろしくお願いします。
197 名前:デフォルトの名無しさん [2008/12/17(水) 20:49:12 ] >>196 同じ学校か? >>154-155
198 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:52:44 ] >>197 !? うわ、見てませんでした。すいません。 ありがとうございます。
199 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:13:14 ] >>196 きんもぉ〜★なクソースでおじゃる。 他人と似たソースを提出したら、疑われるでおじゃるよ。 麻呂のソースを採用してたもう。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8374.c
200 名前:デフォルトの名無しさん [2008/12/17(水) 21:15:44 ] >>199 これまた酷いクソースだなwww
201 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:15:52 ] >>191 1個目は166個?
202 名前:201 mailto:sage [2008/12/17(水) 21:19:29 ] 83に訂正!
203 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:22:16 ] >>196 2つめのクソースでおじゃる。チムポファイルを使うでおじゃるよ。 さすれば、環境によるけど、文字数の制限は気にせず、チムポファイルの 許容範囲にまで広がるでもじゃる。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8375.c
204 名前:デフォルトの名無しさん [2008/12/17(水) 21:24:31 ] >>199 >>203 いちいちファイルに読み書きしてるのかよ
205 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:30:41 ] >>204 いちいち文字配列に書き込むのは良いのかよ? どちらにしろ、一時的に記憶領域を確保して記録している点は同じだろ。 意見するにしても、考えが浅はか過ぎるんだよ、未熟者ってのは。 自分がそうしないこと=ありえない、間違っているという考えは、 多様化する社会では通用しない、孤立する考え、思想。
206 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:33:11 ] まぁ、この世は不平等でも、C言語のライブラリは開発環境さえあれば、 誰でも同じものを共通して利用することが出来る。 しかし、経済力や技術力の差で、一般ピーポー君は いくら高性能なエンジンを積んでも、混雑する路上を移動。 一方、金持ち、ヘリの免許とヘリを所有している大企業の社長は 昼食のために、ヘリで移動。費用は雲泥の差だがなw そういうこと。
207 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:33:26 ] 独走過ぎて他人に読めないソース書かれても困ったもんだがなw 個人的にはあのクソースはGJだとは思うがwww
208 名前:191 mailto:sage [2008/12/17(水) 21:36:53 ] >>202 83 で正解です。 因みに、最後(83番目)の素数は、73939133。
209 名前:デフォルトの名無しさん [2008/12/17(水) 21:39:46 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): 「果物名 単価 個数」の形式の取引のデータのファイルを読み込む。ファイルを読み込み終わった後に、「取引の総数」、 「合計の金額」、「金額が最大であった取引の(整数計算でする)」、「1取引あたりの平均金額(整数計算でする)」、 「金額の最大であった取引(最初を1とする)の番号」と「その金額」をprintfを用いて標準出力に表示するプログラムを作れ。 入力データファイルには /home/sample/PE1/2008/e12.txt を用いる。(ファイル名はfopenの因数に文字列定数として書いてよい) ファイルの全データを格納できるような大きな配列を用いてはいけない。(平均は、金額の合計と取引の総数から計算できる) 個数と金額は、ゼロまたは府の値にならないとする。また、取引金額の最大値が複数の取引に現れることはないものとする。 出力の形式は次の実行結果の例。 取り引数10 合計金額6424円 合計個数57個 平均112円/個 642円/取引 最大の取引は6番目で2064円 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 2008年12月17日23時59分 [5] その他の制限:制限なし
210 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:41:25 ] 使えるものは使え。テンポラリーファイルだって、普通に使われているんだが? 技術力にしても、知識にしても、ここの連中はレベルが低すぎるんだよ。
211 名前:デフォルトの名無しさん [2008/12/17(水) 21:54:03 ] >>172 そうなんですよねー >>179 はいそうです。 >>184 なんとまぁ!w ばれないように部分的に変えようと思うのでまた聞きにきますw >>189 >>164 でコンパイルできないんですか!? まだ確かめられてなくて・・・
212 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:10:27 ] >>209 ちょーてきとー #include<stdio.h> int main(){ int max_i=0,max_total=0; int i,num,cost; int sum = 0; int total_num = 0; if(!freopen("/home/sample/PE1/2008/e12.txt","r",stdin)){ perror("/home/sample/PE1/2008/e12.txt"); return; } for(i=0;scanf("%*s%d%d",&num,&cost)!=EOF;++i){ int total = num*cost; if(total > max_total){ max_total = total; max_i = i; } sum += total; total_num += num; } printf("取り引数%d\n",i); printf("合計金額%d円 合計個数%d個\n",sum,total_num); if(i)printf("平均%d円/個 %d円/取引\n",sum/total_num,sum/i); printf("最大の取引は%d番目で%d円",max_i+1,max_total); }
213 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:11:28 ] >>191 2個目は2166?
214 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:30:14 ] [1] 授業単元: 科学実習T [2] 問題文: 以下の配列を小さい順にならべ変えるプログラムを作れ。 int numbers{10} = {82,47,2,29,95,15,38,66,51.72} [3] 環境 [3.1] OS: windows xp [3.2] コンパイラ名とバージョン:gcc -o [3.3] 言語: C言語 [4] 期限: 2008年12月31日23時59分 [5] その他の制限:特になし、お願いします。
215 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:33:06 ] >>214 ほい #include <stdlib.h> int compare(const int *a, const int *b) { return *a - *b; } main() { int numbers{10} = {82,47,2,29,95,15,38,66,51.72} ; int i; qsort(numbers, sizeof(numbers) / sizeof(int), sizeof(int), (int (*)(const void*, const void*))compare); for (i = 0; i < 10; i++) { printf("%d", data[i]); } printf("\n"); }
216 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:34:47 ] >>191 > プログラムの実行時間は、2秒以下とする。 CPUの性能で差が出るのに?
217 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:42:29 ] >>191 2166個目の数は999962683で合ってる? 2166個だとprint文で結構掛かりそう
218 名前:202=213 mailto:sage [2008/12/17(水) 22:51:55 ] >>217 実はちゃんと昇順で出してなかったから、最大値をはかってみたんだけど、999962683になってたよ。 2166なのは出るけど超遅い!これ2秒でできるのだろうか? 1個目は0.8秒(Core2Duo3Ghz)だけど2個目は40秒くらいかかる。。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8376.txt もしよかったらどう解いたか教えてください。
219 名前:217 mailto:sage [2008/12/17(水) 22:55:47 ] >>218 前の桁で求めた数値を利用するくらいしかしてない 自分の環境だとギリギリ2秒くらい kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8378.txt
220 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 22:56:47 ] それまで求めた素数を使ってもおkなんでしょ? 右にずらす、つまり10で割っていった値がそれ以前に求めた素数に 該当すればおk。
221 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:00:13 ] なにいってんだ?
222 名前:217 mailto:sage [2008/12/17(水) 23:00:26 ] >>220 の方法が最速っぽいな
223 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:01:08 ] >>221 だから理解力のない、日本語力もない馬鹿はレスするなつってんだよ、基地外
224 名前:217 mailto:sage [2008/12/17(水) 23:01:23 ] ん、右にずらす前の素数判定で時間食うか
225 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:01:46 ] >>221 それまで求めた値を使えば、わざわざ右にずらした値が 素数か、また求めなおす必要もないんだが?池沼は黙ってろよ。
226 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:02:41 ] >>224 エラトステネスの篩を使うのもありじゃね?ただ、いくら速度を求めても 最終的にはCPUの性能に左右される。
227 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:04:44 ] 単純にふるいがけすると10億要素必要だからキツイ。 2 3の倍数を除いたとしても3億なのでキツイ。 9桁までの素数を配列に詰めて2分探索するのがいいと思う
228 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:06:17 ] >>227 それ言うと>>191 の解をあらかじめテーブルに持っておきたくなるなw
229 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:07:47 ] [1] 授業単元: ネットワークプログラミング演習 [2] 問題文: HTTP1.1プロトコルを満たすサーバとクライアントを作れ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8377.zip までは出来たんですが、 サーバが、fgetsしてクライアントの要求のGET /index.htmlを確認したら、残りの要求を無視するようにすると、ときどきパイプ破壊と表示されてプログラムが停止します。 これってどういう原因で起きてるんでしょう?(sarver.cの70行目前後です) 後、のこった要求を while(fgets (str, STR_SIZE, ns_read)); で読もうとするとfgetsのところから進まなくなります。 これもなぜなんでしょう? [3] 環境 Linux gcc [4] 期限: 明日の昼頃まで [5] その他の制限: とくになし みにくいソースですけどよろしくお願いします。 他にも改善点などあれば教えていただきたいです。
230 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:08:23 ] 処理の中で求めてその一覧をキャッシュして使うのは何も問題ないっしょ 9桁だからintにおさまるし、悪くはないと思う。
231 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:11:29 ] >>225 右にずらすって考え方がそもそもおかしい。 元の素数に数値を足してそれが素数か判定してくのが早い。
232 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:12:18 ] >>231 問題文がそうなんだが?いちいち五月蝿いなぁ、あんたは。
233 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:15:19 ] いやいや、>>231 じゃないが、そういう順で判定を行えとは書かれてないよ。 そういう形の数であるかどうかだけなので、組み立てた結果そういう数字になっているというのもありだと思う。 が、そっちの方が速いかどうかは俺には分からん。
234 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:16:20 ] >>219 実行速度確認したかったけどコンパイルできなかった… Borland C++なんですけど
235 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:17:28 ] long longをintにすれば?
236 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:18:16 ] それまで求めた素数を10倍して、10未満の素数を足してそれが素数か? それを繰り返せばおkってか?
237 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:19:59 ] 10未満の素数ではなく、1 3 7 9 について吟味すればいいんじゃないかな。
238 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:22:31 ] >>235 ありがとうございます!神よ!
239 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:37:43 ] [1]授業単元:C言語 [2]問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8381.txt [3]環境 [3.1]OS:windows XP [3.2]コンパイラ名: visualC++2005 [3.3]言語:C [4]期限:2008年12月18日AM7時30分まで [5]特にありません,よろしくお願いします。
240 名前:デフォルトの名無しさん [2008/12/17(水) 23:37:47 ] [1]授業単元:プログラミングC [2]問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8382.txt [3]環境 [3.1]OS:windows XP [3.2]コンパイラ名: gcc [3.3]言語:C [4]期限:2008年12月20日 18時30分 よろしくお願いします
241 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:40:55 ] [1] 授業単元:プログラミングU [2] 仕様に基づいたシミュレーションプログラムを作成し、シミュレーション結果をExcelでグラフにしなさい。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8383.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Microsoft Visual Studio .NET 2003 [3.3] 言語:c言語 [4] 期限:12月18日 よろしくお願いします
242 名前:191 mailto:sage [2008/12/17(水) 23:48:08 ] レス遅くなりました ごめんなさい >>213 ,217,218 ですね。 最後の素数は、 999962683 です。 桁制限を外せば、 全部で 4260 個で 最後の素数は、357686312646216567629137 (24桁)だそうです。 どちらも有限集合なんですね。 にしても、回答が速いですね。 すごい。 >>216 32ビット CPU 動作周波数1GHz 以上を想定してました。 >>233 さんの言う通り、 求め方を指定したつもりは無かったです。 >>219 一桁の素数はハードコーディングでもよかった・・・スミマセン
243 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:49:37 ] 999962683 > 99996268 < ん?
244 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:51:43 ] 9999626 < んん? 999962 < んんん? 99996 < んんんん? 9999 < んんんんん? 999 < んんんんんん? 99 < んんんんんんん? 9 < えっ!?
245 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:51:48 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): 数学と英語の成績の2つのファイルを読んで処理する。 数学の成績ファイル math.txt の各行は「学生番号」「名前」「数学の得点」のデータがあり 英語の成績ファイル english.txt は「学生番号」「名前」「英語の得点」のデータがある。 2つのファイルの行数は同じ。原則的に学生も同じ順序だが、いくつかは間違っている。 2つのファイルを読み込み、両ファイルで学生番号が一致する学生は「2科目得点の和が140点以上」 かを判定し、そうなら「学生番号」「名前」「数学の得点」「英語の得点」「合計得点」を、 不一致ならば「<番号>と<番号>で一致せず」を1行でreport.txtという名のファイルに出力。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 2008年12月18日12時00分
246 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:56:35 ] >>243 2種類あるから。。
247 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 23:57:47 ] >>242 へええ、有限なんだねぇ。 そりゃそうか、と納得する一方で、なんか残念な気持ちも。
248 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 00:14:45 ] 麻呂の会社は有限でおじゃるが、残念でもないでおじゃるよ。
249 名前:デフォルトの名無しさん [2008/12/18(木) 00:26:52 ] [1] 授業単元:データ構造とアルゴリズム [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8384.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8385.txt [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: 明日の12時まで [5] その他の制限:特になし
250 名前:デフォルトの名無しさん [2008/12/18(木) 01:20:48 ] p1-up.axfc.net/uploader/He/ [1] 授業単元: [2] 構造体の配列を作った住所録(メニューを使った選択式) 関数を使ってプログラムの最初にファイルを呼び出し 入力ファイルから構造体を読み込む(readモード) メニューから終了を選ぶと配列からファイルへ出力 [3] 環境:普通 [3.1] WindowsVista [3.2] visualstudio 2005 [3.3] 言語 C [4] 期限: ([2008年12月18日12:00まで] [5]住所録のcppファイルは↓にうpしてあります キーワードは「C言語」です p1-up.axfc.net/uploader/He/upload.cgi?1229529794103920171
251 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:08:15 ] [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク):下のレス [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2008年12月24日 13:00 [5] その他の制限: ヒントを使って作るらしいです。よろしくお願いします。
252 名前:251 mailto:sage [2008/12/18(木) 02:10:48 ] [2]問題文 下記プログラムは 文字列Tokyo を逆順に表示するプログラムである. #include<stdio.h> main() { static char string[ ]=“Tokyo”; char *cp; cp = string + 6; while(--cp >= string) putchar(*cp); putchar(‘\n’); } 実行結果 oykoT 上記プログラムを関数recpy()を作成して書き直しなさい.main関数をヒントに示す.データのやり取りにはポインタを用いること
253 名前:251 mailto:sage [2008/12/18(木) 02:11:20 ] 関数作成のヒント *ptr1 *ptr2 tempc の3つの変数を宣言して使用する. 逆に表示させるためには,文字の入れ替えをしなくてはならない.ソートプログラムを思い出す. char *recpy(ptr) char *ptr; { char *ptr1, *ptr2, tempc; ptr1 = ptr2 = ■■■ ここは考える ■■■; while(■■■ ここは考える ■■■){ ■■■ ここは考える ■■■ } --ptr2; while(■■■ ここは考える ■■■) { 文字列の入れ替え }
254 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:24:43 ] スレ違いで申し訳ありませんが、>>191 の答えのソースはありますか? 自分でも作ってみましたが、83個でしたが、昇順に並べるところまでは出来なかったものでして。
255 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:54:25 ] どうスレ違いか分からないが、>>191 が満足してるということはどこかにうまく動作するコードがあるだろう。 そのコードを入手、提出することで>>254 >>191 のいずれかまたは両方の評価が下がるだろう。
256 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:55:32 ] >>255 > どうスレ違いか 宿題じゃないから。ある人が出した、突発的な課題だから。
257 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:56:38 ] 授業単元が暇つぶしだw
258 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:58:12 ] >>255 > のいずれかまたは両方の評価が下がるだろう。 なんで評価が下がるか、こっちの方が分からんわ・・・
259 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 03:29:21 ] 同じコードが複数提出されたらそりゃ減点だろ