C/C++の宿題を片付けます 114代目

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】        http://chomework.sakura.ne.jp/
【wiki】               http://www23.atwiki.jp/homework/

C/C++の宿題を片付けます 113代目
http://pc11.2ch.net/test/read.cgi/tech/1215986178/
2デフォルトの名無しさん:2008/07/23(水) 02:19:10
6 名前: デフォルトの名無しさん Mail: sage 投稿日: 2008/07/14(月) 07:52:06
基本的にスレ立て人がルールを作りますんで、最近話題の
回答テンプレはルール違反なんで遵守しないようお願いします。
以下の行為のいずれかを行った場合、回答テンプレ遵守行
為と見なされる場合がありますのでご注意下さい。

1)回答レスに回答の品質を書く事。
2)回答レスに外部サイト(アップローダー)に置かれたコードへのリンク
を貼る際に、このレス(スレURL)とソースの間に相互関連づけを行
うこと。
3)コンパイル、コード作成に使用した環境を書く事
4)回答に余計なコメントを入れること。
(ソースに入れるコメントは本スレとの関連情報以外ならおKです)
3デフォルトの名無しさん:2008/07/23(水) 02:28:30
後、まとめ作業の方は、2スレくらいに纏めて、小さいけど省スペース。
4前スレ>>406:2008/07/23(水) 02:35:24
C/C++の宿題を片付けます 113代目の>>406 です。
すいませんでした。
出直してきます。
本当に、お騒がせしました。
>>908
勉強不足で、分からないまま色々書き込んでしまい
本当にすいませんでした。
ありがとうございました。
5デフォルトの名無しさん:2008/07/23(水) 02:52:09
>>876
>>895
前スレの↑の方
返信ありがとうございます。
助かりました
6デフォルトの名無しさん:2008/07/23(水) 03:13:05
宿題ではなくコンパイラのテストで以下の問題の類題が
出題されるのですが、解らなくて…。
問:次の言語を表す正則表現を示しなさい。
1.アルファベット{0,1}上の記号列のうち、0から始まり1が
0回以上続くもの全体からなる言語。
2.アルファベット{a,b,c}上の記号列のうち、1個以上のaと1個以上の
bを含むもの全体からなる言語。
3.アルファベット{0,1}上の記号列のうち、0と1が交互に
出現するもの全体からなる言語。

テストが今日の朝なので、期限は今日の朝までです。
急で申し訳ありません。
また、適切なスレが分からなかったのでスレ違いっぽいですが、
よろしくお願い致します。
7デフォルトの名無しさん:2008/07/23(水) 03:26:00
>>6 [regular expression]
1. 01*
2. a+c*b+|b+c*a+
3. 0(10)*|1(01)*
8デフォルトの名無しさん:2008/07/23(水) 03:38:09
流派が何故かある性器表現w
9デフォルトの名無しさん:2008/07/23(水) 04:39:25
>>7
2番って、[abc]*a[abc]*b[abc]*|[abc]*b[abc]*a[abc]*じゃなくて良いの?
10デフォルトの名無しさん:2008/07/23(水) 05:24:36
>>7
3番って、0(10)*|1(01)*|0(10)*1|1(01)*0 じゃなくて良いの?
11デフォルトの名無しさん:2008/07/23(水) 06:02:44
http://pc11.2ch.net/test/read.cgi/tech/1215986178/982-983
全角が入っている部分はここに書き込むときに入れてしまったとは思うが
最初の日付の部分は、そのあと時刻しか表示していないから気づかなかったのか?
上の方に

struct tm *tm_now;
printf("\033[2J");
now = time(NULL);  < これを追加
prev = now;
12デフォルトの名無しさん:2008/07/23(水) 06:15:41
>>3
了解です。
しかし今のペースでは3スレにまたがってしまいます。何を省きましょうか?
(個人的な意向としては、1) 期限が切れた問題でも未解決のものは提示したい。2) 回答があった問題でも1回はリストに入れておきたい。)
内容要約を省く方向で考えていますがどうでしょうか。
ご意見をお待ちしています。
1312:2008/07/23(水) 06:22:36
>>2
個人的には、「回答テンプレートはルール違反」とは思いませんし、回答テンプレの提案行為事態を否定するものではありません。
ただし前スレ、前々スレで提案された内容については、すべて「強く反対」します。
14デフォルトの名無しさん:2008/07/23(水) 06:36:54
いや、いちいち五月蝿い。最低限回答したソースを提示すりゃ良いのに。
自分が答える気がないのに、ソースを提示しないくせに質問者に
お前がやれみたいなアホなことぬかすボケがいたり、少しは
>>1とスレタイを読めよ、ゆとりw
15デフォルトの名無しさん:2008/07/23(水) 06:48:47
四の五の言わず、ソース以外の部分は各自適当に書いておけ。
一番重要なのは、課題に沿った答えの結果を出す、コンパイル可能なソースコード。
人間の言葉であれこれ解釈だのやり取りだのせんでもよろしい。
16デフォルトの名無しさん:2008/07/23(水) 06:49:07
>>6
無駄に短縮したぜ
01*
C*(B[BC]*A|A[AC]*B)[ABC]*
(1|)(01)*(0|)
17デフォルトの名無しさん:2008/07/23(水) 07:08:28
初心者向けオープンソースコードを晒すスレ
http://pc11.2ch.net/test/read.cgi/tech/1216759614/
18デフォルトの名無しさん:2008/07/23(水) 07:11:39
前スレ979
CSV形式にはタブで区切るのもあるので、 char *gDlim = " ,\n\t";
あとはちゃんとBook1.csvを同じフォルダに置かないとだめ。
fopenの戻り値がNULLならエラーするようにしておくんだ!!

前スレ968 mainだけの差分。
int main(){
int i,n;double AreaTotal,area; point O,R,C;
printf("点数はなんぼじゃ!");scanf("%d",&n);
for(i=0;i<n;i++){scanf("%lf %lf",&(Polygon[i].x),&(Polygon[i].y));}
Polygon[n].x = Polygon[0].x;Polygon[n].y = Polygon[0].y;
/* for(i=0;i<=n;i++){printf("%d - %lf %lf\n",i, (Polygon[i].x),(Polygon[i].y));} */ /* 確認用 */
O.x = 0.0; O.y = 0.0; for(i=0;i<n;i++){ O.x += Polygon[i].x; O.y += Polygon[i].y;}O.x /= (double)n; O.y /= (double)n;

R.x = 0.0; R.y = 0.0;AreaTotal=0.0; for(i=0;i<n;i++){
C = TriCenter(O,Polygon[i],Polygon[i+1]);AreaTotal += area = TriArea(O,Polygon[i],Polygon[i+1]);
R.x += C.x * area; R.y += C.y * area;}
R.x /= AreaTotal; R.y /= AreaTotal; printf("%lf %lf\n",R.x,R.y);return 0;}

じゃあの。
19デフォルトの名無しさん:2008/07/23(水) 07:18:21
>>18
タブ区切りはCSVじゃなくてTSVだろ
20デフォルトの名無しさん:2008/07/23(水) 07:24:50
>>19
こまったことに広義のCSVつーとカンマありスペースありタブありなんでもありなんよ……
狭義つーより正しい意味合いならいうちょるとおり間違いなくカンマつかう方がええ。
まあ課題じゃ、そんなちっちゃいことは気にすんなや

じゃあの。
21前スレ982:2008/07/23(水) 07:29:15
>>11
本当に助かります。
ありがとうございました。
22デフォルトの名無しさん:2008/07/23(水) 08:01:02
>>20
”こまったことに広義のCSVつーとカンマありスペースありタブありなんでもありなんよ…… ”

Comma Sparated ValueがCSVなのに、どこのどいつがそういってるの?ゆとりなの?
それとももう死んでるの?

(awkだとBEGIN句でフィールドセパレータを指定可ですね)
23デフォルトの名無しさん:2008/07/23(水) 08:04:28
>>22
言葉1つ1つの意味ではそうなるが、実際に , 以外にも
スペース、タブなどで区切った CSV ファイルは存在するよ。
24デフォルトの名無しさん:2008/07/23(水) 08:09:32
表計算ソフトを使ったことがある人なら知っている
CSVは確かにコンマで区切られた値のファイルと言うべきだろうけど
モノによるんで、その辺はそれに応じてユーザ側が適切に処理をするってことで。
25デフォルトの名無しさん:2008/07/23(水) 08:10:35
そのようなフォーマットをCSVと呼ぶのが間違い。
26デフォルトの名無しさん:2008/07/23(水) 08:11:21
The C Programming Language 274ページ

http://www.amazon.co.jp/Programming-Language-Version-Prentice-Software/dp/0131103628

The C++ Programming Language 1030ページ

http://www.amazon.co.jp/C-Programming-Language-Bjarne-Stroustrup/dp/0201700735

この厚さの差が問題だと思うけどな。スピードを求めるならCで書けばいいし、そうで
ないならJavaとか使えばいいかと思う。C++は何でも屋であるが故に駆逐されつつある。
27デフォルトの名無しさん:2008/07/23(水) 08:12:58
[1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):
分数の四則演算を計算するプログラムを作成せよ。
キーボードから、2つの分数、および、それらの間の演算子を入力して、その計算結果を表示すること。
<要求事項>
1.分母がゼロの入力エラーに対しては、再入力するよう促す。
2.除算において、除数がゼロの入力エラーに対しては、再入力するように促す。
3.以下範囲の整数(分子、分母にかかわらず)に対して、正しく計算できるようにすること。
  -2147483648 〜 2147483647
4.計算結果(画面表示)については,分母が1の時には分子のみの表示にする。分数が0(ゼロ)の時には 0(ゼロ)のみを表示する。また,最終の計算結果を既約分数にする。分数が負数の場合、負符号(-)を分数の前に表示する。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C++
[4] 期限: 2008年7月30日まで
[5] その他の制限:
条件分岐、繰り返し、配列ぐらいまでなら習ってます。
関数は使わないでください。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7478.txt
↑3以外の要求事項を満たしたプログラムです。参考までに…
よろしくお願いします。

スレが新しくなったので
28デフォルトの名無しさん:2008/07/23(水) 08:13:37
>>22
> どこのどいつがそういってるの?ゆとりなの?
どこのどいつがではなく、そういうCSVファイルが存在します。
ゆとりとか相手を見下す、罵倒するレスは好ましくないどころか
ご自分の人間性の低さを露呈するだけですので、慎むことをお勧めします。
そう、あなたが自分の無知を晒して恥さらしをしているだけに
過ぎないということですので、あしからず。
296:2008/07/23(水) 08:18:55
>>6です。
皆さん、ありがとうございました。
助かりました。
30デフォルトの名無しさん:2008/07/23(水) 08:21:08
>>28

>そういうCSVファイルが存在します。 
そういう ”あたまの悪い” 引用例plz

>ゆとりとか相手を見下す、罵倒するレスは好ましくないどころか 
>ご自分の人間性の低さを露呈するだけですので、慎むことをお勧めします。 
自覚があるので大丈夫かな?(´・ω・`)

>そう、あなたが自分の無知を晒して恥さらしをしているだけに 
>過ぎないということですので、あしからず。 
ぉぅょ、無知なのでおせ〜てwww
31デフォルトの名無しさん:2008/07/23(水) 08:21:43
32デフォルトの名無しさん:2008/07/23(水) 08:33:46
カンマで区切られた値が更に別のセパレータで区切られてるようなものを言っている?
33デフォルトの名無しさん:2008/07/23(水) 08:39:13
>>32

おまwww、フィールドセパレータってわかってるの?意味つうじんの?

34デフォルトの名無しさん:2008/07/23(水) 08:44:48
>>33
いや俺に言われても。
CSVなのにタブ区切りとかいう無茶な主張を理解しようと努力してるだけだし。
35デフォルトの名無しさん:2008/07/23(水) 09:09:43
>>20
ねーよ。
CSVのCはカンマだし、RFCもあるだろ?
36デフォルトの名無しさん:2008/07/23(水) 09:11:18
>>35
必死だなw
37デフォルトの名無しさん:2008/07/23(水) 09:12:10
きっとCharacter-Separated Values
38デフォルトの名無しさん:2008/07/23(水) 09:12:44
>>35
お前が存在を知らないだけ、無知を晒す前に発言しない方が身の為だよ
39デフォルトの名無しさん:2008/07/23(水) 09:17:20
>>36
いやいや、コレに載ってる
http://ja.wikipedia.org/wiki/CSV
コレのことだろ?
http://tools.ietf.org/html/rfc4180

Excelがなんとなくtab-separated-valuesを扱うのは古い表計算ソフトに対抗する為だろ。
40デフォルトの名無しさん:2008/07/23(水) 09:28:55
いつまでCSVの話をしてんだよ?コンマで区切られているか
簡単にでも良いからコンマを検出するプログラムを作るなり
ユーザはコンマでしっかりと区切られたデータを使うなりして
対処すりゃええがな。
4122:2008/07/23(水) 09:49:41
>>40
そだね

Character Sparated Valueには一本取られたって感じ
無知だったわww(こじつけかよww)

>>34
awkだとフィールドセパレータは一文字だけじゃなく文字列でいいんだわ
(半角スペースorTabとか)

>>all
日ごろcompilerにうざいwarningやerror指摘されてるんで
ちょっと煽ってみただけだわww、勉強になったわwww
42デフォルトの名無しさん:2008/07/23(水) 09:53:10
>>40
本来気にしなくてはいけないのは、引用符の方だが、「タブ区切り」とか言ってる奴は無知だから知らない。

「ツリでした」は、敗北宣言だっけ?
43デフォルトの名無しさん:2008/07/23(水) 10:46:06
>>42
意味がわからない。そもそも、CSVとは言えなくても、表計算ソフトが今回の話では
直接的ではないが、区切り文字にはコンマ以外にも、スペース、タブ、
文字列にはダブルクォート、シングルクォートなど使い分けがされているものもある。
だから、後はユーザ適当に統一させて、適切に読み込む操作をして
必要に応じたデータの読み込み、展開をしてやれば良いのさ。
完璧なプログラムなんてこの世にはないし、当然目的に応じたものを
目的に応じて、プログラムが適切に処理できる形式のファイルに保存、
ファイルを読み込むというのは昔からされていたことだしね。
まぁ、とにかくもうCSV形式の話は終わり。なんならしっかりとコンマで
区切られているか、最初に調べる部分を追加すりゃええがな。
44デフォルトの名無しさん:2008/07/23(水) 11:08:29
>>43
CSVと言えなくちゃダメだろ
45デフォルトの名無しさん:2008/07/23(水) 11:09:34
>>43
CSVに含まれている空白やタブで勝手に区切っちまったら0点だろ?
46デフォルトの名無しさん:2008/07/23(水) 11:15:32
2 名前: デフォルトの名無しさん Mail: 投稿日: 2008/07/23(水) 02:19:10
6 名前: デフォルトの名無しさん Mail: sage 投稿日: 2008/07/14(月) 07:52:06
基本的にスレ立て人がルールを作りますんで、最近話題の
回答テンプレはルール違反なんで遵守しないようお願いします。
以下の行為のいずれかを行った場合、回答テンプレ遵守行
為と見なされる場合がありますのでご注意下さい。

1)回答レスに回答の品質を書く事。
2)回答レスに外部サイト(アップローダー)に置かれたコードへのリンク
を貼る際に、このレス(スレURL)とソースの間に相互関連づけを行
うこと。
3)コンパイル、コード作成に使用した環境を書く事
4)回答に余計なコメントを入れること。
(ソースに入れるコメントは本スレとの関連情報以外ならおKです)
47デフォルトの名無しさん:2008/07/23(水) 11:16:36
>>46
なみだ目逃亡かよ
48デフォルトの名無しさん:2008/07/23(水) 11:17:50
>>43
CSVの話にCSVじゃないものを持ち込もうとした方がおかしいだろ?
49デフォルトの名無しさん:2008/07/23(水) 11:24:27
ん?だって、コンマが1つもないのにCSVとか言われてもさぁ〜
それじゃ、スペースで区切ってますか?タブでつか?
それとも、あ・た・し?ってプログラムに検出、判別する昨日がなきゃ
適切にコンマで区切ってくれないじゃ〜〜ん
だったら、コンマがねーぞゴルァ、CSVじゃないからそのファイルは
読み込みしません、あしからずでプログラムを終了すりゃええやーん、な?
俺ってあったまいー
50デフォルトの名無しさん:2008/07/23(水) 11:25:35
>>48
はぁ、だからそれは俺じゃねーってw
確かにおかしいが、そこまで必死に噛み付かなくてもええやん・・・
っつかキモイぞw
とにかくCSVの話はおーわーりー、ね?あまりしつこいと嫌われるよ。
あっ、もう既に嫌われたから孤立してここで相手にしてくれる人だけが
頼りの人生を送っているのか、すまねぇ。
51デフォルトの名無しさん:2008/07/23(水) 11:28:25
CR/LF/CRLFで区切られたプレーンテキストファイルは、すべてCSV
であることがわかった。勉強になったな、よかったなw
52デフォルトの名無しさん:2008/07/23(水) 11:31:44
>>51
誰も聞いてないよ、そんなこと。終わりだっつってんだろ?
話の分からない奴ってほんっとさいてー、だからモテないんだよ。
53デフォルトの名無しさん:2008/07/23(水) 11:34:40
>>49
CSVを勝手にタブで区切れば0点だろ
54デフォルトの名無しさん:2008/07/23(水) 11:39:07
しつけぇ、話の分からない奴ほど始末の悪い奴はいない。
これだから粘着暇人は・・・いつまでCSV紛いの区切りデータに
翻弄されてんの?w
55デフォルトの名無しさん:2008/07/23(水) 11:39:45
>>54
バカを調教してやってるんじゃン
56デフォルトの名無しさん:2008/07/23(水) 11:42:46
>>53
知らないよ、俺はコンマ以外で区切ったCSVを良しとした覚えはないよ。
だからそこまでいうなら、コンマで区切られているか判定する
コードを追加したらどうだといったまでだが?何がCSVかについては
俺は言ってない。CSVかどうか判定するならしろってこと、いい加減うぜー
57デフォルトの名無しさん:2008/07/23(水) 11:44:30
>>49のどこにコンマ以外で区切ったものもCSVにしろって書いてある?
そうでなけば、CSVかどうか判定する機能をつけたらって話だろ。
ほんっと、話の分からない奴って鬱陶しいな。KYな奴は
まだCSVの話を続けるだろうけど、以後放置よろ。いい加減本題に戻れ。
CSVの話をメインにするスレじゃないぞ、ここは。
58デフォルトの名無しさん:2008/07/23(水) 11:47:45
なんか前スレと話が変わってね?
59デフォルトの名無しさん:2008/07/23(水) 11:53:34
>>57
カンマが一つも無くてもCSV形式なんだぞ?
60デフォルトの名無しさん:2008/07/23(水) 11:58:07
1] 授業単元: プログラム入門
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7491.txt

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 今日の16時
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

やさしい人お願いします
61デフォルトの名無しさん:2008/07/23(水) 12:03:13
[1]初等C言語
[2]32個の文字列をコンソールから読み込み、入力された順序と逆に
結合して表示せよ。
ただし使用出来る関数やコードに強い制限がある。
[3]Windows XP/Visual Studion 2003/C
[4] 7/26 17:00
※stdio.h string.hのみインクルード可能
※10個の文字列は、長さ256の文字配列32個からなる2次元配列
とせよ。識別子は自由
※文字列は長さ8192の文字配列geに結合すること
※printf系,putc系関数は使えない。文字表示はputs関数を使用すること
※コンソール入力はfgets関数を利用すること。入力が32個以下の
場合でも正常に処理が終了するようにすること。入力文字列に
改行コードが含まれる場合は除去する。
※文字列結合はstrcat関数を使うこと.strcpy関数は使用してはならない。
※main関数以外ユーザー定義関数を定義してはならない。
※コードは出来る限り行数を減らす。;の数が少なければ少ないほど
評価が高い.
よろしくお願いします。
62デフォルトの名無しさん:2008/07/23(水) 12:18:17
[1] 授業単元:情報
[2] 問題文(含コード&リンク):貯蓄額とローン返済について複利計算を用いて計算、表示するプログラムを作成する。
元本金額、積み立て(返済)間隔、積み立て(返済)金額、年利、積み立て期間(ローン返済は無し)を入力させ、
貯蓄額がいくらになるか、ローン返済に何年かかるかを表示する。
[3] 環境
 [3.1] OS: Windows vista
 [3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2005 (…でいいんですかね?)
 [3.3] 言語: C++
[4] 期限: 2008/07/28
[5] その他の制限: 特に無し
複利計算自体もイマイチ理解できていないのでキツいです。
よろしければ協力お願いします。
63デフォルトの名無しさん:2008/07/23(水) 12:36:52
>>61
セミコロン数を減らすために小細工してある
#include<stdio.h>
#include<string.h>
int main(void){
static signed char m[32][256]={{0}}, ge[8192]="", *p, m_n=0;
while(m_n<32 && fgets(m[m_n], 256, stdin)) if((p=strchr(m[m_n++], '\n'))) *p='\0';
while(m_n>0) strcat(ge, m[--m_n]);
puts(ge);
return 0;
}
647:2008/07/23(水) 12:59:26
2. は何で直されたのか、わからないけど、良い矢。
>>10 Thanks
3. 1?(01)*0|0?(10)*1
3. 1(01)*0?|0(10)*1?
>>16 3. nullが含まれる
65デフォルトの名無しさん:2008/07/23(水) 13:06:36
>>64
2.はcabとかも含まれるんじゃないの?
abaとかも。
66前スレ264 ◆03xZ2wWsBw :2008/07/23(水) 14:24:47
前スレの>>307,>>317さん
大部日が経ってしまいましたがありがとうございました。
67デフォルトの名無しさん:2008/07/23(水) 15:01:33
>>63
何気に何故static signedにするのか訊いてみたくなった。
68デフォルトの名無しさん:2008/07/23(水) 15:13:45
>>61
俺にはこれが精一杯

#include <stdio.h>
#include <string.h>

int main(void) {
int i,j;
char buf[256],str[32][256],ge[8192];
for(i=0;i<32;i++) {
if(fgets(buf,sizeof(buf),stdin)==NULL) break;
for(j=0;buf[j]!='\n';j++) {
str[i][j]=buf[j];
}
str[i][j]='\0';
}
for(i=i-1;i>=0;i--) strcat(ge,str[i]);
puts(ge);
return 0;
}
69デフォルトの名無しさん:2008/07/23(水) 15:31:09
>>68
まだまだいけるじゃん.
int main(void) {
int i,j;
char buf[257],str[33][256],ge[8192];
for(i=0;i<32;str[++i][0]=0)
if(fgets(buf,sizeof(buf),stdin)!=NULL)
for(j=0;buf[j]!='¥n';str[i][++j]=0) str[i][j]=buf[j] else str[i][0]=0;
for(i=31;i>=0;i--) strcat(ge,str[i]);
puts(ge);
return 0;
}
7060:2008/07/23(水) 15:40:09
ヘルプ
71デフォルトの名無しさん:2008/07/23(水) 15:53:03
>>70
こうか?
エラーチェック追加と、reallocにNULL渡せない場合malloc追加するのやってない。
void push(struct list *p, int e)
{
if (p->n == p->N)
{
list->array = realloc(list->array, sizeof(int) *(p->N + 10));
list->N += 10;
}
list->array[list->n++] = e;
}

void unshift(struct list *p, int e)
{
if (p->n == p->N)
{
list->array = realloc(list->array, sizeof(int) *(p->N + 10));
list->N += 10;
}
memmove(list->array + 1, list->array, sizeof(int) * list->n);
list->array[0] = e;
list->n++;
}
72デフォルトの名無しさん:2008/07/23(水) 16:09:46
memmove((list->array + sizeof(int) だなこりゃ
73デフォルトの名無しさん:2008/07/23(水) 16:31:17
カレンダーだの素数だの、最大公約数だの最小公倍数だの、ソートだの
俺が得意な課題を質問してくれYO!
74デフォルトの名無しさん:2008/07/23(水) 16:41:25
>>69を更に改良しる
75デフォルトの名無しさん:2008/07/23(水) 18:09:24
>>41
つるんだったらもっと盛大に面白くつればいいのに。
RFCで定義されているとか言い出せばまだネタにもなったのに。
つまらん男だのぉ。

じゃあの。
76デフォルトの名無しさん:2008/07/23(水) 18:33:38
>>69
バグってない?
77デフォルトの名無しさん:2008/07/23(水) 18:44:54
>>69
カッとなってやってしまった。今は反省していない。
#include <stdio.h>
void main(int i,int j) {
char buf[257],str[32][256],ge[8192];
if((i=0)==0){} while(i<32 && (str[++i][0]=0)==0 && ((j=0)==0) )
if(fgets(buf,sizeof(buf),stdin)!=NULL)
while(
(buf[j]!='\n') &&
((str[i][j]=buf[j])==buf[j]) &&
((str[i][j+1]='\0')=='\0') &&
(j++) >= 0
){}
if((i=31)==31){} while(i>0 && strcat(ge,str[i]) , i--){}
if((i=0)==0 && puts(ge) ) {}
}

じゃあの。
78デフォルトの名無しさん:2008/07/23(水) 19:14:13
麻呂、西郷隆盛、次は竹原慎二かい・・・次はゆこりん?
79デフォルトの名無しさん:2008/07/23(水) 19:32:06
[1] 授業単元:プログラミング
[2] 問題文:
 ファイル:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7492.txt
[3] 環境
 [3.1] OS:windows xp
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語:C++
[4] 期限:2008年7月23日(水)
[5] その他の制限: 特になし

よろしくおねがいします
80デフォルトの名無しさん:2008/07/23(水) 19:39:52
>>79
Integer Integer::operator++(int)
{
Integer tmp(*this);
n++;

return tmp;
}
81デフォルトの名無しさん:2008/07/23(水) 19:42:19
>>77
>>61との行数の差が大きいんですが..
;の評価は高くても、改行数が多いと減点の悪寒
82デフォルトの名無しさん:2008/07/23(水) 19:48:04
>>81
ん?1行=;の数じゃないのか

#include <stdio.h>
void main(int i,int j) {char buf[257],str[32][256],ge[8192];if((i=0)==0){} while(i<32 && (str[++i][0]=0)==0 && ((j=0)==0) )
if(fgets(buf,sizeof(buf),stdin)!=NULL)while((buf[j]!='\n') &&((str[i][j]=buf[j])==buf[j]) &&((str[i][j+1]='\0')=='\0')
&&(j++) >= 0){}if((i=31)==31){} while(i>0 && strcat(ge,str[i]) , i--){}if((i=0)==0 && puts(ge) ) {}}

適当に3行を1行につなげればOK。

じゃあの。
83デフォルトの名無しさん:2008/07/23(水) 20:21:26
>void main(int i,int j)
ありえないw 多分コンパイルとおらないだろ。
{}は空文でセミコロンと同じとみなされるだろw
84デフォルトの名無しさん:2008/07/23(水) 20:24:52
>>80
どこに挿入すればいいか分かりません…
85デフォルトの名無しさん:2008/07/23(水) 20:29:48
>>83
これだから甘いのぉ……

多分じゃなく自分でちゃんと試してみるのが大切だぞ。
clでこれが通らないのを確認して発言してないだろ。
{}が空文?そんなの問題にないからその主張はまかり通らないな。
「行数、;を減らす」しか書いてないぞ。なんなら#define SEMI ; でやってもいいぐらいだ。

じゃあの。
86デフォルトの名無しさん:2008/07/23(水) 20:31:00
>>83
コレ、自演か?
8761:2008/07/23(水) 20:32:30
>>63,>>68 >>69
ありがとうございました。
88デフォルトの名無しさん:2008/07/23(水) 20:33:24
>>86
ないないwww

こんなもんshort codingみたことある人間ならすぐに思いつくだろ。もっともこれを使う意味は皆無なんだが。

じゃあの。
89デフォルトの名無しさん:2008/07/23(水) 20:39:12
>>87
くやしいのぉ くやしいのぉwww

多分誰かが突っ込むと思ったので先に自爆しておきました。

じゃあの。
90デフォルトの名無しさん:2008/07/23(水) 20:39:26
91デフォルトの名無しさん:2008/07/23(水) 20:39:27
文字列リテラルの時も、自分で書き込んでたよな。
92デフォルトの名無しさん:2008/07/23(水) 20:40:16
>>89
いまどき、手打ちアンカなのか?
93デフォルトの名無しさん:2008/07/23(水) 20:41:57
>>92
うん?専ブラつかってるけど?
9461:2008/07/23(水) 20:44:40
はぁ?
私はそれなりに忙しいので失礼致します。
9561:2008/07/23(水) 20:50:24
失礼しました。
>>77さんも回答して頂いたんですね。見落としておりました。
96デフォルトの名無しさん:2008/07/23(水) 21:15:36
ってか>>61って難しいの?
97デフォルトの名無しさん:2008/07/23(水) 21:29:57
>>96
(問いの意味を確定するのが)きわめて難しい。
98デフォルトの名無しさん:2008/07/23(水) 21:47:42
>>97
意味って難しいか簡単かただそれだけ。
宿題の問題にそれなりの意味が見いだせるのはエスパー
強い構文制限のもとで、どれだけ仕様を満たすものが作れるか
とか考えられるんじゃないか?
アルゴリズムとかも勿論重要だけど、意外とそういうのも重要かも
知れないと思ってる。
だからと言って、トリックに走り過ぎるのも何だかな〜と思うが.>>69とか
明らかにアルゴリズム学習がテーマの問題でそういう課題を出すのは
反対だけど。
99デフォルトの名無しさん:2008/07/23(水) 21:51:22
>>98
「10個の文字列は」の制約が未だに理解できない俺は馬鹿ですか。そうですね。
100デフォルトの名無しさん:2008/07/23(水) 21:56:45
まあ、質問者が問題を把握してないのは何時もの事だからな
101デフォルトの名無しさん:2008/07/23(水) 21:59:05
>>99
少なくとも馬じゃないと思う
>>63はエスパーなのか、問い直しをせずに即答したフライイングか
議論が分かれるかな
102デフォルトの名無しさん:2008/07/23(水) 22:20:42
>>59
話がかみ合ってない。だからCSVか判定する部分をつけたらって話に
その意味不明なレスは何なの?w 日本語理解できないだろ、お前w
103デフォルトの名無しさん:2008/07/23(水) 22:28:47
前スレの872どなたかお願いします。
※1つ聞いたことない型があると思いますが、char型の間違いです。
104デフォルトの名無しさん:2008/07/23(水) 22:29:59
>>102
完全なタブ区切り形式もCSV形式から外れないし、CSVとして受け取ったならタブで区切ってはいけない。
オマエはなにを判別しようとしているんだ?
105デフォルトの名無しさん:2008/07/23(水) 22:32:05
>>103
とりあえず、chart型ってなんだ?
106デフォルトの名無しさん:2008/07/23(水) 22:36:16
>>105

char型です。自分のミスです。
107デフォルトの名無しさん:2008/07/23(水) 22:48:46
CSVファイルとはなんぞや?タブ、スペースで区切っているくせに
CSVファイルとか言っている奴がいる,そういう話じゃないんだよ。
区切り文字をコンマと限定するなら、そうなっているか判定したらどうかと?
1つも●ンコ(逆から読んで)がなければ、そりゃ〜CSVじゃないんだよ、ユーザの君。
だから、コンマで区切られたCSVファイルを用意してくれ、ベイビーってことさぁ〜
108デフォルトの名無しさん:2008/07/23(水) 22:50:23
>>107
CSVの項目はタブを含んでいていいんだよ。
そして一つもカンマが無くても成り立つ。
109デフォルトの名無しさん:2008/07/23(水) 22:53:25
>>107
CSVならカンマが含まれているだろう何て思い込みは、オマエの妄想だ。
110デフォルトの名無しさん:2008/07/23(水) 23:16:17
おもしろそうな波が来てたのかよ
とりあえず、valuesだろってツッコミはさておき、一つもカンマが無い場合はCSVの名称にはそぐわないが、
問題はなく、正しくCSVだね。
CRLFでなければならないのは知らなかったなぁ。次からCSV作るときには気をつけまする。
面倒なので大抵TSVにしちゃうけどw
111デフォルトの名無しさん:2008/07/23(水) 23:24:00
質問させていただきます
@
#include <stdio.h>
main()
{
int i,j;
for(i=1;i<=10;i++){
for(j=14;j>=i;j--){
printf("×");
}
printf("\n");
}
}

A
#include <stdio.h>
main()
{
int i,j;
for (i=1;i<=11;i=i+2){
for(j=1;j<=i;j++){
printf("×");
}
printf("\n");
}
}
@の方は×で台形のような形が出来るんですけど、上底が14で下底が5で高さ5なんです
Aの方は直角三角形みたいな形で、底辺が11高さが6なんです
@の方は1つ目のfor(i=1;i<=10;i++){のところで高さを出してるのに
Aの方は1つ目のfor (i=1;i<=11;i=i+2){のところで底辺を出してるんです
@の要領でAの一つ目のforで高さを出そうとしても出来ません
なぜ同じ要領で出来ないのですか?読解力に定評のある方教えてください><
112デフォルトの名無しさん:2008/07/23(水) 23:32:15
こうやればいいんじゃね?

#include <stdio.h>
main()
{
int i,j;
for (i=1;i<=6;i++){
for(j=1;j<=i*2-1;j++){
printf("×");
}
printf("\n");
}
}
113デフォルトの名無しさん:2008/07/23(水) 23:33:43
何でぇ〜って言われても、2つ目は
i=i+2 で2ずつインクリメントやし・・・
1つ目は、iが1ずつインクリメントして、10回繰り返して
1つ増えるごとに14からiまで1ずつ減って・・・そういうことだ。
やりたい事があるなら、その辺を理解してやるべし。
114デフォルトの名無しさん:2008/07/23(水) 23:45:50
>>112-113さん

ありがとうございました!
for(j=1;j<=i*2-1;j++){ の発想があたしには無かったです!
115デフォルトの名無しさん:2008/07/24(木) 00:05:05
だからね、そこまでCSVファイルはコンマで区切られているものに限る
プログラムを作りたいなら、当然コンマで区切った処理をすりゃ良いんだが
そうでないものに対応したきゃ、そうなのかな?っとスペースで区切ってますか?
タブかな?って探るのもありかと言ったまでさ。それはCSVがコンマで
区切られたものとは限らないという人に対して、ならそうしたらと?
別に、自分はコンマ以外が使われているCSVファイルを認めたわけじゃないんだってw
116デフォルトの名無しさん:2008/07/24(木) 00:05:29
[1] 授業単元: プログラミング授業
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7495.zip
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限: 7月24日の昼12時まで
[5] その他の制限:特にないです

胴かよろしくお願いします
117デフォルトの名無しさん:2008/07/24(木) 00:09:02
まさかCSVネタを次の日に引っ張るとは思わなかった
いいぞもっとやれ
118デフォルトの名無しさん:2008/07/24(木) 00:13:45
> CSVがコンマで区切られたものとは限らないという人
その人に正しい認識をしてもらうスレですよね
CSVです、といってるのに他のフィールドセパレータなりデリミタなりを勝手に適用したらまずいもんな
119デフォルトの名無しさん:2008/07/24(木) 00:15:37
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文: http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7496.txt
  読み込むファイル:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7497.txt

[3] 環境
 [3.1] OS:windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年7月24日(木)
[5] その他の制限:問題文のヒントを使ったプログラムでお願いします。

よろしくお願いします。
120デフォルトの名無しさん:2008/07/24(木) 00:15:57
カンマがないCSVという表現なんだが、勘違いしてそうだから一応書いとくと
タブで区切るとかそういう話じゃなくて、レコードに一つしかカラムがない状態よ
121デフォルトの名無しさん:2008/07/24(木) 01:37:46
CSVをあぼ〜ん設定したらすっきりしたぜ。ん?まさかお前ら
C S V とか書いて続ける気ではあるまいな?やめとけ、スレタイと>>1読め、な?
122デフォルトの名無しさん:2008/07/24(木) 01:49:45
>>121
別に荒れてないし簡単な話だしいいんでないの?いつもの長文さん
123デフォルトの名無しさん:2008/07/24(木) 02:37:09
>>116 PDF! エディタで読めるの無いのか。
124デフォルトの名無しさん:2008/07/24(木) 03:07:21
#include <stdio.h>
main()
{
int i,j,k;
for(i=1;i<=2;i++){
printf("a");
for(j=1;j<=2;j++){
printf("b");
for(k=1;k<=2;k++){
printf("c");
}
printf("d");
}
printf("e");
}
}

i=1 j=1 k=1 abc
i=1 j=1 k=2 cd
i=1 j=2 k=1 bc
i=1 j=2 k=2 cde ※
i=2 j=1 k=1 abc
i=2 j=1 k=2 cd
i=2 j=2 k=1 bc
i=2 j=2 k=2 cde ※
abccdbccdeabccdbccde

※印のとこなんでeまで行っちゃうんですかね?
意味が解らないので教えてください><
125デフォルトの名無しさん:2008/07/24(木) 03:14:03
jが2以下じゃ無くなったらループを抜けて実行されるから
126デフォルトの名無しさん:2008/07/24(木) 03:21:37
なるほどw

その一声ですごく理解できました

ありがとうございます!
127デフォルトの名無しさん:2008/07/24(木) 04:42:25
>>4
あきらめないで。途中経過をおいておきます。
http://pc11.2ch.net/test/read.cgi/tech/1215986178/992 のようなものは、私には書けませんが、
C で符号化部分だけ書いたものです。現在デバッグ中です。動かし方は static char usage[]; を参考にしてください。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7498.txt
これに関する質問はいつでも何度でも受け付けます。
128デフォルトの名無しさん:2008/07/24(木) 09:12:49
int型の数値(文字コード)からcharを作る方法はありますか?
129デフォルトの名無しさん:2008/07/24(木) 09:23:37
int i=1 を'1'にする→'0'を足す

int i=0x31を'1'にする→単にキャストする
130デフォルトの名無しさん:2008/07/24(木) 11:59:40 BE:69876094-2BP(222)
>>128
コードページに依存。
131デフォルトの名無しさん:2008/07/24(木) 12:09:17
[1]C言語初級
[2]�コンソールをエスケープシーケンス0x27+"[2J"で文字をすべて消去した後、
文字'*'を用いて5~ 20までのランダムな半径と中心の円を書く
0x27+"[R;CH"でR行C桁にカーソルを移動できるものとする。
[3]linux/gcc/C
[4]7/29 13:00
stdio.h math.hのみインクルード可能
132デフォルトの名無しさん:2008/07/24(木) 12:26:41
>>131
トリップ
問題文が曖昧。20個まで円を描くのか?半径中心は固定なのか?
よろしく御願いしますの一言くらいあってもいいと思うのだが.
133デフォルトの名無しさん:2008/07/24(木) 12:41:32
0x1Bってことだよな・・・
134デフォルトの名無しさん:2008/07/24(木) 12:46:42
だろうなw
問題文に0xがもともとあったのかが気になる・・・
135デフォルトの名無しさん:2008/07/24(木) 13:13:43
1] 授業単元:プログラミング
[2] 問題文:
 ファイル:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7499.txt
[3] 環境
 [3.1] OS:windows xp
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語:C++
[4] 期限:なるべく早くおねがいします
[5] その他の制限: 特になし

136デフォルトの名無しさん:2008/07/24(木) 13:18:22
>>135
来年くらいにはやります
137デフォルトの名無しさん:2008/07/24(木) 13:24:19
>>131
中心x,y半径rの円を書く関数
y方向に隙間が空くけどね

#define PSET(x,y) printf("\x1B[%d;%dH%c",(y),(x),'*')
void circle(int x, int y, int r)
{
int p, q;
for (p = 0; p <= r; p++) {
q = sqrt(r * r - p * p);
PSET(x + p, y + q);
PSET(x + p, y - q);
PSET(x - p, y + q);
PSET(x - p, y - q);
}
}
138デフォルトの名無しさん:2008/07/24(木) 13:32:57
>>136
>>1とスレタイ読める?読めない?聖徳太子知ってる?知らない?
139デフォルトの名無しさん:2008/07/24(木) 13:40:16
>>138
じゃあ、やっぱり、やりません
140デフォルトの名無しさん:2008/07/24(木) 13:40:46
>>136の気持ちはわかる
141デフォルトの名無しさん:2008/07/24(木) 13:47:49
> [4] 期限:なるべく早くおねがいします
言いたいことは分かるが、来年にやるってことが なるべく早く に該当するくらい
時間の流れが速い時空から書き込みをしているのか・・・
142デフォルトの名無しさん:2008/07/24(木) 13:50:53
>>141
宿題をやらない人間の時間間隔は知らないが、期日と言うものはそう言うものだ。
143デフォルトの名無しさん:2008/07/24(木) 13:51:22
>>142
時間間隔だって・・・
144デフォルトの名無しさん:2008/07/24(木) 15:25:35
>>138
いつまで聖徳太子ネタやんのよ。
スルー力あげなよ
145デフォルトの名無しさん:2008/07/24(木) 15:37:42
>>142 だから何?
146デフォルトの名無しさん:2008/07/24(木) 16:26:05
[1] 授業単元:プログラミングU

[2] 問題:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7501.txt
[3] 環境:
 [3.1] OS: Windows Xp
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語:C
[4] 期限: 7月27日
[5] その他の制限:なし。

   よろしくお願いします.
147デフォルトの名無しさん:2008/07/24(木) 17:00:03
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):http://www.uploda.org/uporg1563099.zip.html
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: g++
 [3.3] 言語:c
[4] 期限:7月28日
[5] その他の制限:
問題6−4をお願いします

正直コンパイラ名がよくわかりません。
もし的外れなことを言っているなら、ご指導いただければ幸いです。
よろしくお願いします。
148デフォルトの名無しさん:2008/07/24(木) 17:30:25
>>146
hizuke・・・
149デフォルトの名無しさん:2008/07/24(木) 17:32:37
>>148
いや、あってる。あってる。
150デフォルトの名無しさん:2008/07/24(木) 18:33:46
151デフォルトの名無しさん:2008/07/24(木) 18:35:08
FEP使うときにduってやるからヘボン式をちゃんとおぼえてなくてもしょうがないよ
152デフォルトの名無しさん:2008/07/24(木) 18:36:21
>>148
数字読める?読めない?聖徳太子知ってる?知らない?
153デフォルトの名無しさん:2008/07/24(木) 18:40:50
>>152
聖徳太子いなかったの知ってる?知らない?ていうか聖徳太子って読める?
154デフォルトの名無しさん:2008/07/24(木) 18:41:11
>>151見て、中の変数名のことだとやっとわかった
155デフォルトの名無しさん:2008/07/24(木) 18:42:54
>>153
まぁ一説には架空の人物って話も聞くけどね・・・1万円札に印刷されていたの知ってる?知らない?
自分、子供の時にその一万円札を破っちゃったことあるんだけど、知るわけないよな・・・俺のことだからw
156デフォルトの名無しさん:2008/07/24(木) 18:44:26
五千円札とか、千円札、百円札の聖徳太子は知ってるか
157デフォルトの名無しさん:2008/07/24(木) 18:50:51
ttp://ja.wikipedia.org/wiki/%E4%B8%80%E4%B8%87%E5%86%86%E7%B4%99%E5%B9%A3
んじゃこの肖像画も単なるイメージ?w
158デフォルトの名無しさん:2008/07/24(木) 18:51:36
タイ子がそんなに出しゃばったらノリスケも落ち着かないだろうなあ
159デフォルトの名無しさん:2008/07/24(木) 18:58:00
>>154をみて、もしかして>>152の数字読める?は
>>147の期限が7/28で未来なので何の問題も無いよね、数字読める?
という意図を含んでいたのかもしれないという考えに至った。

もしそうなら>>148のいいたいことを理解しないorできないままに煽ってたのか。
160デフォルトの名無しさん:2008/07/24(木) 20:01:02
夏休みに入ったのか、宿題が一気に途絶えたな。
暫くこのスレも夏休み
161デフォルトの名無しさん:2008/07/24(木) 20:11:08
>>131
Bresenhamのアルゴリズムが有名らしいのですが、ぐぐってもこれ、といったものがでてきませんね。
162デフォルトの名無しさん:2008/07/24(木) 20:11:57
>>129-130
ありがとうございます。
163デフォルトの名無しさん:2008/07/24(木) 20:28:55
164デフォルトの名無しさん:2008/07/24(木) 20:41:02
ん?夏休み?それじゃ、俺が課題を出してやろうか?
165デフォルトの名無しさん:2008/07/24(木) 20:42:11
いいよ
166デフォルトの名無しさん:2008/07/24(木) 20:44:45
フィボナッチ、組み合わせ、カレンダー、素数、最大公約数、最小公倍数、
ソート、トランプゲームなどなど、適当にやっとけ、ってことでw
167デフォルトの名無しさん:2008/07/24(木) 21:07:18
>>163
感謝です。
168デフォルトの名無しさん:2008/07/24(木) 21:37:51
[1] 授業単元:プログラム
[2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7457.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:borland C++ Compiler 5.5
 [3.3] 言語:C言語
[4] 期限:金曜日まで
[5] その他の制限:ポインタまでやりました
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7488.txt
このプログラムでできてるか教えてください
169デフォルトの名無しさん:2008/07/24(木) 21:50:37
http://pc11.2ch.net/test/read.cgi/tech/1215986178/938 07/24 --:--
>>27 07/30 --:--
>>62 07/28 --:--
>>116 07/24 12:00
>>119 07/24 --:--
>>131 07/29 13:00 : >>137
>>135 --/-- --:--
>>146 07/27 --:--
>>147 07/28 --:--(URL消失)
>>168 07/25 --:-- = http://pc11.2ch.net/test/read.cgi/tech/1215986178/748
170 ◆FnloSwaV.k :2008/07/24(木) 22:01:54
[1]C言語応用
[2]2chの掲示板のdatファイルを解析して、レスストリーム(後述)に分解し、
フレーム付きのページで、ストリーム単位に閲覧することができるような
HTMLファイルを生成する。Windows/Linux/MacOS共に対応し、コマンドラインで
スレURLを与えれば、カレントディレクトリに、取得した時点のYYYYMMDDHHMMSS形式の
名称のディレクトリを作り、そこにフレーム付きページを生成する。
☆レスストリーム
(1)同一スレの別のレスへのアンカーを含まないレスは単一のストリームに含まれる、その
ストリームの代表レスとなる。
(3)同一スレの別のレスへのアンカーを含むレスは、指しているレスが所属するストリーム
のすべてに含まれる。
※一つのレスが複数のストリームに含まれることはあり得る。
[3] Windows/Linux /MacOS/gcc/C言語が望ましいがC++でも可
[4] 7月中
171デフォルトの名無しさん:2008/07/24(木) 22:04:05
>>170
サンプルよこせ
172デフォルトの名無しさん:2008/07/24(木) 22:17:35
>>170
A <- C
B <- C
のときのストリームは
1) A-C, B-C の二つ?
それとも
2) A-B-C の一つ?
173デフォルトの名無しさん:2008/07/24(木) 22:18:43
[1] 授業単元: プログラミング演習
[2] 問題文:
問1  15乗根(!)を求める関数root15
を用いて、入力した数の15乗根と結果の誤差を
調べるプログラムをつくる。
関数root15をつくる。
平方根を求める関数sqrtを使ってよい。
関数の内容は以下の手続きに従うこと。

aの15乗根を求める手続き:
xの初期値をaとする
以下を20回くりかえし
aにxをかけた結果の平方根を4回とり
(平方根の平方根の平方根の平方根)
その結果を新しいxとする

(くりかえしにより数値が収束すれば、
xの2乗の2乗の2乗の2乗(16乗)がa/xに等しい、すなわちxの17乗がaに等しい)

[3] 環境
 [3.1] OS:Linux
 [3.2] よくわかりません><
 [3.3] 言語: C
[4] 期限: 明日まで
[5] その他の制限: 関数 プロトタイプ宣言までならいました。
よろしくお願いします。。。
174デフォルトの名無しさん:2008/07/24(木) 22:22:45
>>173
問題文が意味不明
15乗根なのに17乗根求めてどうするの?
175デフォルトの名無しさん:2008/07/24(木) 22:24:18

[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): http://www.psg.cs.titech.ac.jp/pro1/kadai1.pdf
[3] 環境
 [3.1] OS:Mac
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 2008年7月28日
問題3までで、わかりやすく作ってもらえたら嬉しいです。
176デフォルトの名無しさん:2008/07/24(木) 22:25:53
書き込みのはやきこと風の如く
他人と会話せざること林の如く
ネットで煽ること火の如く
部屋から動かざる事山の如し          __
      ,. / |´ ̄`ヽー- 、 ト、        , -‐、/./.- 、
    / | |    ヽ   l l        ( 火◇風 ノ
  /o ̄`ハ._.ゝ===┴=く.ノ- 、      ノ ◇ ◇ (
  /o O / l´ ノ      ヽ lo ',ヽ      ( 山◇ 林 }
  \___/. ト、  ●    ● ハ  ∧      `⌒/7へ‐´
 / ,イ   レ_   ( _●_) ミl~T--‐彡    /./
/ ̄ ̄l.  彡、   |∪|  ノ'l  l::::::::::彡ー7⌒つ、
彡:::::::::::l  ト、___ヽノ /|  l::::::::::::ミ  {,_.イニノ
177デフォルトの名無しさん:2008/07/24(木) 22:26:16
>>174
-----------------------------
#include <stdio.h>
#include <math.h>

double root15(double);

main(void)
{
double x, a, xs;
scanf("%lf",&a);
x = root15(a);
xs = x*x*x*x;
xs = xs*sx*sx*sx*x;
printf("%f : %f\n", x, xs-a);
}
-----------------------------
このように使うことのできる関数root15を書け。
(上のプログラムをそっくりコピーし、その
続きに関数の内容を書けばよい。)

らしいんですが。。ちんぷんかんぷんで><
178デフォルトの名無しさん:2008/07/24(木) 22:29:13
>>173 (>>177)
double root15(double a){
double x;
int i;

x=a;
for(i=0;i<20;i++) x=sqrt(sqrt(sqrt(sqrt(x*a))));

return x;
}
179デフォルトの名無しさん:2008/07/24(木) 22:29:47
>>177
ニュートン法じゃね。
180デフォルトの名無しさん:2008/07/24(木) 22:32:07
>>177 main関数はこうでしょ?
int main(void){
double x, a, xs;
scanf("%lf",&a);
x = root15(a);
xs = x*x*x*x;
xs = xs*xs*xs*xs/x;
printf("%f : %f\n", x, xs-a);
return 0;
}
181 ◆FnloSwaV.k :2008/07/24(木) 22:33:59
>>172

1.A<-B Bは[A](Aが所属するストリームすべての集まり)に所属
2.A<-B<-C Cは[A]に所属
3.A<-B<-C && A<-D<-C A,B,C,Dはすべて同一のストリーム[A]の所属
4.A<-B & C<-B B は[A],[C]にも含まれる。

あるストリームSがレスAを祖先とするとは、
AはSに所属し、Aはアンカーを持たないか、同一スレの別レスへのアンカーを
持たないこと。
要するに、宿題スレのようなスレを、質問単位にページを分けて閲覧できる
ようにする。(質問に関連するレスをすべて収録)
182 ◆FnloSwaV.k :2008/07/24(木) 22:38:19
>>170は当然C言語上級グレードの問題なので難易度は高いと思われ
183デフォルトの名無しさん:2008/07/24(木) 22:39:01
>>178 179 180即答本当に助かりました!!
>>180 たぶんそうですね、意地悪教授なのでわざとバク入れたのかも^^;
  ニュートン法については無知なのでよく分かりませんが、見直してみます。
もう一つ甘えたい問題があるのですが・・・
184デフォルトの名無しさん:2008/07/24(木) 22:39:55
>>183
ムツゴロウさんみたいな教授ですねw
185デフォルトの名無しさん:2008/07/24(木) 22:41:53
>>173
17乗根ではないですよね。
#include <stdio.h>
#include <math.h>
int main()
{
  double a, x1, x2, x;
  int i;

  for (a = 1.0; a <= 10.0; a += 1.0) {
    printf("a=%.2f:\n", a);
    x1 = a;
    for (i = 0; i < 20; i++) {
      x2 = sqrt(sqrt(sqrt(sqrt(a * x1))));
      x1 = x2;
    }
    x = x2;
    printf("  x=%.6f\n", x);
    printf("  x^15=%.6f\n", x*x*x*x*x*x*x*x*x*x*x*x*x*x*x);
  }
  return 0;
}
/* end */
186185:2008/07/24(木) 22:43:11
>>173
失礼。問題をよくよんでませんでした。
187デフォルトの名無しさん:2008/07/24(木) 22:45:14
>>170
ソケットは使わなくていいん?
ローカルにあるdatを解析すればいいんだよね?
188デフォルトの名無しさん:2008/07/24(木) 22:47:57
って”URLを・・・”って書いてあったorz
さすがにマルチプラットフォームでそれはやってられない・・・
C++ありだからASIOで使ってみようかな
189183:2008/07/24(木) 22:51:52
>>184 ほんとにひねくれた人というか・・・どうしようもないですw
>>186 いえいえ、回答ありがとうございます!
問2
穀物相場が高騰を続けているそうである。
ここに毎月のトウモロコシの価格を調べたデータが山のようにある。n月分としよう。
このデータを調べて1月の間に最もハゲシク値上がりした月x
(つまり第(x-1)月目と第x月目の間の価格差が最も大きい)
を調べたい。そのためのプログラムを作ってくれ。
データの数nは不明である。データの数を数えようと思ったが面倒くさいので、
プログラムの方でなんとかしてほしい。ただし、データの終わりを示すために、
データの1番最後(n+1行目)にマイナスの値を入れておくことにするので
よろしく。

です^^;

190デフォルトの名無しさん:2008/07/24(木) 22:55:37
データの終わりはEOFで判断できるんだけどね。
わざわざ負の値を入れておくなんて嫌がらせ以外の何ものでもない。
191デフォルトの名無しさん:2008/07/24(木) 22:56:40
だがちょっと待って欲しい、麻呂のクソースリストにEOFがどうとか突っ込んできたあいつなら
あいつならEOFが入力されないと、最後まで粘ってくれるだろう。
192デフォルトの名無しさん:2008/07/24(木) 22:57:24
何か文章が気持ち悪いな
193デフォルトの名無しさん:2008/07/24(木) 22:58:38
>>189
データのサンプルうp!
もしくはフォーマット

ファイル数は一つ?複数?
複数の場合にはファイル名のフォーマットは?


>>184 は「バク」にかけたあなた宛の皮肉です(多分
194デフォルトの名無しさん:2008/07/24(木) 22:59:28
なあに、かえって耐性がつく。
195デフォルトの名無しさん:2008/07/24(木) 23:09:30
自然数540を格納するときに用意すればいい変数名と型の種類を教えてください。
196デフォルトの名無しさん:2008/07/24(木) 23:12:11
int n
197デフォルトの名無しさん:2008/07/24(木) 23:12:45
型はintでいいと思う。
変数名は540が意味する言葉を使うとよいです。

540て180*3とかそういう内容だったりしないのかな。
198デフォルトの名無しさん:2008/07/24(木) 23:13:10
>>193
>>189 の文章からするとおそらく、一行に一月分のデータがあり、単一ファイルである
一月分のデータは多分単数で、実数表記と思われる レベルからするとカンマ区切りは無さそう
199189:2008/07/24(木) 23:13:30
>>193 たぶんそんな高度なことはしないかと、自分自身フォーマットが何かもわからないので^^;たぶんデータ自体もデータ数も自分で(scanfか乱数かなにか)作れってことだと^^;
「バク」→「バグ」ってことですよね?><

ほんとに素人でごめんなさい・・
200デフォルトの名無しさん:2008/07/24(木) 23:15:12
>>196
>>197
ありがとうございした。
201デフォルトの名無しさん:2008/07/24(木) 23:23:34
>>175
bintree, newnode, deltree の内容は?
202デフォルトの名無しさん:2008/07/24(木) 23:29:21
ターミネータとして負の値を入れるのはよくある手法だろうにw
203デフォルトの名無しさん:2008/07/24(木) 23:31:40
>>189
#include<stdio.h>

int main(void){
FILE *fp;
double x, x_prev, diff_max, diff_max_x;
int n, diff_max_n;
char *filename="data.txt";

fp=fopen(filename, "r");
if(fp==NULL){
perror(filename);
return 1;
}

fscanf(fp, "%lf", &x_prev);
for(n=1;fscanf(fp, "%lf", &x)==1;n++){
if(x<0.0) break;
if(n==1 || diff_max<(x-x_prev)) diff_max_x=x, diff_max=x-x_prev, diff_max_n=n;
x_prev=x;
}
fclose(fp);

if(n>=2) printf("%d 月目 : 価格 %f (増分 %+f)\n", diff_max_n+1, diff_max_x, diff_max);

return 0;
}
204199:2008/07/24(木) 23:34:03
ちなみに習ったのは条件判断、繰り返し、プロトタイプ宣言、配列、乱数発生です^^;
問題の条件の付け足しの形になってすいません・・・
205デフォルトの名無しさん:2008/07/24(木) 23:38:21
>>202
負の値に限らず、扱うデータにおいて出現し得ない値ね。
ただ、今回の場合のようにファイル内の全データが対象だということが分かっている場合、
EOFが明確なターミネータとなるから番兵要らないでしょって話かと。
206199:2008/07/24(木) 23:46:18
>>203 回答本当にありがとうございます!ですがforpen関数?fscanf関数?は習ってないです><
c言語を今年の六月半ばからの週1の講義でやってきたレベルなので。。。
207デフォルトの名無しさん:2008/07/24(木) 23:53:03
条件判断、繰り返し、プロトタイプ宣言、配列、乱数発生だけじゃ
確かにファイル開く関数もしらんわな

ほんと意地悪い教授だなw
208デフォルトの名無しさん:2008/07/24(木) 23:53:24
データがファイル内にあるってどこに書いてある?
209デフォルトの名無しさん:2008/07/24(木) 23:56:39
>>208
n+1 行目という表現を見てファイルだと思った
リダイレクト使うつもりかな?

>>206
#include<stdio.h>

int main(void){
double x, x_prev, diff_max, diff_max_x;
int n, diff_max_n;

scanf("%lf", &x_prev);
for(n=1;scanf("%lf", &x)==1;n++){
if(x<0.0) break;
if(n==1 || diff_max<(x-x_prev)) diff_max_x=x, diff_max=x-x_prev, diff_max_n=n;
x_prev=x;
}

if(n>=2) printf("%d 月目 : 価格 %f (増分 %+f)\n", diff_max_n+1, diff_max_x, diff_max);

return 0;
}
210204:2008/07/25(金) 00:01:29
>>207 分かってもらえて嬉しいです^^; マジで困ってます・・・
  189は僕のようなレベルで解けるような問題なんですかね?
211デフォルトの名無しさん:2008/07/25(金) 00:08:31
>>210
>>209 の中で習ってないものはある?
212デフォルトの名無しさん:2008/07/25(金) 00:11:44
前スレのハッシュの人もう締め切りすぎた?
213210:2008/07/25(金) 00:19:06
>>211 回答、素人のお付き合い、ありがとうございます!
 209の中の関数自体は全部習ってますから、なんとなくやってることはわかりそうなんですが、
 プログラムをあまり見慣れていないせいか、実数や整数の変数の名前が複雑なので頭の中がゴチャゴチャになっちゃいます><
 それぞれのif とforの中の条件を解説していただければたすかります。^^;
214デフォルトの名無しさん:2008/07/25(金) 00:59:58
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):

下記のプログラミングの実行結果を答えよという問題です

(1)
#include <stdio.h>

void main(){
int i;
for(i=0;i<3;i++){
printf("%d\n",i);
}
}



(2)
#include <stdio.h>

void main (){
int i = 10;

if(i > 20 ){
printf("A");
}else{
printf("B");
}
}

よろしくお願いします。
215デフォルトの名無しさん:2008/07/25(金) 01:02:59
(1)
0
1
2

(2)
B
216デフォルトの名無しさん:2008/07/25(金) 01:38:25
[1]C
[2]n=173とすると、n^2=29929となって、n^2には2と9しか現れない。4桁
の正整数nで、n^2には2種類の数字しか表れないものをすべて求めよ
[3]LINUX
C
[4]今週の土曜日まで
よろしくお願いします
217デフォルトの名無しさん:2008/07/25(金) 01:44:49
>>213
どこまで分かったかが分からないので説明できない。
こういうフローであってる?って聞いたほうがお互いに楽よ
218デフォルトの名無しさん:2008/07/25(金) 01:55:42
>>168
そこまでやったんならチェックも自分でできるだろうにと思わんでもないが
ざっと見てマズそうな箇所(コンパイルもしてないから勘違いがあるかも試練)

「メニュー読み込み」前(head==NULL時)に他の処理を行なった場合の対応が不十分。
「メニュー読み込み」が複数回選択された場合の旧リストの扱い。
ReadMenuConfig()、最初のpmenu->nextが未初期化(whileに一度も入らない可能性は?)
DeleteMenubyName()、構造体のメンバnameはmallocしたものでは?
DeleteMenubyName()、delItem == headの時の対応。
DeleteMenubyName()、一番最後のメニューは削除不可?

例えばこんなんとか(※未コンパイル未テスト)
struct MenuItem* DeleteMenubyName(struct MenuItem *head, const char *name) {
struct MenuItem *p = head, *p_prev = NULL;
while(p){
if(strcmp(p->name, name) == 0) break;
p_prev = p;
p = p->next;
}
if(p){
if(p == head) head = head->next;
if(p_prev) p_prev->next = p->next;
free(p->name);
free(p);
}
return head;
}

head = DeleteMenubyName(head, menuname);
219デフォルトの名無しさん:2008/07/25(金) 03:38:00
>>216
#include <stdio.h>
int f1( int i ) { /*naiveな方法*/
int j, k = 0, num[ 10 ] = {0};
for ( j = i * i; j; j /= 10 ) num[ j % 10 ] = 1;
for ( j = 0; j < 10; ++j ) k += num[ j ];
return k == 2;
}
int f2( int i ) { /* 汎用的でない方法 */
int t, n1, n2, j = i * i, f = 1;
for ( n1 = n2 = j % 10; f && j ; j /= 10 ) {
t = j % 10;
if ( n1 == n2 ) n2 = t;
else if ( t != n1 && t != n2 ) f = 0;
}
return f;
}
int main(){
int i;
for ( i = 1000; i < 10000; ++i ) {
if ( f1( i ) ) printf( "%d => %d\n", i, i * i );
if ( f2( i ) ) printf( "%d => %d\n", i, i * i );
}
return 0;
}
220デフォルトの名無しさん:2008/07/25(金) 07:51:32
>>192
粘着性のお前が一番気持ち悪いことに気づけよw
221デフォルトの名無しさん:2008/07/25(金) 07:52:07
>>192
EOFは入力できませんと必死に主張してきた
日本語が理解できない馬鹿がキターーーー!
222デフォルトの名無しさん:2008/07/25(金) 07:53:29
>>192
ねぇねぇ、getchar()とCtrl + Z または Ctrl + Dって知ってる?知らない?
聖徳太子(ry
223デフォルトの名無しさん:2008/07/25(金) 07:54:12
>>192
意味不明な発言と反応をしたお前が一番キモイんだがw
224デフォルトの名無しさん:2008/07/25(金) 07:58:31
>>192はgetchar()の部分の動作の話の際に、EOFが入力できないだの
コードに記述されていないfgetsがどうとか言い出した、話も分からない
日本語もまともに読めないゆとり
225デフォルトの名無しさん:2008/07/25(金) 08:40:27
>>192
顔真っ赤wwwww 反応したのが自分だけって気づいてないだろ?
周りを見ろよ、見事に自分がEOFに対して勘違いしちゃったお馬鹿さんですって
わざわざカミングアウトしたようなもんだってw
日本語もC言語も勉強してから出直せよ、EOFは入力できない厨w
226デフォルトの名無しさん:2008/07/25(金) 08:41:41
>>192が一人だけ反応しているってことは、こいつがEOFは入力できませんっと
必死に訴えていたキチガイか・・・わかりやすいな、すぐに反応しちゃって、
脊髄反応なんて、パブロフの犬かよ?お前の粘着ぶりの方が気持ち悪いな
227デフォルトの名無しさん:2008/07/25(金) 08:44:58
>>192
なぁ、鏡を見ろよ?なんか面白い顔が映ってない?
それとも、気持ち悪い顔?誰の顔だ、それ?
まぁ、言わずと知れたことだがね・・・
228デフォルトの名無しさん:2008/07/25(金) 08:57:19
>>220-227
さっさと死ね
229デフォルトの名無しさん:2008/07/25(金) 09:49:14
麻呂ってやっぱ、根に持つタイプなんだな・・・
230213:2008/07/25(金) 10:25:30
>>217 ゆっくり見直したら、解決しました!ありがとうございましたぁ!!
231デフォルトの名無しさん:2008/07/25(金) 11:16:31
232デフォルトの名無しさん:2008/07/25(金) 11:17:17
190 名前:デフォルトの名無しさん 投稿日:2008/07/24(木) 22:55:37
データの終わりはEOFで判断できるんだけどね。
わざわざ負の値を入れておくなんて嫌がらせ以外の何ものでもない。
233デフォルトの名無しさん:2008/07/25(金) 11:22:15
>>228 < 分かるだろ、発言内容に人間性の低さ、キチガイな性格が含まれていることを。
死ね < これを軽々しく使う奴は、まず人間として未熟者。もし大人だとしたら
将来犯罪予備軍なんで、要注意。触らぬ神に祟り無しだが、こいつは間違いなく >>192 本人。
何か言われると、何かしら言い返さないと気がすまない一言居士。

>>229
それは勘違い。あれは麻呂が提示したソースの一部に対してのことであって
麻呂自身が議論したわけじゃない。むしろ、EOFが入力できないと
知ったか勘違いを露呈してしまった奴が、必死にgetchar()を無視して
fgetsがどうとか、最初に指摘した奴の論点を無視して話を始めたところから
いや、そうじゃなくてといわれても先走ったのが原因であって、
EOFの入力は普通にキーボードからも出来ます、ありがとうございました。
重ね重ね、本当に本当に、ありがとうございますた!必死だなw
234デフォルトの名無しさん:2008/07/25(金) 11:24:41
っつか、最近麻呂なんて見かけないじゃん?まだいると思っている奴って
見えない敵と戦い続ける、妄想癖のある、薬中毒並にやばい奴?
精神科医に診てもらった方がよいぞ、その性格を。かなりやばいよ。
相手を罵倒する習性が根付いているだろ?それじゃ人間社会じゃやっていけない。
あっ、孤立したからこのスレで、今度は質問者という自分以下の人間を見て
安心しているのか。いずれ自分が社会の底辺に成り下がるぞ、下ばかり見続けて
生きていく人生じゃ。お前が見下したそいつも、お前が足踏みしている間に
どんどん上にのし上がる奴もいるからな。
235デフォルトの名無しさん:2008/07/25(金) 11:49:15
>>234
いや、コンパイラも通らないような糞コード貼り付けてる奴がいるじゃん
236デフォルトの名無しさん:2008/07/25(金) 11:49:39
えらく被害妄想の奴がいるが>>192の発言は>>189に対してと思うのが普通じゃないか?
流れから考えて
237デフォルトの名無しさん:2008/07/25(金) 12:36:11
今年の新入りはKY過ぎて笑えねぇ・・・落ち着いて、鏡を見ろよ、な?
プギャーな面が映っただろ?それ誰の顔?分かる?分からない?聖徳(ry
238デフォルトの名無しさん:2008/07/25(金) 12:49:26
TAがこことmixiをしっかりチェックしているのでもうダメです…
単位落とすしかないかも…

情報工学科でCができないのは恥ずべきことでしょうか
239デフォルトの名無しさん:2008/07/25(金) 12:49:58
EOFが入力できないとか言っていた奴はぁ〜どこのどいつだぁ〜い?
根に持つ?お前の方が勘違いした挙句、それを論破されたことに対して
言われると必死に罵倒してくるところから、根に持っているのが自分だと気づけよ。
240デフォルトの名無しさん:2008/07/25(金) 12:52:58
>>238
>情報工学科でCができないのは恥ずべきことでしょうか

うん
241デフォルトの名無しさん:2008/07/25(金) 12:53:57
>>238
なんか方法あるんじゃね?
メールとか、そこまでしてくれる奇特な人がいるかは別にして
242デフォルトの名無しさん:2008/07/25(金) 12:57:07
>>238
不正でなんとかなると思っていることもな
243デフォルトの名無しさん:2008/07/25(金) 13:01:56
何かもう必死でしょ、今年の>>192
244デフォルトの名無しさん:2008/07/25(金) 13:11:31
>>147のものです
ファイルが消えているようなので改めてアップしました
お手数をおかけしますがよろしくお願いします。

[1] 授業単元:C言語
[2] 問題文(含コード&リンク):http://www1.axfc.net/uploader/File/so/8812.zip
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: g++
 [3.3] 言語:c
[4] 期限:7月28日
[5] その他の制限:
問題6−4をお願いします

正直コンパイラ名がよくわかりません。
もし的外れなことを言っているなら、ご指導いただければ幸いです。
よろしくお願いします。
245デフォルトの名無しさん:2008/07/25(金) 13:43:07
>>244
難しいな
俺には無理だ
246デフォルトの名無しさん:2008/07/25(金) 13:45:13
>>238
ここは丸投げだからな。
自分なりに考えて、わからない部分だけを適切なスレで聞いたらいいじゃない。
247デフォルトの名無しさん:2008/07/25(金) 15:23:13
>>244
コンパイラがどうしたというよりもグラフ表示に何のライブラリ使うのかとか環境周りが全然足りないと思う
248デフォルトの名無しさん:2008/07/25(金) 16:01:47
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7504.txt
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: すいませんよくわかりません。
 [3.3] 言語: C/C++どちらでも可
[4] 期限: 2008年 7月27日
[5] その他の制限: 特にありません

現在自分でもやっているのですが、お手上げ状態です。
よろしくお願いします。
249デフォルトの名無しさん:2008/07/25(金) 16:26:11
>>244
グラフはともかく(1)を計算するだけなら簡単。
まあjn(n,x)を作れってことなんだろうけど。
#include <math.h>
double x;
int n;
for(n = 0; n <= 2; n++){
 for(x = 0.0; x < 10.0; x += 0.1){
  printf("jn(%d,%f):%f\n", n, x, jn(n, x));
 }
}
250デフォルトの名無しさん:2008/07/25(金) 16:35:37
>>248
カウントダウンって入力最中にも常に表示するの?
それとも1問終わるごとに後何秒です。で良いの?
251デフォルトの名無しさん:2008/07/25(金) 16:52:39
> 打/分
言わずにはいられねぇ、だっふんだっ!(打っ分だっ!)
252デフォルトの名無しさん:2008/07/25(金) 17:50:36
記述が曖昧で申し訳ありません。
私は一問ごとに表示で考えてます。
253デフォルトの名無しさん:2008/07/25(金) 18:13:53
254デフォルトの名無しさん:2008/07/25(金) 18:24:19
/* Part114 >>146 学生名簿 */
#include <stdio.h>
int main(void){
  struct student {
    char bangou[32], myoji[32], namae[32];
    int nenrei;
  } meibo[3];
  struct student jibun;
  int i;
  char dummy[32];

  for(i=0; i<3; i++){
    printf(" ●学生番号入力:"); scanf("%s", meibo[i].bangou);
    printf(" 苗字入力:"); scanf("%s", meibo[i].myoji);
    printf(" 名前入力:"); scanf("%s", meibo[i].namae);
    do {
      gets(dummy); // 改行まで読み飛ばす(数字入力に失敗した時も、読み飛ばす)
      printf(" 年齢入力:");
    } while(scanf("%d", &meibo[i].nenrei) != 1);
  }
  puts("====== 入力終了 ======");

  jibun = meibo[3-1];
  printf("自分のデータ: 学生番号 %s 苗字 %s 名前 %s 年齢 %d\n",
    jibun.bangou, jibun.myoji, jibun.namae, jibun.nenrei);

  return 0;
}
255デフォルトの名無しさん:2008/07/25(金) 19:24:21
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
256146:2008/07/25(金) 19:48:56
>>254

ありがとうございます。

マジで助かりました!<m(__)m>
257デフォルトの名無しさん:2008/07/25(金) 19:57:56
>以下のC++で作ったタイピングソフトに更に機能を追加しなさい。
>#include <stdio.h>
>#include <string.h>
>#include <conio.h>
>#include <ctype.h>
>#include <time.h>

この授業はきっと役に立たない^^
258デフォルトの名無しさん:2008/07/25(金) 19:59:01
また発作が始まったよ、自分基準で自分が正しいと思い込む知ったか自己中
259デフォルトの名無しさん:2008/07/25(金) 20:02:15
C++の授業でstdio.hとかincludeしてる教師は全員シメちゃっていいよ。
260デフォルトの名無しさん:2008/07/25(金) 20:02:35
自分の役に立たないもの=全世界でそうだと思い込む視野の狭い人
261デフォルトの名無しさん:2008/07/25(金) 20:03:22
>>259
その揚げ足取りみたいな発言は気持ち悪い文章だな
262デフォルトの名無しさん:2008/07/25(金) 20:03:55
>>257
C++の機能を一切使ってないだけじゃないか

char配列での文字列操作を教えてから std::string の便利さを教える可能性もある
極めて低い可能性だがw
263デフォルトの名無しさん:2008/07/25(金) 20:05:53
>>257
C++じゃなくてCってことか
それともMS-DOS用のヘッダ使ってること?

それなりに役に立つんじゃない
264デフォルトの名無しさん:2008/07/25(金) 20:06:13
半期の講義ならともかく
通年の講義で8月にもなろうっていうのに
いまだにC部分教えてるようじゃ
その教師は多分C++つかえねーんじゃねーかって思っちゃうよ。
265デフォルトの名無しさん:2008/07/25(金) 20:06:48
>>257
CとC++の区別がつかないのは質問者では?
講義名が本当なら、一年生の実習っぽいし、実際に習ってるのはCなんじゃね?
266デフォルトの名無しさん:2008/07/25(金) 20:07:30
通年講義だからこそ半期でCをみっちり教えようという可能性も
267デフォルトの名無しさん:2008/07/25(金) 20:17:58
CライクなC++プログラムでも構わないが
せめて<cstdio>と書いて欲しいところだな
268デフォルトの名無しさん:2008/07/25(金) 22:37:45
>>263
MS-DOS用のヘッダってどれ?
269デフォルトの名無しさん:2008/07/25(金) 22:38:47
>>268
console input output
270sage:2008/07/25(金) 22:50:17
前スレで宿題を解決して頂いた者ですが、このソースをLinux(gcc?)でコンパイルするとエラーが出てしまいます。
Linuxで動くようにしたいのですが、どなたか解決できる方いらっしゃらないでしょうか?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7429.txt(ソース)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7428.lzh(csvファイル)
期限は明日のお昼まででお願い致します。何回もお願いしてすいません。

271デフォルトの名無しさん:2008/07/25(金) 22:57:53
>>270
コンパイラのバージョンとエラーの詳細をどうぞ
272デフォルトの名無しさん:2008/07/25(金) 23:01:44
>>270
linux の文字コードが EUC なら

nkf -Se foo.c > bar.c
mv Book1.csv tmp.csv
nkf -Se tmp.csv > Book1.csv
273デフォルトの名無しさん:2008/07/25(金) 23:02:51
>>269
これMS-DOS用なんだ。
今日まで知らなかった。
274デフォルトの名無しさん:2008/07/25(金) 23:20:29
>>270
sscanf(token,"%s",temp->fname);
sscanf(token,"%s",temp->lname);
275デフォルトの名無しさん:2008/07/25(金) 23:25:00
>>233
かなり多くの人がいれかわりたちかわり説明していたのですが。
もしかして、まさか、一人が文体を変えて粘着していた、と思っておられるのでしょうか?
276デフォルトの名無しさん:2008/07/25(金) 23:54:34
相手にすんな
277デフォルトの名無しさん:2008/07/26(土) 00:03:41
278デフォルトの名無しさん:2008/07/26(土) 01:16:40
>>248
できたぞ。
http://www1.axfc.net/uploader/File/so/8855.txt
あ、レベル算出の課題をわすれてた。まあいいや。
279デフォルトの名無しさん:2008/07/26(土) 01:40:39
未解答(本スレ)
7478,(前>>901)>>27 分数の計算 [7月30日] VC6.0 C++
  ,>>62 貯蓄額とローン返済 [7月28日] VC2005 C++
7495,>>116 UNIX通信プログラム(pdf)[7月24日12時] gcc C言語
7496-7497,>>119 文字列中のパターンの繰返しを調べる [7月24日] gcc C言語
7499,>>135 定積分の計算 [早く] VC6.0 C++
kadai1.pdf,>>175 合流点(join)を持つ構造 [7月28日] gcc C言語
280デフォルトの名無しさん:2008/07/26(土) 01:42:09
>>27 07/30 --:--
>>62 07/28 --:--
>>116 07/24 12:00
>>119 07/24 --:--
>>135 --/-- --:--
>>146 07/27 --:-- >>254
>>147 07/28 --:-- >>253(部分)
>>168 07/25 --:-- = http://pc11.2ch.net/test/read.cgi/tech/1215986178/748 : >>208
>>170 07/31 --:--
>>173 07/25 --:-- >>178,180
>>175 07/28 --:--
>>189 --/-- --:-- : >>203, >>209,
>>214 --/-- --:-- : >>215
>>216 07/26 --:-- : >>219
>>248 07/27 --:-- : >>278

>>276
すいません。
281デフォルトの名無しさん:2008/07/26(土) 01:55:51
>>219
返信ありがとうございます
282デフォルトの名無しさん:2008/07/26(土) 02:06:13
>>238
マイナー掲示板で聞けば?
問題はどうやって探すかだけど
283デフォルトの名無しさん:2008/07/26(土) 03:06:05
>>27
イカサマぽいけど参考プログラムの
int a,b,c,d,a1,b1,r,e;を
__int64 a,b,c,d,a1,b1,r,e;にして
scanfとprintfの%dをすべて%I64dにすればいいんじゃないの?
284デフォルトの名無しさん:2008/07/26(土) 07:23:18
>>4
もう見てないかもしれないけど、C++で作ったのをCで書き直したやつ
(Cで書き直したのは、Cでやるにはどうやればいいかやってみたかったから)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7507.c

ほとんどC++とかわりないけど、復号化はこっちのほうがC++で書いたのより
速いので上げときます
285デフォルトの名無しさん:2008/07/26(土) 09:20:03
>>275
いや、その通りだが?お前が一人で見えない敵と戦ってた方か・・・
286デフォルトの名無しさん:2008/07/26(土) 09:21:23
>>276
っつか、お前か、死ねとか平気で使う奴は?さすがにそれは
精神レベルが低い、人間としておかしい。
日ごろ自分がまともに相手にされていないから、このスレで相手にされたいの?w
287デフォルトの名無しさん:2008/07/26(土) 09:24:24
288デフォルトの名無しさん:2008/07/26(土) 09:29:51
うわっ、まだいるのかよ、麻呂を目の敵にして
EOFが入力できないといつまでも主張する奴。
ここにいる奴らにはそれで通しても、現実的に
業界や関わる機関でそんなことを言ったら、一発で
締め出されるよ。お前、適性がないよってねw
289デフォルトの名無しさん:2008/07/26(土) 09:32:43
http://www.google.co.jp/search?hl=ja&q=EOF%E3%80%80%E5%85%A5%E5%8A%9B&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
普通に引っかかりますね。出来ないなんて寝言ほざいているようじゃ、
かなり頭がイッちまってるな。薬中毒でラリってないか心配だ。
こんなスレに来るよりも、精神科医で診てもらえ。
290デフォルトの名無しさん:2008/07/26(土) 09:49:48
http://pc11.2ch.net/test/read.cgi/tech/1208268461/139

139 名前:デフォルトの名無しさん 投稿日:2008/04/20(日) 14:42:29
>>138
普通、EOFは入力できないのだが。
# 入力をクローズすれば、fgetc()などの戻り値がEOFになることを期待できるが。

ナンバーサイン野郎はナンバーサインをやめたの?
291デフォルトの名無しさん:2008/07/26(土) 10:23:01
EOFって環境によって違うけどWindowsは^zじゃないの?
292デフォルトの名無しさん:2008/07/26(土) 10:26:04
ナンバーサインってさ、団子だろ?自作板でしばらく見なくなったが
293デフォルトの名無しさん:2008/07/26(土) 11:17:42
>>291
問題はね、EOFが何なのか?というよりも、EOFが入力できるか?
って話になっているわけ。で、その物議を醸した原因が、>>290 にある
入力は出来ないといってしまったナンバーサイン野郎にあるわけだが
環境によっては違うけど、入力は出来ると結論が出ているのに
必死にfgetsではどうとか、無関係な話を始めたから、いやいやそういう
話じゃなくて・・・って無限ループに入ってしまったわけだよw
294デフォルトの名無しさん:2008/07/26(土) 11:24:37
自分のミスは蒸し返すとファビョるくせに、しつけーなw
295デフォルトの名無しさん:2008/07/26(土) 11:25:23
>>293
まあ、入力を終了するのとEOF(=-1?)を入力するのは違うと主張したいらしいけど。
296デフォルトの名無しさん:2008/07/26(土) 11:30:55
ここは酷いインターネットですね。
297デフォルトの名無しさん:2008/07/26(土) 12:58:39
[1] プログラミングT
[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7508.txt
[3] 環境
 [3.1] Windows XP
 [3.2] VC.net 2003
 [3.3] C++
[4] 7月29日(火曜日)
[5] 配列とポインタを使用すること

よろしくお願いします。
298デフォルトの名無しさん:2008/07/26(土) 13:18:09
>>297
無駄に難しいな。何で配列とポインタが必要なんだw
入力ってstd::cinからでいいの?
299デフォルトの名無しさん:2008/07/26(土) 13:49:01
300デフォルトの名無しさん:2008/07/26(土) 13:57:58
>>295
そういう意味では、EOFは入力できない、というほうがまともな解釈なのではないかな。
301デフォルトの名無しさん:2008/07/26(土) 14:33:23
>>300
彼は、そもそも「すべてのファイルの末尾にEOFがある」とを主張していたんですよ。
EOFの議論はまだできないかと。fp と fd の違いも理解しているかどうか‥‥‥。
302デフォルトの名無しさん:2008/07/26(土) 14:33:47
1] 授業単元:プログラミング
[2] 問題文:
 ファイル:fft(高速フーリエ変換)のプログラムを作れ
fft.hを使わないとできないのかもしれないけど。
[3] 環境
 [3.1] OS:linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:明日
[5] その他の制限: 特になし
303デフォルトの名無しさん:2008/07/26(土) 14:38:43
304デフォルトの名無しさん:2008/07/26(土) 14:47:29
そうくるとおもってた・
つくれといってもネットにあがりすぎだよなー。
305デフォルトの名無しさん:2008/07/26(土) 14:50:27
まぁ、ソート、フィボナッチ、素数、リスト、カレンダー、閏年、二次方程式の解など
探せば普通に出てくるガナ (´・ω・`)
306デフォルトの名無しさん:2008/07/26(土) 14:50:48
ネット上のを参考にしても要は理解してれば良いんじゃないかと
307デフォルトの名無しさん:2008/07/26(土) 14:53:42
まる投げするつもりマンマンのやつらは、
問題すら読んでないからな・・・
308デフォルトの名無しさん:2008/07/26(土) 14:56:41
ファイルのディレクトリを取得する関数ってある?
309デフォルトの名無しさん:2008/07/26(土) 14:59:35
>>308
どういうこっちゃ?ってスレ違いだが。まぁ、指定した名前のファイルがあるか
ルートディレクトリから虱潰しに探して、そのときのディレクトリ+ファイル名で
そのファイルのパス名を取得する手段ならあるが。_findfirst やら chdir やら
opendir は必要ないかも。
310デフォルトの名無しさん:2008/07/26(土) 15:02:40
>>309 あ、そうそうパスだすまんw

今Cでランチャー作ってるんだが、結構難しいなthx
311デフォルトの名無しさん:2008/07/26(土) 15:07:07
ミサイルの命中精度を上昇させたいのですが
いいアルゴリズムありますか?
312デフォルトの名無しさん:2008/07/26(土) 15:09:08
精度の高いコンピュータを開発してくれ。どうせ0.5度でもズレたら
距離が長くなれば何百メートル、何キロかズレた場所に着弾するんだろ、
あの国は海に落として日本を威圧しているつもりなんだろうけどさw
はい、次。
313デフォルトの名無しさん:2008/07/26(土) 15:13:42
っつか、GPSを使った軌道、着弾点を修正するシステムがないと厳しいよ。
風に流されてあらぬ方向に、なんてのもあるもんかね?専門家じゃないから知らんが。
314デフォルトの名無しさん:2008/07/26(土) 15:16:06
風の修正は当然考慮するプログラムだろう
315デフォルトの名無しさん:2008/07/26(土) 15:16:58
玉の位置がわかれば小学生でも作れるだろ
316デフォルトの名無しさん:2008/07/26(土) 15:28:01
ミサイルの先に>315をくくりつければ
風なんて気にしなくて良い
317デフォルトの名無しさん:2008/07/26(土) 15:43:57
>>311
ミサイルに人を載せて操縦させるのが、あらゆる面で効果的かと。
別にめずらしい話ではないですよね。
318デフォルトの名無しさん:2008/07/26(土) 15:44:51
そのままミサイルと心中・・・する前に、緊急脱出すりゃ良いか。
でなきゃ、特攻隊じゃんか・・・
319デフォルトの名無しさん:2008/07/26(土) 15:47:14
>>318
巡航時のミサイルの速度を考えると、緊急脱出は不可能かと。
320デフォルトの名無しさん:2008/07/26(土) 16:10:36
>>319
戦闘機などの緊急脱出を思い浮かべたのかもしれないが、
よくよく考えたら、操縦席と本体を切り離せる仕組みにしておけば良い。
しかし、操縦席だけ話して、操縦者を着弾点付近に残したら
そのまま拘束されて、捕虜にされんぞ?最悪、その場で・・・
そういった意味で、帰るための飛行機と燃料も必要になるわけだが。
だったら、最初から戦闘機で爆撃・・・ってことになるんでは?
そりゃもうミサイルではなくなるがw スレチ話題ですまそ。ではっ。
321デフォルトの名無しさん:2008/07/26(土) 16:11:33
桜花
322デフォルトの名無しさん:2008/07/26(土) 16:17:30
>>320
目標を定め最期の急発進を開始してから衝突するまでは10〜20秒だったそうです。どんな機構であれ脱出は困難かと。
323デフォルトの名無しさん:2008/07/26(土) 16:23:54
>>322
だから、操縦席と本体を分離するんだよ。最後にコードを入力して、ミサイルだけ落下。
操縦席はそのまま上空を移動。しかし・・・どうやってそのまま飛び続ける?って考えたら
やはり爆撃っしょw
324デフォルトの名無しさん:2008/07/26(土) 16:32:55
使い捨ての安いハンドルが捕虜や死体の山になろうとも
(何も知らないし、政治的価値も無いから)痛くも痒くもない
325デフォルトの名無しさん:2008/07/26(土) 16:39:51
そりゃそうだろ、特攻隊が戻ってくるための燃料を積んでなかったように。
そこまで考えるなら、最初から物体だけ飛ばして・・・っつかね、現代に於いては
衛星を使った遠隔操作も出来るでしょ?w
326デフォルトの名無しさん:2008/07/26(土) 16:46:30
>>325
> そりゃそうだろ、特攻隊が戻ってくるための燃料を積んでなかったように。
都市伝説

ゼロ戦のパイロットは、機銃が通用しないアメリカ軍の戦闘機に直接爆弾を投下したそうだ。
327デフォルトの名無しさん:2008/07/26(土) 17:29:19
ようするに>305がいいたいわけだよ。
こういうのはネットにあがってるから質問をするなと。
328デフォルトの名無しさん:2008/07/26(土) 17:35:55
>>326
おいおい、あの時代、資源だって乏しかったわけだろ?
航空機で使われる燃料の量なんて、自動車の比じゃないだろ?
突っ込む飛行機に、往復分の燃料を入れる余裕があったとでも?
329デフォルトの名無しさん:2008/07/26(土) 17:46:38
っつか、宿題スレなのに、なんか軍事の話になってるじゃん・・・
そろそろ打ち切ろう。それ専用の板へ、ゴーw
330デフォルトの名無しさん:2008/07/26(土) 17:56:10
/* Part114 >>135 *//* >>244 (2) 答えは漸近法によると1.841 */
#include <stdio.h>
#include <math.h>
double f(double x){
  return cos(x-1.841*sin(x));
}
void main(){
  int n, i;
  double h, a, b, e = 0.0000001;
  double s1, s2, yo, ye;

  a = 0.0;
  b = 3.1415926535897932384626433832795;
  s1 = 1.0;
  s2 = 0.0;
  for( n = 1; (s2>s1 ? s2-s1 : s1-s2) > e; n++ )
  {
    n += 1;
    s1 = s2;
   h = (b - a) / (double)n; //hを求める式
    yo = 0.0;//初期値
    ye = 0.0;//初期値
    for(i=0; i<n; i+=2){
      yo += f(a+(i+1)*h);
    }
    for(i=2; i<n; i+=2){
      ye += f(a+i*h);
    }
    s2 = h*(f(a) + 4*yo + 2*ye + f(b))/3.0;
printf("n=%d s2=%f\n",n, s2);
  }
}
331330:2008/07/26(土) 18:09:46
>>244 ろだからは、できるだけ早く消します。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7509.zip
332デフォルトの名無しさん:2008/07/26(土) 18:52:50
278
ありがとうございます。なんか致命的エラーとかでちゃいましたけど。。
333デフォルトの名無しさん:2008/07/26(土) 19:10:01
>>332
ほらな、やっぱり習ってんのはCだけなんだよ
334デフォルトの名無しさん:2008/07/26(土) 20:22:36
馬鹿いってんじゃないわ
馬鹿いってんじゃないよ
あそばれてるのがわからないなんて かわいそうだわ
1年目の講義ぐらい大目にみろよ
335デフォルトの名無しさん:2008/07/26(土) 20:25:55
などと意味不明の言葉を発しており、動機は未だ不明
336デフォルトの名無しさん:2008/07/26(土) 20:28:26
明日アキバに逝くのは止めた方がいいかな。
337デフォルトの名無しさん:2008/07/26(土) 20:32:19
また何かあるの?kwsk
338デフォルトの名無しさん:2008/07/26(土) 20:33:01
>>334
開いたままの fopen が気に入らないのよ
339デフォルトの名無しさん:2008/07/26(土) 20:35:55
いや、天気悪そうだし...
340デフォルトの名無しさん:2008/07/26(土) 21:16:47
341123:2008/07/26(土) 21:18:47
342デフォルトの名無しさん:2008/07/26(土) 21:55:30
MXで猛烈に凄いファイルとれたから
画像だけやるわ

http://www2.uploda.org/uporg1568638.jpg


343デフォルトの名無しさん:2008/07/26(土) 22:39:11
プログラムなんてどーでもいいから彼女でも作って海でも行けよ
344デフォルトの名無しさん:2008/07/26(土) 22:42:35
夏よな・・・
345デフォルトの名無しさん:2008/07/26(土) 22:43:04
MakeGirlFriend(int age);
346デフォルトの名無しさん:2008/07/26(土) 22:48:18
>>27 07/30 --:--
>>62 07/28 --:--
>>116 07/24 12:00 >>341
>>119 07/24 --:--
>>135 --/-- --:-- >>330
>>147 07/28 --:-- >>253(部分)
>>170 07/31 --:--
>>175 07/28 --:--
>>248 07/27 --:-- >>278, >>332
>>297 07/29 --:-- >>299
>>302 07/27 --:--
347デフォルトの名無しさん:2008/07/26(土) 23:43:16
[1]C言語
[2]
5個の要素を持つint型の配列があるとき,
1、要素の値を入力する関数input_array
2、要素の値を画面に出力する関数output_array
3、要素の値の合計を計算する関数sum_array
4、要素の値の平均を計算する関数ave_array
1〜4を呼び出すmain関数を作成。
なお1.については,キーボードからの入力でも,擬似乱数生成の標準関数を利用したものでも,どちらでも良い。
[3]OS:Windows  言語:C
[4]2008/07/28
よろしくお願いします
348デフォルトの名無しさん:2008/07/26(土) 23:44:56
>>347
簡単すぎて、麻呂には役不足でおじゃ、誰かやってたもう ↓
349デフォルトの名無しさん:2008/07/27(日) 00:34:32
>>348 んじゃ。
#include <stdio.h>
#include <stdlib.h>
#define N 5
#define SEED 31415926
void input_array(int x[]) {
  int i;
  for (i = 0; i < N; i++) x[i] = rand();
}
void output_array(int x[]) {
  int i;
  for (i = 0; i < N; i++) printf("%d:%d, ", i + 1, x[i]);
  putchar('\n');
}
void sum_array(int x[]) {
  int i, s = 0;
  for (i = 0; i < N; i++) s += x[i];
  printf("sum:%d\n", s);
}
void ave_array(int x[]) {
  int i, s = 0;
  for (i = 0; i < N; i++) s += x[i];
  printf("average:%.2f\n", (double)s / N);
}
int main() {
  static int a[N];
  srand(SEED);input_array(a); output_array(a); sum_array(a);  ave_array(a); return 0;
}
350デフォルトの名無しさん:2008/07/27(日) 00:56:57
>>348
>>170お願いします。
351デフォルトの名無しさん:2008/07/27(日) 01:11:58
麻呂はその手の課題は・・・ネットワークにアクセスするタイプはさっぱりでおじゃ
取得したデータの処理ならなんとか、HTMLに関する知識もあるでおじゃるが
352デフォルトの名無しさん:2008/07/27(日) 01:25:24
[1]C++演習(入門者クラス)
[2]デストラクタ以外に、継承親クラスがvirtualメソッドを持つ子クラスを作成し、
親クラスの継承メソッドの修正無しに、子クラスにおける継承において整合性が
保たれる例を作りなさい。サンプルアプリケーションとしてデモンスレートすること
[3]Windows/Visual C++ 6.0/C++
[4]
7/31 23:59 メールの締め切り期限ですが
添付レポート文書を作成する必要から、7/30までにお願いしたいです。
出来れば、添付レポート文書のほうもお願いしたいです。
よろしくお願い致しますです。
353デフォルトの名無しさん:2008/07/27(日) 08:46:02
[1] 授業単元: プログラム
[2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7512.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C++
[4] 期限: 2008/7/28
[5] その他の制限: 無し

お願いします
354デフォルトの名無しさん:2008/07/27(日) 11:36:34
>>353
#include <iostream>
using namespace std;
struct hoge {
char*a;
}h[5]={
"あきら   176.5 76.3",
"さとる   171.8 78.4",
"ゆうじ   177.2 69.2",
"だいち   165.3 65.3",
"しんのすけ 180.5 78.4"
};
int main(int argc,char**argv){
int n;
scanf("%d",&n);
if(1<=n&&n<=5){
cout <<"番号\t名前    身長  体重"<<endl;
cout <<n<<'\t'<<h[n-1].a<<endl;
}
return 0;
}
355デフォルトの名無しさん:2008/07/27(日) 13:31:56
>>27 07/30 >>283 ファイルの圧縮解凍、符号化アルゴリズム(シャノン・ファノ符号 )
>>135 --/-- >>330 シンプソン公式による積分
>>244 07/28 >>253(1) >>330-331(2) 第1種ベッセル関数
>>248 07/27 >>340 タイピングソフト
未解決(本スレ)
>>116 07/24 UNIX通信プログラム(12:00) >>341にpdf => txt
>>119 07/24 パターンの繰返しを調べる
>>302 07/27 fft 高速フーリエ変換
>>62 07/28 貯蓄額とローン返済
>>175 07/28 合流点(join)を持つ構造
>>170 07/31 2chの掲示板のdatファイルを解析
>>352 07/31 C++ オーバーライドのデモ作成
おまけ:初期値1項比1の等差数列で合計が1000になるのは何通りか(こたえ:3とおり)
356デフォルトの名無しさん:2008/07/27(日) 15:14:11
おまけ:初期値1項比1の等差数列で合計が1000になるのは何通りか(こたえ:3とおり)
357デフォルトの名無しさん:2008/07/27(日) 15:21:09
公比 -- 等差 ん?
358 ◆i6ZQP8Pge. :2008/07/27(日) 15:27:56
よろしくお願いします。

[1] 授業単元:C言語プログラミング
[2] 問題文:
2つの整数をカンマ(,)区切りで入力し
一方の数値からもう一方の数値(小さい方から大きい方へ)までの
和を求め結果を表示する。(マイナスも扱う)

入力する文字列は'\0'を含め128文字以下とし
数字、カンマ、マイナス、スペース以外の
文字が入力された場合はエラー表示をする。

ひとつひとつの整数はshortで納まる範囲であるか
チェックをし、範囲外ならエラー表示をする。

正常とする入力例:
-123,45
23 , 12
エラーとしてよい入力例:
2,,123
--86,2
[3] 環境
[3.1] OS:windows xp
[3.2] コンパイラ名とバージョン:VC6.0
[3.3] 言語:C
[4] 期限:8/1
[5] その他の制限:
標準関数は使用せず、文字列を数値に変換すること。

入力は1回、表示も1回とする。
359デフォルトの名無しさん:2008/07/27(日) 15:35:57
[1] 授業単元:プログラミング序論
[2] 問題文(含コード&リンク):
構造体classに関する以下の関数を定義せよ.

構造体classの内容を表示する関数 void printc(struct class)
配列stuの学生数num人分の名前と点数を表示する.
関数renewを,クラスにいない学生を入力するとその学生をクラスに追加するように改良した関数 void renew(struct class*, char*, int)
すでにいる学生の点数を更新した場合には更新と表示する.
追加した場合は追加と表示する.
クラスの学生数の上限(MAX)に達している場合は,追加失敗と表示する.

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: どちらでも可
[4] 期限: 2008年7月30日まで
[5] その他の制限: for,if,配列、ポインタ等はおkです。よろしくお願いします・・・!
360デフォルトの名無しさん:2008/07/27(日) 16:11:10
>>358
#include<stdio.h>
#include<string.h>
#include<ctype.h>

int main(void){
char buf[128]="", tmp[128], *p;
short a, b;
int i, n, result;

fscanf(stdin, "%127[^\n]", buf);
for(i=0,p=buf;buf[i];i++) if(!isspace(buf[i])) *p++=buf[i];
*p='\0';

if(sscanf(buf, "%hd,%hd%n", &a, &b, &n)!=2 || buf[n]!='\0'){
printf("\nエラー:書式が異なるか数値ではありません\n");
return 1;
}
sprintf(tmp, "%d,%d", a, b);
if(strcmp(buf, tmp)){
printf("\nエラー:範囲外です\n");
return 2;
}
if(a>b) a^=b,b^=a,a^=b;
for(i=a,result=0;i<=b;i++) result+=i;
printf("%d\n", result);

return 0;
}
361デフォルトの名無しさん:2008/07/27(日) 16:12:38
1] 授業単元: プログラミング
[2] 問題文:

次に示す手順で、円周率πを求めるプログラミングを作成。
[手順1]:unsigned char map[1000][1000]を宣言し、
全ての配列要素を0に初期化。
[手順2]:rand()を使い、この配列map中のランダムに選んだ10000個の
要素の値を0から1に変える。
[手順3]:この配列を1辺が1000の正方形とみなし、半径500の円が内接しているとし、
正方形内には要素の値が1の点がN個プロットされている。
円の内部にあるに点の数をN1とする。
[手順4]:N1とNを使って円周率πを計算。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:2008年7月28日

お願いします。
362デフォルトの名無しさん:2008/07/27(日) 16:15:00
>>361
同じ点が複数回選択された場合を考慮する?しない?
363360:2008/07/27(日) 16:16:58
>>358
よく読んだら標準関数で変換しちゃいけないみたいなので>>360は無し
364デフォルトの名無しさん:2008/07/27(日) 16:22:04
[1] 授業単元: プログラミング演習U
[2] 問題文(含コード&リンク):

オセロの対戦ゲームを作成。(8×8マス)
プレイヤーは両方とも人であるとし、順番に○または●を置く位置を
x,y座標で入力してゲームを進めよ。
すなわち、盤面の管理だけをコンピュータにさせよ。
また、置けない場所に指定した場合は再入力を要求せよ
すべてのコマを置き終わった段階でどちらかが勝ったかを画面に入力すること。

ゲームの現在の状態を2次元配で表して画面表示すること。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 2008年7月28日
365デフォルトの名無しさん:2008/07/27(日) 16:23:58
>>358
ぶっちゃけ、かなり面倒くさい。2つを別々に入力を受けつけりゃ良いものに
相当ひねくれた講師なんだな。講義に出た際に抗議しちゃえ、なんつって。
366デフォルトの名無しさん:2008/07/27(日) 16:25:33
>>362
考慮してください。お願いします。
367デフォルトの名無しさん:2008/07/27(日) 16:28:54
>>366
すいません。特に指定がないのでどちらでも大丈夫です。
368デフォルトの名無しさん:2008/07/27(日) 16:39:11
>>352
「整合性」ってなんのことだろう?
369デフォルトの名無しさん:2008/07/27(日) 16:41:01
>>340
遅くなりましたがありがとうございました。
無事コンパイルすることができたのですが、文字を入力すると1文字ごとに秒数が表示されてしまいます。
また時間が立つと自動で終了してしまいます。

あとこれはコンパイル自体に関係ないと思うのですが、警告 W8004 ex728.c 13: 'jikan' に代入した値は使われていない(関数 main )
とでます。

370デフォルトの名無しさん:2008/07/27(日) 16:53:09
>>358 この感じ・・・ 久々にやるしかない 麻呂のクソースを
371デフォルトの名無しさん:2008/07/27(日) 16:58:22
>>358
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7513.txt
コンマの前後の空白なら大丈夫・・・のはずでおじゃっ。
372デフォルトの名無しさん:2008/07/27(日) 17:05:27
isspaceを最初に使ってたけど、後から !=0x20 に変えてしまったが
すべて書き換えてなかったでおじゃ。その辺は適当に書き直すでおじゃる。
373デフォルトの名無しさん:2008/07/27(日) 17:28:43
>>361
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(void){
unsigned char map[1000][1000];
int x, y, N, N1, i;

memset(map, 0, sizeof(map));
for(i=0;i<10000;){
x=rand()%1000; // 乱数の偏りがあるよ
y=rand()%1000;
if(map[y][x]==0){
i++;
map[y][x]=1;
}
}
N=N1=0;
for(y=0;y<1000;y++){
for(x=0;x<1000;x++){
if(map[y][x]){
N++;
if((x-500)*(x-500)+(y-500)*(y-500)<500*500) N1++;
}
}
}
printf("(%d/%d)*4=%f\n", N1, N, 4.0*N1/N);

return 0;
}
374デフォルトの名無しさん:2008/07/27(日) 17:38:57
>>359
言語指定CでないとC++の予約語と被るよ
375デフォルトの名無しさん:2008/07/27(日) 17:48:59
>>62
貯蓄とローン返済は別々に計算するとして、
年利が一つでいいのかとか、
間隔の時間単位は何なのかとか・・・
376デフォルトの名無しさん:2008/07/27(日) 17:52:08
>>359
struct class の内容うp
377デフォルトの名無しさん:2008/07/27(日) 17:52:46
>>374
見分ける方法はなんですか?シロウトですみません
378デフォルトの名無しさん:2008/07/27(日) 17:57:45
>>377
class <- これが予約語
379デフォルトの名無しさん:2008/07/27(日) 18:01:00
>>376
A組
Tom 88
Mark 70
Tom 77 (更新)
Marie 90

という感じです
出力は
A組 Tom 88
A組 Tom 88 Mark 70 (Mark追加)
A組 Tom 77 Mark 70 (Tom更新)
A組 Tom 77 Mark 70 Marie(Marie追加)

というようになるようにしたいです。


>>378
そうなんですか!じゃあ、>>359はC言語オンリーに修正でおねがいしますm(_ _)m
380デフォルトの名無しさん:2008/07/27(日) 18:44:42
>>358 >>363
int s2scanf(char *p, short *a, short *b){
  char c;
  short d, minus, comma = 0;

  d = minus = 0, *a = *b = 0;
  while((c = *p++) != '\0'){
    if(c >= '0' && c <= '9'){
    if(d == 3) return 1; // NG
    d = 1;
    *a = (*a)*10 + c - '0';
    }else if(c == '-'){
    if(d != 0) return 1; // NG
    d = 2;
    minus = 1;
    }else if(c == ' '){
    if(d == 0) continue;
    if(d == 2) return 1; // NG
    d = 3;
    }else if(c == ','){
    if(comma != 0) return 1; // NG
    comma = 1;
    if(minus != 0) *a = - (*a);
    d = minus = 0;
    a = b;
    }
  }
  if(minus != 0) *a = - (*a);
  return 0; // OK
}
381デフォルトの名無しさん:2008/07/27(日) 18:51:06
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
382デフォルトの名無しさん:2008/07/27(日) 18:55:56
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
     http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7514.txt

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 2008年7月29日
よろしくお願いします
383デフォルトの名無しさん:2008/07/27(日) 19:03:48
>>381
うざいな。
1レス32行に収まる程度ならいいだろ
384デフォルトの名無しさん:2008/07/27(日) 19:09:57
385デフォルトの名無しさん:2008/07/27(日) 19:13:28
>>380
こいつわざわざここに書き込むのにスペースを必死に入れているよな?w
すんげー笑えるw そんな無駄な作業してんなら、うpロダ使えば楽勝じゃね?

>>383
いちいち反応するお前の方がウザい。スルーを知らない奴って
何か言われると脊髄反応するからバレるんだよw
あと、誰もお前に直接言ってないと思うが?w
だってそれ、>>1に書かれている一部だぞ???
> 気に入らない質問やその他や発言はスルーの方向で。
日本語が読めないゆとり馬鹿ってほんっとうぜーよな・・・
今年の新入りってかなりたちが悪いな。まぁ、あれだろ、刃物を振り回すとか
事件を起こした奴らとほぼ同じ世代。そしてその世代ってあの教育の世代。
まじでこいつら日本語が読めないんじゃね?かなりやばいよ。
386デフォルトの名無しさん:2008/07/27(日) 19:14:03
>>381
なんか度々これ書き込んでるけど、ウンザリだわ
387デフォルトの名無しさん:2008/07/27(日) 19:15:06
>>386
なんか度々反応してるけど、ウンザリだわ
いちいちムカつくレスをしないでも良いってw
だってそれ、>>1に書かれているものと同じだからw
それをウザがる = >>1が読めない馬鹿 でおk。
388デフォルトの名無しさん:2008/07/27(日) 19:16:43
> 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)

長ければ(笑)長くないから直書きだよーんw
389デフォルトの名無しさん:2008/07/27(日) 19:16:54
>>380
ほんとだ、こいつスペースをわざわざ入れてるよ・・・ご苦労なこった。
なんでアップローダを使うように促されたか、分かってないんだろうね・・・
別に強制はしてないよ。しかし、>>360にしろ汚いゴミソースを残して最悪だな
この反発キチガイ共は
390デフォルトの名無しさん:2008/07/27(日) 19:17:11
>>387
宿題にたいしてはシュンとしてるのに、
役立たないレスだけは元気一杯だな。
391デフォルトの名無しさん:2008/07/27(日) 19:18:16
IDが無いと自分擁護し放題すなあ
392デフォルトの名無しさん:2008/07/27(日) 19:19:08
>>388
なんでお前が長いかどうかを勝手に決めてるの?
んじゃどこまでが長いかってその定義を言ってくれよ?
まぁ、いえないだろ。そう、所詮それは 自分基準 だからな。
そして、うpロダ使えって言うやつも自分基準。
だからお互いに衝突しあって、一方が勝手な主張をはじめるから荒れる。
さて、長いの定義は?所詮、この世の人間なんて十人十色だから
自分にとってこれは速いだの遅いだの、美味いだの高いだのって
主観をやたらと述べる奴ほど、現実世界では自意識過剰の自己中なんだよね。
393デフォルトの名無しさん:2008/07/27(日) 19:21:31
>>1に長ければの定義が無いのなら回答者の自分基準でおk
394デフォルトの名無しさん:2008/07/27(日) 19:22:24
おまえらさっさと糞して寝ろ
395デフォルトの名無しさん:2008/07/27(日) 19:24:52
長文かな?長文かな?遅いねえ
396デフォルトの名無しさん:2008/07/27(日) 19:26:21
>>392
おまえこそ、アップローダにあげとけ
397349:2008/07/27(日) 19:38:19
>>385
> こいつわざわざここに書き込むのにスペースを必死に入れているよな?w
べつに。sed で一発変換してますが。

> いちいち反応するお前の方がウザい。スルーを知らない奴って
あなたもいちいち反応してますねぇ、 昔 か ら 。
人のこといえた義理ではないでしょう。

1レス32行に収まる程度なら、アップローダを特に使用しなくても問題ないと思いますが。
EOFをちゃんと勉強してからでなおしてきてください。
398デフォルトの名無しさん:2008/07/27(日) 19:47:28
> 気に入らない質問やその他や発言はスルーの方向で。
いちいち反応する奴もどうかと。一方が悪いというよりも、これじゃ両方だろ。
荒れる発言をしている奴こそ鬱陶しいんだが、他の回答者からしてみれば。
んで、長いって言ったあんた、どのくらいまでが長くないって基準なのよ?
そういう決まった規定もない、自分がそう思うからという主張は
価値観の違う相手には通じないよ。それこそ自分の方が相手に意見を
押しつけてるだろ。そりゃ人間、価値観が違う人なんて、いくらでもいるのは
現実世界で他人と接していれば分かることだろ?
そのくらいじゃアップローダは不要だって思うなら、別に良いじゃん。
399デフォルトの名無しさん:2008/07/27(日) 19:49:02
-----------------終了-------------------
400デフォルトの名無しさん:2008/07/27(日) 19:52:16
自分の苛立ちを表す衝動が抑えられない奴って、精神的に問題ありだな・・・
相手の素性も分からないこんな場所で、必死に見えない敵と戦っている自分が
恥ずかしく思えてこない?そうやって一生、自分が気に入らない奴を見ると
誰それ構わず噛みつくの?かなりやばいよ、それ。2ちゃん慣れしてないって言われない?
まぁ、一生見えない敵と戦ってなさい。生きている人間には必ず訪れるその
死の瞬間に、あぁ、自分はなんであんなスレであんなに必死だったんだろう・・・
って過去を顧みながら余生を過ごす日が来るんだろうね・・・
こうして下らない争いをしていても、確実に来るその死の瞬間に向かって時間は
刻一刻と過ぎ去っているからね。1秒でも下らないことをしていれば、人生の積み重ねに
なっているわけで、それを継続した人は、かなりやばい人間に成り下がっているよ。
そう、その程度の、しかも>>1に書かれていると分かっているコピペを見て
必死に罵倒しているあんた、どこのプライドの高い講師か知らないが
頼むから人込みの中で暴れないでくれよ。スルー出来ない時点でお前も同罪。
401デフォルトの名無しさん:2008/07/27(日) 19:56:27
はい次の方ー
402デフォルトの名無しさん:2008/07/27(日) 19:57:47
今回はうpロダ使え、なんて書いてないじゃん?
なんで>>1のコピペに必死にうざいだの反応してんの?
そうやって自分の感情を抑えられないどころか、書き込んじゃう癖は
直せと命令したりすると、またファッビョーンなんでしょ?
直せとは言わないが、どっちもうざい。宿題に回答する気がないならROMってろ。
403デフォルトの名無しさん:2008/07/27(日) 19:59:04
はい次の方ー
404回答テンプレ(案):2008/07/27(日) 20:08:07
>>2では反対してるみたいだけどw
[1]回答品質(ヒント/コンパイル済/テスト済/清書済)
何も書かなければ清書済みとみなされます。
[2]コード:
うpローダー使う場合は、リンクだけでなく、問題内容について一言。
質問者の問題もうpローダー上で、問題内容が分からない場合がありまつ。
リンク先のコードにも、どのスレのどの問題とのリンクでそのコードが
あるのかを明記(しないと流用された場合、責任取らされることになるか
もよ)コード、直接記述もいいけど、長過ぎる場合で複数レスに跨がるのなら
うpローダーを使いましょう
[3]コンパイル/テストに使った処理系
コンパイル済み、テスト済み、清書済みの場合は書いてあげたほうが
「コンパイルできな〜い」なんてレスにいちいち反応しなくて済みます。
[4]コメント 入れてあげてね。
405349:2008/07/27(日) 20:12:08
>>398
> いちいち反応する奴もどうかと。一方が悪いというよりも、これじゃ両方だろ。
残念ながら、あなたのほうが悪いですね。
簡単なみわけかた=抗弁レスの総行数
>>1 のコピーに対して、「それはおかしいのでは」という反論を2行かいただけなのに、
あなたは何行必死になって書いているのでしょう?
>>400
> 自分の苛立ちを表す衝動が抑えられない奴って、精神的に問題ありだな・・・
ご自分のことですね。よくわかってらっしゃるじゃないですか。
まずはEOFを勉強することですね。がんばってくださいね。
406デフォルトの名無しさん:2008/07/27(日) 20:16:18
だからね、自分はうpロダ使わなくて良いって判断したなら良いじゃん。
けど、ここに直接書き込むと、字下げのスペースの処理を
敢えて別にしているわけでしょ?そりゃソフトを使えばどうってことないがさ。
人それぞれだし、後は自分で決めたら?それが出来ないから、他人から
何か目の前に出されると、鬱陶しくて歯痒いその苛立ちを抑えきれず
ファビョーン、お前うぜーんだよ!って、目の前の無機質なコンピュータに
当り散らしてタイピングして書き込んでいる自分がいるのにお気づきかね?
部屋に誰か他の人がいません?もしいるなら、かなり変な目で見ているでしょうね、
そんなあなたを。
407デフォルトの名無しさん:2008/07/27(日) 20:20:06
>>406
> あなたは何行必死になって書いているのでしょう?
40813:2008/07/27(日) 20:20:57
>>404
>[1]回答品質(ヒント/コンパイル済/テスト済/清書済)
不要。そもそも「清書済には文句をつけるな」という輩のためのものじゃないですか?批判を恐れるようなら最初からアップしなければいいのです。
>流用された場合、責任取らされることになるかもよ)
ってどんな責任をとらされるのですか?具体的に予想される不利益をあげてください。そもそも責任をとるって、どういうことかお分かりになっているのですか?
>[3]コンパイル/テストに使った処理系
私は書いていますが、まあなくても特に問題はないでしょう。不要です。
409380:2008/07/27(日) 20:22:31
何か質問ありますか?
ちなみに字下げは、ミスしましたが、隠したいところなので、『瓢箪から駒』でそのままにします。
410デフォルトの名無しさん:2008/07/27(日) 20:24:10
[1]回答品質(ヒント/コンパイル済/テスト済/清書済)
仕様を満たしていて、動けばいいでしょう
[2]コード:
複数レスに跨がるのならうpロダを使いましょう
その場合はファイルへのリンクを張りましょう
[3]コンパイル/テストに使った処理系
特になし
[4]コメント
好きにしたらええ
411デフォルトの名無しさん:2008/07/27(日) 20:48:11
世の中からC/C++を片付けてください
お願いします
412コードナルシステ:2008/07/27(日) 20:58:03
413デフォルトの名無しさん:2008/07/27(日) 21:13:52
>>400
スルー出来ない時点でお前も同罪。
414358 ◆i6ZQP8Pge. :2008/07/27(日) 22:16:40
>>360
>>371
>>380
お礼が遅れて申し訳ありません。
大変参考になりました!ありがとうございました!
415デフォルトの名無しさん:2008/07/27(日) 23:10:49
>>413
負け犬の遠吠えだな、お前w
416デフォルトの名無しさん:2008/07/27(日) 23:22:00
[1] 授業単元: プログラミング演習
[2] 問題文:
   「1」のカードが3枚、「3」のカードが3枚、「5」のカードが3枚、「7」のカードが4枚、「9」のカードが5枚ある。
   この18枚のカードを並べて6桁の数字3個作り、その3個の数の総和が1234567となるカードの組み合わせを求めよ。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 7月30日
方向性からまったくわかりません。お願いします。
417デフォルトの名無しさん:2008/07/27(日) 23:26:17
>>416
18重ループでまわせばOK
418>>4:2008/07/27(日) 23:31:46
>>127
すいません。ありがとうございます。
レスが遅くなり、申し訳ございませんでした。
もう少し頑張ってみます。
分からない所とかあったら、質問させて下さい。
本当にありがとうございます。
419デフォルトの名無しさん:2008/07/28(月) 00:02:18
>>417
>>1とスレタイ読める?読めない?聖徳(ry
420デフォルトの名無しさん:2008/07/28(月) 00:04:47
>>416
..............
117393 157395 959779
117393 157399 959775
117393 157775 959399
117393 157779 959395
117393 157795 959379
117393 157799 959375
117393 159375 957799
117393 159379 957795
117393 159395 957779
117393 159399 957775
117393 159775 957399
117393 159779 957395
117393 159795 957379
117393 159799 957375
117393 177575 939599
117393 177579 939595
117393 177595 939579
117393 177599 939575
117393 179575 937599
117393 179579 937595
...........
スパムメールになりますんで、結果を出題者にメールしないほうが
いいと思いまつ
421デフォルトの名無しさん:2008/07/28(月) 00:09:17
【狂育部】ソフトウエア興業11【業無部】
http://science6.2ch.net/test/read.cgi/infosys/1216289288/599

C++の洒落プログラムを落としただけで炎上したんだがwww
読むとかなり面白いw
422デフォルトの名無しさん:2008/07/28(月) 00:15:51
>>419
うっちゃるも、片付けるといえば片付ける
423デフォルトの名無しさん:2008/07/28(月) 00:22:54
>>359
#include<stdio.h>
#include<string.h>
#define MAX 10
struct class{
char name[50], stu_num;
struct student{
char name[50];
int score;
}stu[MAX];
};
void printc(struct class x){
int i;
printf("%s", x.name);
for(i=0;i<x.stu_num;i++) printf(" %s %d", x.stu[i].name, x.stu[i].score);
}
void renew(struct class *x, char *name, int score){
char i, *fmt=" (%s追加失敗)\n";
for(i=0;i<x->stu_num;i++) if(strcmp(x->stu[i].name, name)==0) break;
if(i<x->stu_num) x->stu[i].score=score,fmt=" (%s更新)\n";
else if(i<MAX) strcpy(x->stu[i].name,name),x->stu[x->stu_num++].score=score,fmt=" (%s追加)\n";
printc(*x);
printf(fmt, name);
}
int main(void){
struct class a={"A組", 0};
char buf[50];
int score;
while(scanf("%49s%d", buf, &score)==2) renew(&a, buf, score);
return 0;
}
424デフォルトの名無しさん:2008/07/28(月) 00:23:00
なんか、聖徳太子ネタも飽きてきた。次のネタ考えて↓
425デフォルトの名無しさん:2008/07/28(月) 00:41:26
[1]C++言語(中級)
[2]相互参照,相互生成する継承関係の無い6つのクラスを設計し、実装せよ。
(クラス定義だけでなく、デモコードも実装せよ)
[3]Linux/g++/C++
[4] 7/29 17:00 (必着)
質問の意味が本当にちんぷんかんぷんです。(日本語ですか?これ)
単位取れるかどうかがかかってますんで、お頼み申し上げます。m(__)m
426デフォルトの名無しさん:2008/07/28(月) 02:27:52
#include<stdio.h>
#include<string.h>
#define MAX 10
struct a{char b[50],c;struct d{char b[50];int e;}f[g];};void h(struct a i){int
j;k("%s",i.b);for(j=0;j<i.c;j++)k(" %s %d",i.f[j].b,i.f[j].e);}void l(struct a*
i,char*b,int e){char j,*m=" (%s追加失敗)¥n";for(j=0;j<i->c;j++)if(n(i->f[j
].b,b)==0)break;if(j<i->c)i->f[j].e=e,m=" (%s更新)¥n";else if(j<g)o(i->f[j].
b,b),i->f[i->c++].e=e,m=" (%s追加)¥n";h(*i);k(m,b);}int p(void){struct a q={
"A組",0};char r[50];int e;while(s("%49s%d",r,&e)==2)l(&q,r,e);return 0;}
427デフォルトの名無しさん:2008/07/28(月) 02:32:26
p://xxx.s97.xrea.com/x/7amigos/7amigos.cgi
428デフォルトの名無しさん:2008/07/28(月) 02:34:01
>>416 ようやく現実的な時間(C2D 2.66GHz 11秒)で解けるようになった、が、特化しすぎで訳分からんw
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void swap(char *a, char *b){char c; c=*a;*a=*b;*b=c;}
int cmp(const signed char *a, const signed char *b){return *a-*b;}
void hoge(char *work, int index){
int i; char tmp[20];
if(index==12){
int a=0, b=0, c; char tmp2[6+1];
for(i=0;i<6;i++) a=(a*10)+work[i]-'0';
for(;i<12;i++) b=(b*10)+work[i]-'0';
if((c=1234567-a-b)<b) return;
sprintf(tmp, "%d", c); qsort(tmp, 6, 1, cmp);
qsort(strcpy(tmp2, &work[12]), 6, 1, cmp);
if(strcmp(tmp2, tmp)==0) printf("%d %d %d\n", a, b, c);
return;
}
else if(index>6) if(strncmp(&work[0], &work[6], index-6)>0) return;
qsort(strcpy(tmp, work)+index, 18-index, 1, cmp);
for(i=index;tmp[i];i++){
if(tmp[i]==tmp[i+1]) continue;
swap(&tmp[index], &tmp[i]);
hoge(tmp, index+1);
swap(&tmp[index], &tmp[i]);
}
}
int main(void){
char work[]="111333555777799999";
hoge(work, 0);
return 0;
}
429127:2008/07/28(月) 02:37:12
>>418
http://pc11.2ch.net/test/read.cgi/tech/1215986178/992の人が >>284 でC版のソースをアップしています。
430SQLとかも勉強してみようね:2008/07/28(月) 02:58:21
ね。
431デフォルトの名無しさん:2008/07/28(月) 03:24:57
>>430
夏だな・・・
432デフォルトの名無しさん:2008/07/28(月) 03:33:06
433デフォルトの名無しさん:2008/07/28(月) 06:47:02
>>416 3番目の6桁も探してます。
#include <stdio.h>
short table[18]={1,1,1, 3,3,3, 5,5,5, 7,7,7,7, 9,9,9,9,9};
short flag[18]; // = 0
short data[18];
void f(short flag[18], short i, short data[18]){
  short a1, j;
  int b1, b2, b3;
  if(i>=18){
    if(data[6]<data[0] || data[12]<data[0] || data[12]<data[6]) return;
    b1=data[ 0]*100000+data[ 1]*10000+data[ 2]*1000+data[ 3]*100+data[ 4]*10+data[ 5];
    b2=data[ 6]*100000+data[ 7]*10000+data[ 8]*1000+data[ 9]*100+data[10]*10+data[11];
    b3=data[12]*100000+data[13]*10000+data[14]*1000+data[15]*100+data[16]*10+data[17];
    if(b2<b1 || b3<b1 || b3<b2) return;
    if(b1+b2+b3 == 1234567){
      for(j=0;j<6;j++) printf("%d",data[j]); printf(" ");
      for(j=6;j<12;j++) printf("%d",data[j]); printf(" ");
      for(j=12;j<18;j++) printf("%d",data[j]); printf("\n");
    }
    return;
  }
  data[i] = -1;
  for(a1=0;a1<18;a1++){
    if(flag[a1] == 1) continue; // 既に使っている
    if(data[i] == table[a1]) continue; // 前回と同じ
    data[i] = table[a1];
    flag[a1] = 1;
    f(flag, i+1, data);
    flag[a1] = 0;
  }
}
void main(void){f(flag, 0, data);}
434デフォルトの名無しさん:2008/07/28(月) 08:39:56
416です
みなさんありがとうございます
435デフォルトの名無しさん:2008/07/28(月) 10:31:26
>>416 >>433 の探索方法と >>428 の枝狩りを組み合わせたら >>428 の所要時間が半分になったよ
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void swap(char *a, char *b){char c; c=*a;*a=*b;*b=c;}
int cmp(const signed char *a, const signed char *b){return *a-*b;}
void hoge(const char *base, char *work, char *flag, int index){
int i, prev=-1;
if(index==12){
int a=0, b=0, c, j;
char tmp[6+1], tmp2[10+1];
for(i=0;i<6;i++) a=(a*10)+work[i]-'0';
for(;i<12;i++) b=(b*10)+work[i]-'0';
if((c=1234567-a-b)<b) return;
for(i=j=0;i<18;i++) if(!flag[i]) tmp[j++]=base[i]; tmp[j]='\0';
sprintf(tmp2, "%d", c); qsort(tmp2, 6, 1, cmp);
if(strcmp(tmp2, tmp)==0) printf("%d %d %d\n", a, b, c);
return;
}else if(index>6) if(strncmp(&work[0], &work[6], index-6)>0) return;
for(i=0;i<18;i++){
if(flag[i] || base[i]==prev) continue;
prev=work[index]=base[i];
flag[i]=1;
hoge(base, work, flag, index+1);
flag[i]=0;
}
}
int main(void){
char base[]="111333555777799999", work[18+1], flag[18]={0};
hoge(base, work, flag, 0);
return 0;
}
436デフォルトの名無しさん:2008/07/28(月) 12:32:55
うpロダ使えない野郎はまともにmain関数も書けないトーシロか、道理で。
知的に問題ありと、これに関しては、然るべき場所に通報しておきます。
437デフォルトの名無しさん:2008/07/28(月) 12:54:04
>>436こいつって、
>>83これ?
438デフォルトの名無しさん:2008/07/28(月) 12:57:33
あっ、キチガイが釣れたか。平日の昼間っから暇人だなw
キモイんだよ、いちいちエディタ使ってスペースw
ウpロダ使えば余裕でそのまま相手に渡せますが?w
まぁ、main関数が明らかにISO、ANSI無視。その時点で大減点。
あっ、これは俺基準じゃなくて、世界の標準が基準ですからw
439デフォルトの名無しさん:2008/07/28(月) 12:59:09
>>433
くそ遅せーなぁ、そんなソースをこのスレに残すなよ
アップローダを使う使わないの個人的なスタイルは自由にしろ
書き込む以上残るぞw
440デフォルトの名無しさん:2008/07/28(月) 13:14:06
>>438
あたりなのか・・・
441デフォルトの名無しさん:2008/07/28(月) 13:15:01
>>438
> あっ、キチガイが釣れたか。平日の昼間っから暇人だなw
44283ですが:2008/07/28(月) 13:25:13
ここは暖かく見守ってあげるスレですんで
438みたいなキタナイ言葉で叱咤するのはいけませんね。w
443デフォルトの名無しさん:2008/07/28(月) 13:39:16
スルーも出来ない奴らも同罪だろ。まぁ、とりあえず落ち着いて鏡を見ろよ。
顔真っ赤だぞ?
444デフォルトの名無しさん:2008/07/28(月) 13:52:20
445デフォルトの名無しさん:2008/07/28(月) 13:57:34
>>437
っつか、それとこれとは意味が違うだろ・・・
>>83は明らかにエラーが出る。
void mainは一般的ではない。コンパイルはそれを通すものもあるが
だいたいそういうのはコンパイラが適当に処理している。
ISO、ANSI準拠ではmainはint型で、引数に関しても指定あり。
446デフォルトの名無しさん:2008/07/28(月) 14:01:54
>>444
素晴らしい
447デフォルトの名無しさん:2008/07/28(月) 14:08:06
>void main(int i,int j)
あり得ないな。書くとしても、2つ目はchar *argv[]のようにしないと
エラーが起こるし。あるなら書く、ないならint main(void) これが
Cの”標準”スタイル。別に標準ではないからといっても、
エラーが起こらなきゃ良い。void mainも本来は標準スタイルではないが
人によってはそれでも問題ない環境はあるからね。
448デフォルトの名無しさん:2008/07/28(月) 14:12:29
>>998
おまえバカだろw
449デフォルトの名無しさん:2008/07/28(月) 14:13:29
>>85 でも竹原さんに指摘されてんじゃんw
450デフォルトの名無しさん:2008/07/28(月) 14:23:05
プログラムの主体、始まりをmain関数とする条件で
あの引数はないわ・・・少々痛いぞ、無知の荒れっぷりは。
きちっと勉強してから発言しろ、知ったか。
あっ、ちなみに、ISO、ANSI準拠に於いては過去ログでも
物議をか醸したが、中にはmain関数がプログラムの始まりには
なっていない独自の環境の人もいるんで、そういう場合ならおk。
だが、ANSI、ISO準拠であろうとなかろうと、mainを主体としている環境なら
まずその引数はありえない。エラーがでますよ、例え独自の環境の人でも。
451デフォルトの名無しさん:2008/07/28(月) 14:23:44
あと、ANSI、ISO準拠では、プログラムの開始はmainと定義されてますんで、あしからず。
452デフォルトの名無しさん:2008/07/28(月) 14:27:20
それでは>>61の模範解をよろ(賞味期限切れかも知れないが)
出来れば、ループ文を使わずにやって欲しいよな気がしないでもない
453デフォルトの名無しさん:2008/07/28(月) 14:33:27
んで、コンパイラがANSI、ISO準拠を採用しているなら
mainはプログラムの開始となっている。
もしプログラムの開始を定義していなければどうなるか?
まぁ、変な話、一番上から記述されている関数を順に読み込み
動作不能な妙なプログラムが出来る場合もございますね・・・
そう、結局、この世の中って、何かしら基準や規定はあるんだよ。
それを知らずに、左側通行の国の道で、自分は右側通行します
なんて言ったら、笑われるどころかトラブル続出涙目 ><;

しかし、このスレにはうpロダを使うよう強制はしていないんで
いちいち反応する必要なし。直接書きたいなら書けば良い。
ただし、間違ったり不適切、明らかに幼稚な手法だったとしても
書き込んだ以上残り続けますよ、2ちゃんねるの過去ログに
そして受信してログを残してある人のPCや記憶メディアの中に
0と1のデジタルデータの塊として、そのメディアが消滅しない限り、ね?
454デフォルトの名無しさん:2008/07/28(月) 14:45:11
>>452
誰に頼んでるのか指定が無かったので、横からだがmain再帰でやってみた
#include<stdio.h>
#include<string.h>

int main(int argc, char *argv[]){
static char str[32][256], ge[8192], *p;

if(argv!=NULL){
main(0, NULL);
puts(ge);
return 0;
}
if(argc>=32 || fgets(str[argc], 256, stdin)==NULL) return 0;
if((p=strchr(str[argc], '\n'))) *p='\0';
main(argc+1, NULL);
strcat(ge, str[argc]);
return 0;
}
455デフォルトの名無しさん:2008/07/28(月) 14:49:37
コンパイラは、リンカの規格まで既定してない
エントリーポイントを決定する権限はリンカにある。
コンパイラはmainという名前の関数が定義された
時は、これを特別視して幾つか制限を加える。
関数名としてmainを使う場合は、 戻り値の型と
引き数の形式に制限を加えているのは、UNIXとの
歴史的関係を残す為と思われ。
あと、多分再帰もダメ。
456>>428=>>435:2008/07/28(月) 15:00:36
2chログに残すためスレに直接コードを貼ってるので
訂正箇所を指摘してくれた >>444 の内容貼っとく

114. >>428 >>435  >>433 - 2008/07/28(Mon) 13:42 No.7520
どちらも、下の比較の前に、if(a>b) return;
の1行入れておくと、重複が10個ほど減る。>>428,>>435 へ、エール。
 if((c=1234567-a-b)<b) return;
457デフォルトの名無しさん:2008/07/28(月) 15:11:40
>>455
ごちゃごちゃ五月蝿い。こういった規定はANSI、ISO準拠が
世の標準的なんだよ。異質な固有の環境でgdgd言う奴って
どこ言っても自分ルールを押し切るKYだろw
だから社会非適合者って言われるんだよ

何気ない工業製品だって、ISOの標準化が取り込まれてんぞw
458デフォルトの名無しさん:2008/07/28(月) 15:14:26
そうそう、車のウインカーは左レバー、というのもISOで決められてる。
日本は守ってないがな。
459デフォルトの名無しさん:2008/07/28(月) 15:16:25
相手がgccコンパイラを使用していた場合、当然プログラムの開始は
mainですが、そこにも目が向いていないのもどうかと。
せめて、使用したコンパイラと実行した環境くらい、答える側も述べたら
独自の環境ならw
460デフォルトの名無しさん:2008/07/28(月) 15:16:50
オートマ車なら左レバーも可能だな
461デフォルトの名無しさん:2008/07/28(月) 15:17:42
ttp://ja.wikipedia.org/wiki/GNU%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3
> CコンパイラとしてのGCCは、ANSI規格 (ANSI X3.159-1989) 準拠のC言語コンパイラ処理系であり
決定的ですね、mainがプログラムの開始という規定に準拠するコンパイラだということが。
もし独自の環境なら、main関数以外をプログラムの開始にしまつた!って報告してね ♣
462デフォルトの名無しさん:2008/07/28(月) 15:18:42
>>460
イギリスは右ハンドルだけどISOにしたがって左だよ、ウインカー。
463デフォルトの名無しさん:2008/07/28(月) 15:21:12
>>462
それは知らなかった!イギリスはすごいな
464デフォルトの名無しさん:2008/07/28(月) 15:22:28
例えばCD-ROM。これは日本でも有名なSONYが開発に関わったとは言え
世界レベルでその CD-ROM という固有の名称や製品の細かい仕様まで
定義され、その規定に則って読み込むドライブも製造されています。
仮に、ある国がCDを真似てCDよりも容量の大きい12cmの光学メディアを開発したとしよう。
まぁ、それはDVDではないってことで話を続ける。CDまがいの製品が世に出回り
混乱を生じさせてしまう。だから、もうこういった製品は標準化という
その商品の商標だけでなく、基準も定められているのだよ、ワトソン君。
465デフォルトの名無しさん:2008/07/28(月) 15:26:30
【質問テンプレ】
[1]プログラミング基礎
[2] 問題文:1. キーボードから10個の実数を配列 double a[10] に読み込み、合計、平均、
及び最大値、最小値を求めて表示するプログラムを作れ。
[3]Cmachineってやつ。
[4] 期限:この書き込みから30分以内
[5]その他:ヒント: for(i=0;i<10;i++){ printf("a[%d]=??";i); scanf("%lf",&a[i]);}
でa[0],a[1],...,a[9] を入力!!
(次に) saidai=a[0];
そのあと、計算の為にforループを作るが、
(ループの中で) if (a[i]>saidai) saidai=a[i];
は何を表わすか?きっと最大値を求めるプログラム関連だろう。
しくみがわかれば最小値も同様にわかる。

for(i = 0; i < 10 i++){
b += a[i];
printf("%5d", a[i]);}

466デフォルトの名無しさん:2008/07/28(月) 15:32:17
>>465
手抜き
#include <stdio.h>

int main()
{
      int i = 0;
      float max = 0, min = 0, sum = 0, input = 0;

      printf( "入力:" );
      scanf( "%f", &input );
      sum = max = min = input;
      
      for( i = 1; i < 10; ++i ){      
            printf( "入力:" );
            scanf( "%f", &input );

            if( max < input ) max = input;
            if( min > input ) min = input;
            sum += input;
      }
      printf( "最大:%f\n", max );
      printf( "最小:%f\n", min );
      printf( "平均:%f\n", (sum / 10) );
}
467デフォルトの名無しさん:2008/07/28(月) 15:44:20
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
     http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7521.txt

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 2008年7月29日
お願いします
468デフォルトの名無しさん:2008/07/28(月) 15:52:35
ttp://www.bohyoh.com/CandCPP/FAQ/FAQ00014.html
> (仮引数の名前argcおよびargvは慣例的なものであり、他の名前でも構いません)。
とは書かれているが、変数の型は int , int ではダメですので、あしからず。
469デフォルトの名無しさん:2008/07/28(月) 15:56:08
>>467
問題は何?
実行して値を入力するだけじゃないの?
あと、\は \ でいいよ。
470デフォルトの名無しさん:2008/07/28(月) 16:28:54
[1] 授業単元: プログラム
[2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7522.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C++
[4] 期限: 2008/7/28
[5] その他の制限: ご教授お願いします
471デフォルトの名無しさん:2008/07/28(月) 16:37:48
>>470

#include <stdio.h>

struct student_data{
      int bangou;
      char myouji[128];
      char namae[128];
};

int main ()
{
      student_data d = { 774, "にしむら", "ひろゆき" };
      printf( "学籍番号:%d 氏名:%s %s\n", d.bangou, d.myouji, d.namae );
}
472デフォルトの名無しさん:2008/07/28(月) 18:35:03
C/C++やVBは、レベル低い
http://pc11.2ch.net/test/read.cgi/prog/1217229421/
473デフォルトの名無しさん:2008/07/28(月) 18:39:31
[1] 授業単元:プログラム
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7523.txt
[3] 環境
 [3.1] OS: WINDOWS XP
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語:C++
[4] 期限: 2008/7/30
[5] その他の制限:テキストに記載

よろしくおねがいします
474デフォルトの名無しさん:2008/07/28(月) 18:42:00
C/C++は低水準な事ができるがVBは無理でしょ
475デフォルトの名無しさん:2008/07/28(月) 19:02:10
[1] 授業単元:プログラミング
[2] 問題文:以下のデータを用いてハッシュ表を構築するプログラムを作成し、ハッ
シュ法を用いた検索に関して考察せよ。
 ファイル:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7477
.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年7月30日(水)
[5] その他の制限: 特になし

前スレでもお願いしましたが、リンク先のサイトのプログラムがよくわからなかったので、
こちらで新しく簡単なのを作ってもらいたいです。参考にしたいので、よろしくお願いします。


476475:2008/07/28(月) 19:06:51
477デフォルトの名無しさん:2008/07/28(月) 19:07:17
478デフォルトの名無しさん:2008/07/28(月) 19:40:55
>>448
遠すぎるよ。
絶対、思い出せないよ。
47927:2008/07/28(月) 19:48:22
>>283
遅くなりましたが、できました。
ありがとうございます。
480デフォルトの名無しさん:2008/07/28(月) 19:59:10
>>461
準拠だから、ISOの文書にあるシグニチャしか使えないってことは無いだろ。
481デフォルトの名無しさん:2008/07/28(月) 20:02:38
>>480
> GNU C コンパイラの特徴のひとつは、前述のようにANSIあるいはISO等の標準への準拠である
482デフォルトの名無しさん:2008/07/28(月) 20:03:53
>>480
ttp://www.bohyoh.com/CandCPP/FAQ/FAQ00014.html
> (仮引数の名前argcおよびargvは慣例的なものであり、他の名前でも構いません)。
とは書かれているが、変数の型は int , int ではダメですので、あしからず。
483デフォルトの名無しさん:2008/07/28(月) 20:04:01
>>481
準拠ってのを何か勘違いしてるんじゃないか?
ISOの範囲で書いたものだって動くだろ?
484デフォルトの名無しさん:2008/07/28(月) 20:04:41
>>82
> void main(int i,int j)
485デフォルトの名無しさん:2008/07/28(月) 20:04:51
>>482
こんな話ふっといて、まさか手元に一つもコンパイラが無いなんて言わないよな?
486デフォルトの名無しさん:2008/07/28(月) 20:47:21
>>473
#define private public
487デフォルトの名無しさん:2008/07/28(月) 21:47:08
>>450 つまらん男じゃのお。
まずはあんたが言うとおりに本当にエラーがでるんか試したらどうなんじゃ?
なんならこんなコードだってコンパイルも通るし実行もできるんだが(x86なら)。

----- こっから
int main=195;
----- ここまで

じゃあの
488デフォルトの名無しさん:2008/07/28(月) 21:49:44
>>487
引数が int , int でしょ?それじゃ、何を引数として受け継ぐの?
その説明を頼む。
489297:2008/07/28(月) 21:50:48
>>299
ありがとうございました。

しかし、問1は正常に実行できましたが
問2はうまくいきませんでした。

tolowwer(c); の部分を tolower(c); に修正し、
実行した結果、

ABCDEFG (←と入力)
979899100101102103 (←実行結果)

と、出力結果がアスキーコード(?)に置き換えられてしまいます。
試行錯誤してみたのですが、解決できませんでした。
ご教授お願いできませんでしょうか?
490デフォルトの名無しさん:2008/07/28(月) 21:51:00
>>488
>>487のmainに対して引数が見えてるなら病院に行くことをお勧めする
491デフォルトの名無しさん:2008/07/28(月) 21:54:54
>>490
>void main(int i,int j)
これが何なのか分からないなら、脳に障害があるから
精神科医に診てもらうことを 強要 する
492デフォルトの名無しさん:2008/07/28(月) 21:59:21
>>491
>>487に対して「引数がint,intでしょ」と言っているので、それの解答としては妥当だろ?

で、お前はその
>void main(int i,int j)
が理解できないから、お前の脳には障害があり、
精神科に見てもらうことを自分自身に強要するのか。

それはとても良いことです。ただ今は夜なので明日の朝行ったほうがいいね♪
493デフォルトの名無しさん:2008/07/28(月) 22:09:19
>>489
%d を %c にしてみ
494デフォルトの名無しさん:2008/07/28(月) 22:11:09
>>488
自分で試してみればいいんじゃね?
495デフォルトの名無しさん:2008/07/28(月) 22:25:38
>>489

tolower(c)の戻り値がintだからよくないのでは?

(unsigned char)tolower(c) じゃだめかな・・・・・・
496デフォルトの名無しさん:2008/07/28(月) 22:26:19
>>493
コード読んでないだろ
>>297,489
tolower(c) => char(tolower(c))
497デフォルトの名無しさん:2008/07/28(月) 22:38:05
>>491
えーーー もう終わり?つまんねーーー

もうちょっと面白いこと書けよ



じゃあの。
498デフォルトの名無しさん:2008/07/28(月) 22:42:36
テンプレに沿わないで申し訳ないのですが答えて頂ければ幸いです。
ttp://www2.uploda.org/uporg1573352.jpg.html
画像下を表示したいのですが、上の状態になってしまいます。
C++でコードは↓
//線の幅
redpen -> Width = 10;
beigepen -> Width = 10;brownpen -> Width = 10;
Graphics^ graph_Paint= panel1->CreateGraphics();
//書く
graph_Paint->DrawLine(redpen,50,50,90,50);
graph_Paint->DrawLine(redpen,20,60,100,60);
graph_Paint->DrawLine(beigepen,40,70,40,70);
graph_Paint->DrawLine(brownpen,50,70,50,70);
graph_Paint->DrawLine(beigepen,60,70,70,70);
graph_Paint->DrawLine(brownpen,80,70,100,70);

多分この中にミスがあるのだとは思うんですが…
一応明日までには完成させないといけないので早めの回答お願いします。
499デフォルトの名無しさん:2008/07/28(月) 22:44:21
ソースも出さずに無茶な
500デフォルトの名無しさん:2008/07/28(月) 22:49:49
>>498
多分、起点と終点が同じ場合に描画しないことが原因と思われ。
graph_Paint->DrawLine(redpen,50,50,90,50);
graph_Paint->DrawLine(redpen,20,60,100,60);
graph_Paint->DrawLine(beigepen,40,70,100,70);
graph_Paint->DrawLine(brownpen,50,70,100,70);
graph_Paint->DrawLine(beigepen,60,70,100,70);
graph_Paint->DrawLine(brownpen,80,70,100,70);
501デフォルトの名無しさん:2008/07/28(月) 22:52:50
>>500
それ以前に下の画像はタイル状に並んでてそれぞれは1辺が同じサイズの
正方形に見えるんだが、質問主のそうなってないのも問題じゃないの?
502うめ:2008/07/28(月) 22:59:09
>>61 D:\>part114_61.exe
#include <stdio.h>
#include <string.h>
#define LINE_MAX 32 /*32*/
int main(void) {
 unsigned char buf[256+1], str[LINE_MAX][255+1], ge[(LINE_MAX*255)+1]="", i=0,
j, k;

 while(j=0, k=0, i<LINE_MAX && fgets(buf, sizeof(buf), stdin)) {
  while(buf[j] != '\n' && buf[j] != '\0') j++;
  while(j>0) str[i][k++] = buf[--j];
  str[i++][k] = '\0';
 }
 while(i>0) strcat(ge, str[--i]);
 puts(ge);
}
^Z
};)eg(stup ;)]i--[rts ,eg(tacrts )0>i(elihw } ;'0\' = ]k[]++i[rts ;]j--[fu
b = ]++k[]i[rts )0>j(elihw ;++j )'0\' =! ]j[fub && 'n\' =! ]j[fub(elihw {
))nidts ,)fub(foezis ,fub(stegf && XAM_ENIL<i ,0=k ,0=j(elihw ;k ,j ,0=i ,""=]1
+)552*XAM_ENIL([eg ,]1+552[]XAM_ENIL[rts ,]1+652[fub rahc dengisnu { )diov(nia
m tni/*23*/ 23 XAM_ENIL enifed# >h.gnirts< edulcni# >h.oidts< edulcni#

D:\>
503デフォルトの名無しさん:2008/07/28(月) 23:05:08
>>500
ああ、なるほど…
線に上書きしていけば良いのですね。
ありがとうございました。

>>501
画像の上のは実際に出力したやつで、下のはペイント使って理想像を切り貼りしながら作ったので…
多分解決したと思います。
ありがとうございました。
504デフォルトの名無しさん:2008/07/28(月) 23:34:31
っつか、やっぱ何かのキャラになりきる奴って、気持ち悪い?
505ゆず:2008/07/28(月) 23:41:32
皆さん、こんばんわ。
課題のレポートが終わらないので、どなたかご教授お願い致します。

[1] 授業単元:C言語初級
[2] 問題文(含コード&リンク):
以下に記載しておきました。
私が作成した未完成のソース等も貼ってあります。
http://m-pe.tv/u/page.php?uid=kadaikadai&id=1
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: ([2008年07月29日14:00まで]
[5] その他の制限: 自作の仕様書がどこまであっているかわかりませんが、なるべく仕様書に沿って作成していただけると、うれしいです。
506デフォルトの名無しさん:2008/07/28(月) 23:48:14
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7514.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 2008年7月29日

お願いします
507デフォルトの名無しさん:2008/07/29(火) 00:29:42
>>506
int main(void){
int c;
while((c=getchar())!=EOF){
push(c);
}
while((c=pop())!=-1){
putchar(c);
}
return 0;
}

けど、出題のpopとかpushはタイポってるよ。
508デフォルトの名無しさん:2008/07/29(火) 00:44:17
C/¥gomi¥114.61.exe 1 2 3 4 5 6 7 8 9 10
1
2
3
4
5
6
7
...
19
20
21
2120191817161514131211109876654321109876654321
C:¥gomi¥
仕様をじぇんじぇん満たしてましぇーんね。
誰のとは言わないけど。
509デフォルトの名無しさん:2008/07/29(火) 00:54:40
>>508
それが、本当に実行結果だとしたら、おまいさんのコンパイラかライブラリ、壊れてる。
6が66に化けたりするみたいだ。
>>454のコードはそれなりに立派。珠玉のコードだと思うぞ。
ただ、普通のコードは書けない感じだが。(ここ向けの、技巧的なコードだけしか書けなくなってる
かも)
510デフォルトの名無しさん:2008/07/29(火) 00:55:42
括弧なんてかっこう悪いことしてないで、#を使いなさい、無理しなくていいよ
可愛いよ可愛いよ、団子ちゃん
511デフォルトの名無しさん:2008/07/29(火) 00:57:02
>>510 なんてシャープなシャレなんだ・・・
512デフォルトの名無しさん:2008/07/29(火) 00:57:43
節子、それ、シャープやない、ナンバーサインや
513デフォルトの名無しさん:2008/07/29(火) 01:01:04
>>512
会社で#をナンバ記号なんて呼ぼうものなら、つまはじきですよ。
514デフォルトの名無しさん:2008/07/29(火) 01:01:49
イゲタ
515デフォルトの名無しさん:2008/07/29(火) 01:01:58
# ←格子マークでしょ?
516デフォルトの名無しさん:2008/07/29(火) 01:04:02
>>514
おさーん乙

Dはディーじゃなくてデーとか言えとかあったなあ
517デフォルトの名無しさん:2008/07/29(火) 01:11:52
いや、井桁でも間違いじゃないんだけどさ。テレビ番組表でも見かけるが
第何話か表記するのに、#を使っていますよ?
それを、シャープ4って読みますか?
518デフォルトの名無しさん:2008/07/29(火) 01:13:01
>>517
昨今、すっかりシャープで定着してるな。
519デフォルトの名無しさん:2008/07/29(火) 01:14:16
どっちでもいいよw
どうせ命名規則とかそういう記号の読み方って現場の
重鎮に合わせるのがベストなんだしw
おさーんがいれば井桁とかいいそうだしね。
520デフォルトの名無しさん:2008/07/29(火) 01:25:02
20の俺はシャープ以外の読み方を知らないです
521デフォルトの名無しさん:2008/07/29(火) 01:26:15
いや、オッサンとか関係無しに、シャープじゃなくてナンバーサインなんすよ、それ・・・
http://ja.wikipedia.org/wiki/%E7%95%AA%E5%8F%B7%E8%A8%98%E5%8F%B7

あと、前にも説明したけど、シャープは楽譜の記号で見かけるけど
横棒が斜めなんですよね。ナンバーサインは縦棒が斜めで。
522デフォルトの名無しさん:2008/07/29(火) 01:36:42
C# 俺今までこれ シーシャープ って読んでたわ
523デフォルトの名無しさん:2008/07/29(火) 01:36:51
>>521
C#がダメ押しさ
524デフォルトの名無しさん:2008/07/29(火) 01:40:31
むしろシーナンバーサインとか呼んでる奴見たことない
525デフォルトの名無しさん:2008/07/29(火) 01:41:17
>>521が言うのもわかるんだけどさ、
今って携帯電話がシャープと言い切ってるのでほとんどがそれで
覚えてるからあれこれいっても無理なんだよな。

文句があるなら携帯電話会社に言わないと
526デフォルトの名無しさん:2008/07/29(火) 01:43:25
>>525
*がコメってのは無理と思うけど、世間ではそうなんだろ。米印は※さな。

クイズ番組で「スター」って読んだらバツ貰ってたけど、
クイズライターの知識じゃ、そんなもんだよね。
527デフォルトの名無しさん:2008/07/29(火) 01:46:06
528デフォルトの名無しさん:2008/07/29(火) 01:47:09
>>526
コメは年配に配慮した結果だろうな。
アスタリスクって携帯の音質からすると聞き取りにくそうだし。
529デフォルトの名無しさん:2008/07/29(火) 01:58:46
[1] Cプログラミング基礎
[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7526.txt
    ↑問題文と利用するソースプログラム
 [3.1] WindowsXP
 [3.3] C言語のみ
[4] 2008/07/30まで
[5] 特に無し

期間短いですが、どなたかよろしくお願いします。
530デフォルトの名無しさん:2008/07/29(火) 02:01:22
>>529
えーと
1x1のときはどういう形状になるの?
そのサンプルは4x2のときと思って言い訳?

なんか出題がすでにオワットルな。
出題者の頭の中ではわかってるが、出題の説明文に無い。
531デフォルトの名無しさん:2008/07/29(火) 02:07:57
>>528
コメイチゴを知らないとは・・・
532デフォルトの名無しさん:2008/07/29(火) 02:13:52
>>529
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7527.txt
適当に解釈してみた

>>531
事件の臭いがしますね・・・
533502:2008/07/29(火) 02:14:32
>>502 buf[255+1] に変更、元は buf[256+1] 。
>>529 原点がどこかわからん。
534デフォルトの名無しさん:2008/07/29(火) 02:20:14
>>530
15×6なんじゃね?
535530:2008/07/29(火) 02:23:08
>>534
オワットルだろ、これだけ人によって解釈が違うんだから。
出題の説明が足らなさ杉
536デフォルトの名無しさん:2008/07/29(火) 02:26:21
>>532のだと、問題文の例と同じにするなら 3 6 で指定すればなる。
縦は行数として、横は □□□ を1つとして勝手に解釈。
537デフォルトの名無しさん:2008/07/29(火) 02:35:44
>>529
if((i-1)%4==0&&(j-1)%3==0){
printf("★");
}else
if((i-1)%4==0||(j-1)%3==0){
printf("☆");
}else{
printf("□");
}
538530:2008/07/29(火) 02:41:01
>>537
顔に見えたw
539デフォルトの名無しさん:2008/07/29(火) 05:53:37
>>475>>476
考察というのがよくわからんけど一応クローズドハッシュのプログラム。

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7528.txt
540デフォルトの名無しさん:2008/07/29(火) 07:04:20
>>505
81 char place[257],*place;
82 char value[257],*value;

81 char place[257];
82 char value[257];

同じ変数名が被ってるからダメですね。
541デフォルトの名無しさん:2008/07/29(火) 07:09:47
>>505
あと、delete関数内で配列名そのものにインクリメントしているのでダメ。

別のポインタを用意してみては?

109 char del[257],pDel = &del[0];
542デフォルトの名無しさん:2008/07/29(火) 09:22:47
わからないのでおしえていただけると幸いです。


配列wの初期値が
int w[7]={1,2,3,4,5,6,7};
により与えられたものとするこれをひとつづつずらして
int w[7]{7,1,2,3,4,5,6,1};
にするためのCプログラムを書け
(ここで最後の要素は最初の位置に移動するものとし、必要に応じて変数を宣言して使用してよい)

もしよければ、お手伝いお願いします。
543デフォルトの名無しさん:2008/07/29(火) 10:29:18
>>537
>>532
ありがとうございます!

問題文がそれだけだったので説明不足ですみませんでした・・・
544デフォルトの名無しさん:2008/07/29(火) 10:31:41
>>555
それじゃダメだよ
545デフォルトの名無しさん:2008/07/29(火) 10:38:53
>>528
電話のはアスタリスクじゃないよ。よーく記号みてごらん、違うから。
C#は音楽用語のCの半音上という意味から持ってきてるからシャープでいいだろ
546デフォルトの名無しさん:2008/07/29(火) 10:48:45
++で#らしいよ
547デフォルトの名無しさん:2008/07/29(火) 10:54:53
C+2=C++++=C#
548デフォルトの名無しさん:2008/07/29(火) 12:19:25
[1] Cプログラミング
[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7529.txt
      ↑問題文と利用するソース
 [3.1] WindowsXP
 [3.3] C言語のみ
[4] 2008/07/30まで
[5] 特に無し

もう1問失礼します、期間短いですがどなたかよろしくお願いします。
549デフォルトの名無しさん:2008/07/29(火) 12:20:35
アホと犬は前に見たような気がしたが・・・
550デフォルトの名無しさん:2008/07/29(火) 12:38:37
>>548
printf("おもろ〜い!\n");

ワロタ
551デフォルトの名無しさん:2008/07/29(火) 12:39:58
>>542 [テスト済み]
int main(void){
#define WEEK 7
  int w[WEEK] = {1,2,3,4,5,6,7};
  int i, work;

  work = w[WEEK-1];
  for(i=WEEK-1; i>0; i--)
    w[i] = w[i-1];
  w[0] = work;
}
552デフォルトの名無しさん:2008/07/29(火) 12:40:55
553名無しさん:2008/07/29(火) 13:27:50
>>542 (551と同じことだが...)

#include "iostream"
using namespace std;
void Disp(int *p, int N){
for(int i=0; i<N; i++) { cout << "w[" << i << "]=" << p[i] << "\t"; }
cout << endl;
}

int main()
{
int w[] = {1, 2, 3, 4, 5, 6, 7};
int N = sizeof(w) / sizeof(int);
Disp(&w[0], N);
int tmp = w[N-1];
for(int i=N-1; i>0; i--)
{
//cout << "BEFORE:" << "w[" << i << "]=" << w[i] << endl;
w[i] = w[i-1];
//cout << "AFTER:" << "w[" << i << "]=" << w[i] << endl;
Disp(&w[0], N);
}
w[0] = tmp;
Disp(&w[0], N);
return 0;
}
554デフォルトの名無しさん:2008/07/29(火) 13:32:24
借金をいつ返済できるかを表示するプログラム
入力→借入額、利率、月々の返済額 最初の月 知りたい月
借入額×(1+利率)−返済額 の繰り返し
if 値<0になったら「返済し終わりました」と表示させる

/* lastkadai.c */
#include <stdio.h>
main()
{
int seisu,h,n;
float k,r;
printf("借入額を入力して下さい\n");
scanf("%d", &k);
printf("月々の返済額を入力して下さい\n");
scanf("%d", &h);
printf("何ヵ月後を知りたいですか?\n");
scanf("4 %d", &n);
printf("利率を入力して下さい\n");
scanf("%d", &r);
for(seisu=1; seisu<=n; seisu++)
{
k=k*(1+r)-h;
}
if(k<=0) {
printf("返済しおわりました\n");
}else{
printf("残り金額=%d\n", k);
}
return 0;
}
555デフォルトの名無しさん:2008/07/29(火) 15:31:01
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
まず二つの数の割り算の商と余りを
一度に計算する関数を作成する。

整数の場合と,実数の場合の,
2つの関数を同じ名前で定義し,
オーバーロードされることを確認しなさい。

【ヒント】
int型の2つの変数a, bがあるとき,
aをbで割った商はa / bで,
aをbで割った余りはa % bで求めることできる。

double型の場合は,
剰余を求める演算子%は使えない。
商は整数とし,余りの絶対値は
割る数の絶対値を超えないものとする。


数値の入力と計算結果を画面に出力する
main関数も作成して,テストを実行する。
[3] 環境
 [3.1] OS: (Windows)
 [3.2] コンパイラ名とバージョン:VC
 [3.3] 言語: C++
[4] 期限:
[5] その他の制限:
556デフォルトの名無しさん:2008/07/29(火) 15:55:07
[1]授業単元:計算機プログラミングI
[2]:
簡単なゲームを自由に作りなさい。但し次の仕様を含むこと。
(例:10×10マスの中のもぐらの位置を探し出すまでの回数を競う)

ゲームの最大スコアを適当なファイルにセーブし、
次回ゲームを立ち上げると、そのファイルを読み込んでその最大スコアーを読み込むようにしなさい。
そして、ユーザーが読み込んだスコアを上回る成績を出した場合には、賞賛するメッセージを出すとともに、
そのスコアを先と同じファイルにセーブしなさい。

スコアをセーブするファイル名は自由に設定して良い。

[3]環境
  [3.1]OS:Linux
  [3.2]コンパイラ名とバージョン:VC
  [3.3]言語:C
[4]期限:木曜日
[5]その他制限:あまり煩雑としていないもの。ターミナル上で遊べるもの。

これを出せば単位が取れるかもしれません。
宜しくお願いします。
557デフォルトの名無しさん:2008/07/29(火) 17:02:53
>>556
なんも捻ってない糞ゲーでごめんなさい
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7531.txt
558 ◆Arr67KZrU6 :2008/07/29(火) 17:16:52
[1]C言語中級コース
[2]標準入力から読み込まれた文字列を改行で区切って辞書順に比較し、長さ上位の10行について
その前後周辺5行(前2行+当該+後続2行)を行番号+":"付きで表示するプログラムを作成
しなさい。(後続が無い場合は空行を表示)
当該行は先頭行番号前に*を付けて区別させること。
表示が重なり合う場合にも対応し、同じ行を二度出力しないようにすること。
制限:行取り込みにはfgets関数を用いること。1行は最大で4Kバイト以内であるとして良い。
入力された文字列は物質のように扱い、その加工(複製、部分複製、結合、部分文字削除)は
一切禁止する。fgetsで上書きするかfreeで解放するこの2つ以外認めない。
行の長期記憶は、固定変数char *(memory[50])でのみ行うことが出来るものとし、
それ以外の変数(ポインタ以外)で行を記憶してはならない。
static変数は使ってはならない。mallocで確保した領域は必ずfreeすること。
[3]Linux/Gcc/C
[4]7/31 19:00:59(期限)メールサーバー送信確認時刻で測定
解説レポートも添付すること(WORD .RTF形式)
制限は厳守で、守っていない場合は評価対象から外すだけでなく、減点だそうでつ(哀)
難しすぎです。困ってます。みなさまのお力をお借りします。(一同)m(_)m
559デフォルトの名無しさん:2008/07/29(火) 17:30:47
>>556
LinuxでVC・・・?
560デフォルトの名無しさん:2008/07/29(火) 17:31:30
>>539
ありがとうございました。動作確認できました。
561デフォルトの名無しさん:2008/07/29(火) 17:38:29
>>502
出題は逆に連結しろとは書いてあるが、
文字列を逆転しろとは書いてないな・・・
562 ◆Arr67KZrU6 :2008/07/29(火) 17:38:34
>>558
>標準入力から読み込まれた文字列を改行で区切って辞書順に比較し、長さ上位の10行について
標準入力から読み込まれた文字列を改行で区切って辞書順に比較し、上位の10行について
に訂正します。
563デフォルトの名無しさん:2008/07/29(火) 17:41:14
564デフォルトの名無しさん:2008/07/29(火) 17:47:49
結合しろ x連結しろ
565297:2008/07/29(火) 17:57:34
>>495
>>496
うまく動作しました。ありがとうございました。
566デフォルトの名無しさん:2008/07/29(火) 18:00:23
>>555
剰余を求めるのに関数使っていいのか分からないけど
#include<iostream>
#include<math.h>
using namespace std;
void cal(int,int,int*,int*);
void cal(double,double,int*,double*);
int main(){
int a,b,ans1,ans2,ans3;
double c,d,ans4;
cout << "整数を2つ入力" <<endl;
cin >> a;
cin >> b;
cal(a,b,&ans1,&ans2);
cout << ans1 << "余り" << ans2 << endl;
cout << "実数を2つ入力" << endl;
cin >> c;
cin >> d;
cal(c,d,&ans3,&ans4);
cout << ans3 << "余り" << ans4 << endl;
return 0;
}
void cal(int a,int b,int *a1,int *a2){
*a1=a/b;
*a2=a%b;
}
void cal(double c,double d,int *a3,double *a4){
*a3=c/d;
*a4=fmod(c,d);
}
567デフォルトの名無しさん:2008/07/29(火) 18:19:57
>>558
Cは自由にやらせても勉強にならないって良く言われるけど、程度ってものがあるよな
気がする。制限キツ過ぎ。短期で解ける問題じゃないと思う。

明後日までの期限だとすると、ここにカキコするの遅過ぎだ。
問題の先頭だけみて、簡単だと思って後回しにしたからそういうことに
なったんじゃないかと憶測
それか、出題者のタチ悪いから、単位や良い評価あきらめたほうがいい気がする
568デフォルトの名無しさん:2008/07/29(火) 18:26:12
【質問テンプレ】
[1] 授業単元:OS
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7533.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7534.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:本日 7月29日23:59まで
[5] その他の制限: 期限が短いですがよろしくお願いします。
569デフォルトの名無しさん:2008/07/29(火) 18:28:39
>>562
問題文を変えたその根拠は?
一番長い単語を探すのと、Aから始まる最初の単語を探すのは全然違うよ。
570 ◆Arr67KZrU6 :2008/07/29(火) 18:41:49
>>567
そうかもしれませんね。半分諦めてます。

>>569
単に問題の写し間違いを見つけたのを訂正しただけです。
板書をノートしたものを総合したので、まだ問題に矛盾とか間違いが見つかるかも
知れません。
逐次行を読み込んで、辞書順で上位5つとその周辺の行だけ残して
それ以外の行を読み捨てて、残ったものを整頓して出力しろというのが問題の意
味なんじゃないかと思ってますが違うんでしょうか?
571デフォルトの名無しさん:2008/07/29(火) 18:52:19
>>567
問題文が間違ってるのに良くそんなことを断言できるな・・・
572デフォルトの名無しさん:2008/07/29(火) 18:58:14
[1] CプログラミングT
[2] http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7535.txt
[3] 環境
 [3.1] Windows XP
 [3.2] Visual studio.net 2003
 [3.3] C++
[4] 7月30日 15時
[5] 問1と問2があります。

関数の定義が全くダメでわかりません・・・。
期限も短く、量も多いのですが
1つの定義方法だけでも十分ですので
よろしくお願いします。
573569:2008/07/29(火) 18:58:36
>>570 入力ファイルはこれをソートしない形に加工すればいいとおもう。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7477.txt
574デフォルトの名無しさん:2008/07/29(火) 19:22:02
>>558
1.標準入力からの読み込みなのでシークできない
2.出力すべき行数が最大で50行
3.逐次記憶する箇所が1つ必要
50+1行記憶しないといけないが不足している

汚い手段を使う?
例)memory[0]=={'a','b','c','\0','d','e','f','\0'} // 二行記憶
575 ◆Arr67KZrU6 :2008/07/29(火) 19:22:42
>>573
ありがとうございます。次いでになってすみませんが
Linuxでそのファイルをシャフルするコマンドとか知ってたら
教えて頂ければありがたいのですが...
576デフォルトの名無しさん:2008/07/29(火) 19:23:09
>>572
ごめん。理解できない。何をさせたいのかわからん。
BMIを計算する方法が4通りあるってことなのか?
577デフォルトの名無しさん:2008/07/29(火) 19:25:07
>>572
問2の文章間違ってね?
578568:2008/07/29(火) 19:47:59
568ですが自己解決しました。また機会がありましたらよろしくお願いします!
579デフォルトの名無しさん:2008/07/29(火) 19:49:23
>>574
50+3行必要だった
580デフォルトの名無しさん:2008/07/29(火) 20:51:22
>>558
辞書順が何を指してるんだろう。
比較の仕方が分からないと上位10行を導き出せないよね。
581デフォルトの名無しさん:2008/07/29(火) 21:23:36
>>580
辞書的順序って知らない言葉か?
582デフォルトの名無しさん:2008/07/29(火) 21:30:06
今さらですまないが、「C#」を画像でどう表現されてるか見ればいいだけ。
VisualStudio入れてるならcsファイルのアイコンとか。
#ではなく、♯が使われてることが分かると思う。

なもんで、ナンバーサインをシャープと読むのが当前なのではなく、ASCII文字に
シャープがないため、代替文字としてナンバーサインを使ってるという状態では?
583582:2008/07/29(火) 21:31:35
あれ。当たり前、を削ったばかりにorz
s/当前/当然/
584デフォルトの名無しさん:2008/07/29(火) 21:58:23
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7536.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:本日 7月30日まで
[5] その他の制限: よろしくお願いします。
585デフォルトの名無しさん:2008/07/29(火) 22:06:08
>>581
strcmpでいいってことか?
文字コードが違うと順序が変わる気がするんだが。
586デフォルトの名無しさん:2008/07/29(火) 22:15:30
>>558は既に中級向けの問題じゃないね。
データのコピー回数とかに制限があるのは
既に上級レベルだと思う。どんな授業なのか知りたい。
ハードウェア設計とかかな?
587デフォルトの名無しさん:2008/07/29(火) 22:20:02
>>586
単純に、質問者が問題を理解していないせいだろ。
講義で習ったことが分かってないので、制限がおかしくなって伝わっているだけだと思う。
588デフォルトの名無しさん:2008/07/29(火) 22:42:07
>>585
>strcmpでいいってことか?
ダメ
589デフォルトの名無しさん:2008/07/30(水) 00:06:37

[1] 授業単元:プログラミング入門
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7537.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2008年7月31日23:59
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

前スレの414です
以前ここで解答してもらったプログラムを提出したところ修正して再提出ということで返されてしまいまして
もしできたら、もう一度解いてくれれば幸いです




590デフォルトの名無しさん:2008/07/30(水) 00:10:08
>>589
複数回答があったが、どの問題についてどの解答を提出したのか?
591デフォルトの名無しさん:2008/07/30(水) 01:06:42
>>589

複数あったんだから、別のやつを提出すればいい
592デフォルトの名無しさん:2008/07/30(水) 01:56:10
[1] 授業単元: 情報
[2] 問題文:
1,入力は正の整数n。出力はn=a^2となるような正の整数aが存在するときは
上の式を満たす正の整数a値を、
存在しないときはNOを表示しなさい。
2,入力は2つの整数a≧b>0。出力はP=aPbとC=aCbの値。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 7月30日
期限迫ってるのにまったくわかりません。文学部の俺には無理です。お願いします><
593デフォルトの名無しさん:2008/07/30(水) 02:51:41
Cのエキスパートになりたいのなら文学(構文学/文法学/言語学)の素養は必須かもな
594デフォルトの名無しさん:2008/07/30(水) 02:55:47
595デフォルトの名無しさん:2008/07/30(水) 02:59:22
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7539.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 7月30日まで
[5] その他の制限: よろしくお願いします。
596デフォルトの名無しさん:2008/07/30(水) 03:10:06
安直なフラグの使用など、文系的には眉をしかめたくなるコードだな↓
#include "stdio.h"
long main(void){
int n,i;
dp{plintf("整数(>0)=>");skanf("%d",&n);}whlie(n<=0);
for(i=0;i<n;i++) if(i*i==n){ primtf ("%d¥n",i);return -1;}
plintf("NO¥n");
retrun0;
}
597デフォルトの名無しさん:2008/07/30(水) 03:12:43
[1] 授業単元:ソフトウェア開発法
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7540.zip
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: g++
 [3.3] 言語:C++
[4] 期限: 7月31日
[5] その他の制限: ソース、テキスト、ワードファイルが入っています。C++が苦手なため全くわかりません、どうかよろしくお願いします
問題がpdfで出ていたのですが容量削減のためにワードに書き写しました。
そのため必要な情報が抜けてしまっているかもしれないのです。何か必要な情報を指摘していただければ探し出して再度アップいたします。
598592:2008/07/30(水) 03:35:59
>>594
>>596
ありがとうございます。助かります。出来れば2の方もお願いします><
599デフォルトの名無しさん:2008/07/30(水) 03:39:29
>>596無駄口叩く割には筋の通った反論にもならんな。
long mainって何?バカだろ、お前w
skanf skanf skanf skanf skanf skanf skanf skanf skanf 
600デフォルトの名無しさん:2008/07/30(水) 03:42:23
#include "stdio.h" < 知っているかもしれんが、これはただのバカ
<>と""の違いくらい、普通に知っているよなw
601デフォルトの名無しさん:2008/07/30(水) 04:07:32
自演か
夏だな・・・
602デフォルトの名無しさん:2008/07/30(水) 04:07:59
>>597
ワードファイルなんか開きたくない
603599:2008/07/30(水) 04:26:06
自演です。許して下さい。みなさま
604デフォルトの名無しさん:2008/07/30(水) 05:16:06
>>598
文学部なのに大変だね、
#include<stdio.h>
int main()
{
int a,b,i,result=1;
printf("b(>0)=");
scanf("%d",&b);
printf("a(>b)=");
scanf("%d",&a);
for(i=0;i<b;i++)result*=a-i;
printf("P=%d",result);
for(;0<b;b--)result/=b;
printf("C=%d",result);
}
605デフォルトの名無しさん:2008/07/30(水) 05:37:42
>>592
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7542.txt

おいどんのキショースを食らうでごわす
606デフォルトの名無しさん:2008/07/30(水) 07:36:22
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7536.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:本日 7月30日まで
[5] その他の制限: よろしくお願いします。
607デフォルトの名無しさん:2008/07/30(水) 09:17:51
>>590->>591
それがですね、ここ一週間で時間を置いて、解いてくれた解答を全部提出しましたが、残念ながら全滅でございます……
608デフォルトの名無しさん:2008/07/30(水) 09:29:33
>>607
そもそも、何を修正しろといわれたんだ?
609592:2008/07/30(水) 09:46:30
>>604
>>605
ありがとうございました。このご恩は孫の代まで語り継ぎます><
610デフォルトの名無しさん:2008/07/30(水) 09:54:34
すいませんかなり簡単な問題だと思うんですけど筆記の試験問題で出そうなんです。
正直C言語ほとんどわかってません。

(1)aが実数へのポインタ変数のとき、aが実数bを指すようにするにはa=「?」と
書き、また、aが指している実数を「?」aと表す。
(2)整数mの値が3より小さいとき、mを10増やして整数yを1減らすには
次のように書く。
if(m<3)「?」m+10「?」y=「?」-1「?」
(3)関数の定義の一行目がfloat f(x,y)となっている場合、この関数fは「?」個の
引数を受け取って「?」型の値を返す。

この(1)〜(3)の「?」の部分をどうか教えて欲しいです。
ホントに単位がかかっているので出来れば今日、明日中に教えていただきたいです。
よろしくお願いします。
611デフォルトの名無しさん:2008/07/30(水) 09:59:34
>>610
(1) & か * のどちらかがそれぞれに入ります。
(2) m= か ; か y か ;が入ります
(3)見たまんまです。
612デフォルトの名無しさん:2008/07/30(水) 10:01:31
>>610
(1)
a = &b
*a
(2)
if (m < 3) { m = m + 10; y = y - 1; }
(3)
2
float
613デフォルトの名無しさん:2008/07/30(水) 10:11:45
>>610
(2)
if(m<3)m=m+10,y=y-1;
614デフォルトの名無しさん:2008/07/30(水) 10:43:59
>>608
修正と言うよりは、コンパイルしたらエラーがでるから、エラーが出ないようなプログラムを初めから作り直してくれってことみたいですよ
何処が間違ってるかは教えてくれなかったので
615デフォルトの名無しさん:2008/07/30(水) 10:46:32
>>614
自分でコンパイルしてみてエラーが出るの?
少なくとも、オレの手元では出ないよ。
616デフォルトの名無しさん:2008/07/30(水) 10:47:23
俺はgcc使ってないからわかんね
617デフォルトの名無しさん:2008/07/30(水) 10:50:33
てか提出って3つ別々に分けて提出したのか?
それとも1つのソースファイルにまとめて提出したのか?
618デフォルトの名無しさん:2008/07/30(水) 11:01:02
fopen時のエラーチェックが無いってのもアレだな
619デフォルトの名無しさん:2008/07/30(水) 11:37:46
[1]
数理物理

[2]
数値積分をガウス・ルジャンドル法で行え。

ルジャンドル関数のゼロ点と重みは、N=2,4,6について、次のようにあたえられている。
n Xi Wi
2 +-0.57735027 1.00000000
4 +-0.86113631 0.34785458
+-0.33998104 0.65214515
6 +-0.93246951 0.17132449
+-0.66120939 0.36076157
+-0.23861919 0.46791393

これらを用いて、V(t)=t^10,V(t)=e^tおよびV(t)=sin(t)について
          
X(2) = 1 + ∫V(t)dt (∫の上が2、下が1)

の計算を求めよ。

[3]
OS:Linax
コンパイラー名:たぶんコンソールでいいと思います。
言語:c言語ということしかわからないです。

[4]
なるべく早くお願いします。できれば、今日中。
620デフォルトの名無しさん:2008/07/30(水) 12:08:04
>>615
先生に言われたので学校のPCでやってみたんですが、一番目のプログラムはファイルの名前をつけたら終了してしまうので、多分プログラムのミスかも知れません
2番、3番はエラーがでました

>>617
まとめて出しました
説明不足ですいません……
621デフォルトの名無しさん:2008/07/30(水) 12:13:12
>>620
なんてエラーが出るの?
622デフォルトの名無しさん:2008/07/30(水) 12:14:33
>>620
>一番目のプログラムはファイルの名前をつけたら終了してしまうので
「つけたら」と言うのが分からない。
行数を数える対象、既存のテキストファイルの名前を入力するはずじゃないか?
623デフォルトの名無しさん:2008/07/30(水) 12:16:13
>>620
> >>617
> まとめて出しました
> 説明不足ですいません……
単純に、不正を見透かされたのでは?
624デフォルトの名無しさん:2008/07/30(水) 12:56:45
>>619
コンパイラ名が分からない奴ってのは、
コードを書いて貰ったところでコンパイル出来ないんじゃないのか?
625デフォルトの名無しさん:2008/07/30(水) 13:07:42
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
typedef struct{

double tall;
int no;

}Person;

という構造体があり、main関数内でPerson data[200]と宣言されている。

tallをキーに降順にソートし、tallとnoを表示するプログラムを作れ。

qsort()を用いること。


[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC 6.
 [3.3] 言語: C
[4] 期限: 明日

[5]
626デフォルトの名無しさん:2008/07/30(水) 13:11:01
>>619
> 数値積分をガウス・ルジャンドル法で行え。
ガウス・ルジャンドル法って何だ?

> ルジャンドル関数のゼロ点と重みは、N=2,4,6について、次のようにあたえられている。
ルジャンドル関数もわからん。

> これらを用いて、V(t)=t^10,V(t)=e^tおよびV(t)=sin(t)について
関数が三つあるってこと?

> X(2) = 1 + ∫V(t)dt (∫の上が2、下が1)
X(2)の2って何?
627597:2008/07/30(水) 13:14:21
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7543.zip
問題をワードではなくテキストにしました。
よろしくお願いします。
628デフォルトの名無しさん:2008/07/30(水) 13:26:01
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7539.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 7月30日まで
[5] その他の制限: よろしくお願いします。
629デフォルトの名無しさん:2008/07/30(水) 13:38:41
>>625
実際に入ってるデータの個数とか分からないので、全部詰めた。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7545.txt
630デフォルトの名無しさん:2008/07/30(水) 16:17:14
>>589はまだ1日以上時間の余裕がある。ちゃんと説明するのだ。
その程度の問題、麻呂でも余裕でおじゃる。
631デフォルトの名無しさん:2008/07/30(水) 16:29:15
>>558
題意を満たせてるかわからないけど、作ってみたのでうp
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7546.c
ちゃんと確認してないので、参考程度にどうぞ
632デフォルトの名無しさん:2008/07/30(水) 17:12:52
>>629
int compare_int(const Person *a, const Person *b)をプロトタイプ宣言するとコンパイルできません・・・


型指定子がありません - int と仮定しました。
構文エラー : ',' が '*' の前にありません

の2つのエラーです
633632:2008/07/30(水) 17:14:21
自己解決しました。すんません
634デフォルトの名無しさん:2008/07/30(水) 17:20:06
>>619
ビルドする時は普通なんですが、デバッグして、ファイルを指定すると
Debug Assertion Failed!

file:fgetc.c
line:41
ってでて、駄目になるんです
なんでもブレークポイントがあるみたいですが

>>622
行数を数えるファイルを指定しても、行数を数えずに終わってしまうんです……

>>623
それはないです
再提出だされた課題の他に、ここで解いてもらった別の問題の奴は受理されたので…
635デフォルトの名無しさん:2008/07/30(水) 17:26:42
Debug Assertion Failed! は、ありえないパラメタを渡したときに教えてくれる仕組みだよ。
該当部分みればわかると思うが該当コードはどれ?
636デフォルトの名無しさん:2008/07/30(水) 17:35:28
>>558
>>631
この問題は仕様と満たそうとすると、10x5行をmemoryに取り込んだ状態で
つぎの2行が取り込む物ではないが、さらに次の行では取り込む物の場合
過去の2行復元が出来ないよ。

どこからを「長期記憶」とするかなんだろうけどな
637デフォルトの名無しさん:2008/07/30(水) 18:14:53
>>636
長期記憶とはグローバル変数や、ヒープのことと思っていいんじゃないかと思ったり
してる。>>558ではstatic使用禁止だし。
スタック割り付けのauto変数の寿命が長期記憶に較べて一概に短いとも言いきれないから
こういった変数は非長期記憶な変数と呼ぶのが妥当なのかも。
短期記憶という短絡だけはしないほうがいいかも。
638デフォルトの名無しさん:2008/07/30(水) 18:23:25
[1] 授業単元:C言語によるデータ構造とアルゴリズム
[2] 問題文
画像から肌色部分のみを抽出するプログラムを以下の条件で作成すること
1、肌色以外の部分は白く塗りつぶすこと
2、ユーザから画像データの入力を求める
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:  明日のAM11:59まで
[5] その他の制限

問題が抽象的ですみません
ですがこれが教授が出した問題文そのままです
よろしくお願いします
639デフォルトの名無しさん:2008/07/30(水) 18:30:09
640デフォルトの名無しさん:2008/07/30(水) 18:31:55
>>638
これ何年生の講義だよ?
肌色の定義も無しに何を判別するつもりなんだ?
扱う画像データの形式も不明。
641>>638:2008/07/30(水) 18:36:19
>>640
2年生です。

肌色はRGBで判定式を勝手に作れと申してました
扱う画像データは恐らくppmです・・・

後づけすみません
642デフォルトの名無しさん:2008/07/30(水) 18:46:43
>>641
>恐らくppmです
恐らくって....ちゃんと画像形式を聞いて来い
恐らく程度で、人に依頼するようじゃ話にならんぞ
出直して来い
643デフォルトの名無しさん:2008/07/30(水) 18:48:31
肌色と思われる画像を集めてきて、そこから肌色である範囲を定めるんだ。
ここが隠し課題となっている。
644デフォルトの名無しさん:2008/07/30(水) 18:48:47
>>641
勝手でいいなら、「全部の色は肌色です」でもいいのか?
645デフォルトの名無しさん:2008/07/30(水) 18:49:23
ppmで間違いがない。 というのも入門で扱うのに最も適しているフォーマットであるため。
646デフォルトの名無しさん:2008/07/30(水) 18:51:15
肌色の画像をたくさん集めたら俺にも確認させてねw
647デフォルトの名無しさん:2008/07/30(水) 18:53:33
>>645
http://linux.paken.org/index.php?PPM%2FPGM%2FPBM%B7%C1%BC%B0%A4%CE%B2%E8%C1%FC%A4%CB%A4%C4%A4%A4%A4%C6

なんかバイナリ形式とテキスト形式とあるぞ。
勝手に書いて吐き出すなら楽かもしれないが、読み込みを作らなければならないなら面倒なだけだな。

「ユーザから画像データの入力を求める」は、どうするつもりだろ。
648デフォルトの名無しさん:2008/07/30(水) 18:54:13
>>644
「白いところが肌色です」というのも一案
649デフォルトの名無しさん:2008/07/30(水) 18:54:39
まず肌色である標本となるRGBを用意。
白人や黒人や黄人 (こんな言葉合った? ) などの標本を集める。
RGBを3次元ベクトルとしてみなして、調べたいRGBとのなす角度を計算する事により
類似度が求まり何人の肌色かを決定する。
 ここで複数の人種が混じっている場合は肌色とはみなさない。
650デフォルトの名無しさん:2008/07/30(水) 18:58:39
別に人物の肌ではなくて良かったので、肌色に適合したら残せば良いだけだった。
651>>638:2008/07/30(水) 18:59:23
>>642
画像形式に関しては授業でppmしか扱っていないのでppmで間違いないです

>>644
肌色の定義に関しては人の肌の色としか言ってませんでした

本当に問題の定義が曖昧で申し訳ないです
いつかこの教授をぶん殴ってやりたいです
652デフォルトの名無しさん:2008/07/30(水) 19:02:34
>>643
人間の肌の色って白、黒、黄、褐色等色々いるから大変だよな
判定どうするんだろな
ひょっとして、人間以外の動物も考慮してねも隠し課題じゃね
653デフォルトの名無しさん:2008/07/30(水) 19:04:04
(a,b,c)を肌色とする。(x,y,z)が肌色であるかを調べるには、
(ax + by + cz) / √((a^2 + b^2 + c^2)(x^2 + x^2 + x^2))
の値が、例えば0.9以上などする。

(a,b,c)=(x,y,z)ならば1となる。色が近いほど1に近づく。
654デフォルトの名無しさん:2008/07/30(水) 19:07:13
問題を簡単にするため、肌色で最もあり得ると思われる1色を固定して良いと思われ。
655デフォルトの名無しさん:2008/07/30(水) 19:10:01
>>651
> いつかこの教授をぶん殴ってやりたいです
肌色の定義が必要なのに聞きに行かなかったオマエが悪い。
656デフォルトの名無しさん:2008/07/30(水) 19:10:15
>>653
x重要すぎじゃね?
657デフォルトの名無しさん:2008/07/30(水) 19:11:10
>>653
もう忘れたが
CIE 1976に変換して判定するんじゃね? ここ参照
http://konicaminolta.jp/instruments/colorknowledge/index.html
658デフォルトの名無しさん:2008/07/30(水) 19:12:54
間違えた。

(ax + by + cz) / √((a^2 + b^2 + c^2)(x^2 + y^2 + z^2))
ね。

(a,b,c)と(x,y,z)を単位ベクトルに変換したものどおしの内積ね。
659>>638:2008/07/30(水) 19:20:51
>>654
あの教授の言い方からして肌色で最もあり得る黄色人種の肌の色に固定しておkです

>>655
聞きに行った結果が日本人の肌の(ry
660デフォルトの名無しさん:2008/07/30(水) 19:22:42
こんなのは難しすぎる・・人間の認識力は考慮せず、3次元ベクトルとして近いかどうかだけの判定では駄目?


> 人の目の色識別域
> 人の目には、ある色を基準にしたとき、色が異なるにも関わらずその色の違いを
> 識別できない範囲が存在します。これを、色識別域と呼んでいます。
http://konicaminolta.jp/instruments/colorknowledge/part5/02.html
661デフォルトの名無しさん:2008/07/30(水) 19:26:22
日本人の肌色として

16進表記 #F1BB93
RGB (241, 187, 147)
CMYK (2, 23, 35, 0)
HSV (26°, 39%, 95%)
マンセル値 5YR 8/5
662>>638:2008/07/30(水) 19:27:11
>>660
人間の認識力なんて考慮しなくても大丈夫です

あくまで3次元ベクトルとして黄色人種の肌色に近いという判定式でお願いします
663>>638:2008/07/30(水) 19:29:28
>>661
wikiきたw

自分もそのRGBの値を使ってみたんですけど判定式というのがどうしても分からなくて・・
664661:2008/07/30(水) 19:31:00
この色限定だとほとんどの画像が真っ白になるはず
幅を持たせないとね
665デフォルトの名無しさん:2008/07/30(水) 19:35:59
この問題を突き詰めていくと、絵とか写真扱うプロが画面のガンマとかの
調整する機械買ってきてキャリブレーションして・・・仕舞いにはプロ用のディスプレイ
買った上でVGAも最適なものを買ってきてとかしないと出題者の理想の肌色は
再現できないかもな。

と、突っ込みどころ満載であほらしい出題だよなあ〜

BMPの読み込みとかさ・・単純なようで結構あれこれ考えないといけないんだよね。

このスレ見てると出題者そのものが勉強しなおせと思うのがよくあるよね。
666デフォルトの名無しさん:2008/07/30(水) 19:36:51
ppmフォーマットについて

P3      1行目 フォーマットを表す 
640 480  2行目  画面サイズ
255      3行目 RGBの色震度
このあと、スペース区切りでRGBの値を繰り返し書く。
あとどうやら、改行も区切り文字らしい。

例えば初めの所は、P3 640 480でもいいし

P3 
640 
480
でもいいみたい。
667デフォルトの名無しさん:2008/07/30(水) 19:42:45
改行かスペースごとに整数値を読み込むにはどうしたら簡単にできる?
char *ch;に全文が入っているとする。
668デフォルトの名無しさん:2008/07/30(水) 19:43:48
>>662
肌色判定基準をお前が自己責任定義したら?ただ、教授がそれを受け入れるか知らないがな
たとえば
基準となる肌色の8bitRGB値に対してのRGBの3次元ベクトル内積がxx以上を肌色と判定
ただ、基準となる肌色のRGB値と内積のxxは#define等で指定可能にしてくださいとか
669デフォルトの名無しさん:2008/07/30(水) 19:44:19
1] 授業単元:プログラム
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7524.txt
[3] 環境
 [3.1] OS: WINDOWS XP
 [3.2] コンパイラ名とバージョン:VC6.0
 [3.3] 言語:C++
[4] 期限: 2008/7/30
[5] その他の制限:テキストに記載


よろしくおねがいします
670デフォルトの名無しさん:2008/07/30(水) 19:47:53
>>667は自己解決 strtokってあった
671デフォルトの名無しさん:2008/07/30(水) 19:50:26
>>638
一つのファイルだけいきなり作ろうとするとうまくいかないと思う
672>>638:2008/07/30(水) 19:52:21
>>668
基準を自己責任定義ですか

とりあえず自分が頑張って肌色を抽出しようとしていた画像のソース
http://cis.k.hosei.ac.jp/~hana/tmp/2007_0525.JPG

ちなみに画像は教授からサンプルとして与えられたもの

とりあえずこの画像の肌色部分を抽出するプログラムとか書けますか?
673デフォルトの名無しさん:2008/07/30(水) 19:54:42
>>672
画像データって言ったってbmp状にメモリに展開しちゃえば
32bitカラーの場合int枠で1ドットの色を丸々見れるからなあ。

あとは肌色の範囲をテーブルにでも持ってて比較していけばいいだけでしょ。
674デフォルトの名無しさん:2008/07/30(水) 19:58:58
>>664
そもそも、どうやって入力を与えるかも決めてない。
決めた「肌色」で塗ったところとそれ意外なら・・・
675デフォルトの名無しさん:2008/07/30(水) 19:58:58
>>670
C++ならこんなん。
#include <algorithm>
#include <vector>
#include <iostream>
#include <strstream>
#include <string.h>
int main()
{
char *ch = "1 2 3 4 5\n6 7\n 8 9 10";
strstream str_stm(ch, strlen(ch), ios::in);
vector<int> num_array;
copy(istream_iterator<int>(str_stm), istream_iterator<int>(), back_inserter(num_array));
copy(num_array.begin(), num_array.end(), ostream_iterator<int>(cout, ","));
return 0;
}
676デフォルトの名無しさん:2008/07/30(水) 20:07:30
>>672
力任せにやるなら、
そいつらの肌色部分のRGBデータを1ドット1ドットペイントソフト等ですべて調べ、
それらを肌色データとして保持する。
それらデータと画像のRGBが一致しない部分を白にする
677330:2008/07/30(水) 20:38:08
>>619 [講義ノートの資料]
www.mns.kyutech.ac.jp/~kamada/keisansuri.html
678デフォルトの名無しさん:2008/07/30(水) 20:38:41
1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 与えられた無向グラフ(隣接行列)に対して全ての切断点を求めるプログラムを作りなさい。ただしプログラムの冒頭部で頂点数nと隣接行列を直接指定すること。
[3] 環境
 [3.1] OS: (Windows/Linux/等々) windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) どちらでも可
[4] 期限: 明後日まで
[5] その他の制限: 特になし

よろしくお願いします
679デフォルトの名無しさん:2008/07/30(水) 21:29:59
3次元ベクトルの内積の画像

http://www.youlost.mine.nu/html999/img/5242.jpg
680デフォルトの名無しさん:2008/07/30(水) 21:35:37
[1] 授業単元:コンピュータープログラミング
[2] 問題文 (7548の方です)
f(x,y) = 2xのy乗(yはxにかかる)+x-3y+5と同じ処理を行う関数Funcを作り、
main関数でx,yに相当する値を入力しFuncで計算させた後、
再びmain関数で結果を表示させるプログラムを書きなさい。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C++
[4] 期限: 7月31日のAM8:00まで
[5] その他の制限: http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7548.txtに
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7549.txt
みたいなコメントを付けていただきたいのです。
7549の問題文も必要でしたら貼り付けます。
後できれば7548の方は実行するとエラーと警告がいくつか出るので修正していただけるとありがたいです。
よろしくお願いします。
681679:2008/07/30(水) 21:37:52
ソースはあげられません 
なぜならばフォーマットの解析が下手くそで
コメントが入っていたり、改行位置が違っていたりすると動かないからです。
これってちゃんと読み込ませる所が面倒なだけでは?
682デフォルトの名無しさん:2008/07/30(水) 21:44:41
ちょいちょい出てくるおかしい教授の生徒かな
毎度の事ながら逆恨みされる教授に同情するわ
683デフォルトの名無しさん:2008/07/30(水) 21:50:28
http://www.youlost.mine.nu/html999/img/5243.jpg

こっちのほうがいい? 読み込みできたらパラメータは教えるけど
684デフォルトの名無しさん:2008/07/30(水) 21:57:27
基本が  181  125  99 で類似度が0.9965以上の場合


http://www.youlost.mine.nu/html999/img/5244.jpg
685デフォルトの名無しさん:2008/07/30(水) 22:01:14
>>680
誤:void main(void){
正:int main(void){

残念ながらコメントのつけようのないほど簡単なプログラム。
f(x,y)に何か計算式の名前があるならそれをつけよう。
686デフォルトの名無しさん:2008/07/30(水) 22:05:10
>>685
ありがとうございます!
簡単なプログラムなのは分かるんですがほとんど知識のないような人にでも説明できるようなコメントを入れないとダメみたいで…
目的、引数・戻り値や、〜関数の定義も自分じゃよく分からなくてつけられないんですorz
687デフォルトの名無しさん:2008/07/30(水) 22:11:12
関数名をFuncにしないと要求仕様を満たせないよ。

んで、Funcの目的は
・f(x,y) = 2xのy乗(yはxにかかる)+x-3y+5と同じ処理を行う
これでしょ?
引数と戻り値は見たまんまです。
688デフォルトの名無しさん:2008/07/30(水) 22:23:31
関数名をFuncにするってのはどうすればいいんでしょうか?
return 2*pow(x,y)+x-3*y+5; /*この関数名をFuncとする*/とかってコメントつければいいんでしょうか…?
見たまんま…先輩方なら一目で分かるような簡単なものでも自分はそれがまだよく分からないレベルなんですよね∧||∧
7549.txtみたいにコメントつけないと教師は理解したとみなしてくれないからなぁ…
689デフォルトの名無しさん:2008/07/30(水) 22:24:37
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7550.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 7月31日23:59まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)


よろしくお願いします
690デフォルトの名無しさん:2008/07/30(水) 22:25:58
aaaa bbbb(cccc,dddd, ・・・)
{

}

aaaa ・・・・ 関数の戻り値
bbbb ・・・・ 関数名称
cccc ・・・・ 関数の第一引数
dddd ・・・・ 関数の第二引数
691デフォルトの名無しさん:2008/07/30(水) 22:28:29
>>688
関数名をfからFuncに変える必要がある。

何がまずいかというとそのプログラムを理解してないのがまずいのね。
自分が理解できていないものを、知識のない人に説明することなんて到底無理な話なんです。

最初から自分がそのプログラムを理解できていないことを明示するべき。

んで、そのプログラムを書いた人に説明を請うことが筋だと思うんだけど
それはもう済ませたの?
692デフォルトの名無しさん:2008/07/30(水) 22:41:21
>>688
理解した人は/*xがyより大きい場合には*/のようなコメントを付けないよ。
if (x > y)はそのコメントの通りの意味だからね。
時間が無駄だし、なにより他の人の理解を妨げる。

もしつけるのなら
/* xとyを比べて小さい方を返す関数 */
int min (int x, int y)
693デフォルトの名無しさん:2008/07/30(水) 22:42:04
>>691
double Func(double x,double y)
z = Func(x,y);
printf("Func(x,y) = %f\n",z);
fの部分をFuncに変えてみたのですがこれでいいんでしょうか?
確かに理解できてないです…
でも教師には理解しているようにコメント付けて出さないと合格くれないんで(つд`)
このプログラムも質問して教えてもらったので連絡取ったりとかはできないんです。
だからコメントつけようにも作った人とも話せない、自分は理解してないから付けれないという始末で…orz
自分で勉強しなおして理解するってのが一番いいんですが期日が明日の朝までなので
ここの先輩方に最後の望みを賭けて教えを乞おうと思ったのです。
これが終わったらもう一度じっくり勉強しようと思います。
694デフォルトの名無しさん:2008/07/30(水) 22:43:41
>>692
なるほど…!確かにその通りですね。お恥ずかしい…
訂正ありがとうございます!!
695デフォルトの名無しさん:2008/07/30(水) 22:47:20
「誰かコメントつけてくれ!たのむ!!」と思いつつこのスレを見続けるのと
「このプログラムは何やってるんですか教えてください><」と質問して
理解してからコメントを書くのとどちらがいいかなあ。
入門書嫁って一蹴されるかもしれないけどね。

初学者でも明日の朝までには理解できる内容だと思う。

てか、コメントに書くべきキーワードはコメント例およびこれまでのレスで
十分明らかにされてたりするです。
696デフォルトの名無しさん:2008/07/30(水) 22:57:41
>>695
確かに先輩方に頼りすぎていましたね…すみません。
徹夜で教科書読んで頑張ってコメント埋めてみることにします。
色々教えてくださってありがとうございました!!
697デフォルトの名無しさん:2008/07/30(水) 23:00:34
>>677
数式が読めない。
この敗北感・・・
698デフォルトの名無しさん:2008/07/30(水) 23:06:47
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7539.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 8月1日まで
[5] その他の制限:お願いします。
699デフォルトの名無しさん:2008/07/30(水) 23:09:55
>>696
途中で分からないことがあったら聞きなよ。いろいろ回答出てくると思うし。
700デフォルトの名無しさん:2008/07/30(水) 23:19:40
>>699
はい!ありがとうございます!!
頑張りますね。
701デフォルトの名無しさん:2008/07/30(水) 23:45:48
702デフォルトの名無しさん:2008/07/31(木) 01:12:37
>>589
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7552.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7553.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7554.txt
ファイル名は128文字以内ってことになっていると思うでごわす。
一応実行して確認したが、完璧かどうかは保証できんでごわす。
703デフォルトの名無しさん:2008/07/31(木) 01:18:17
704デフォルトの名無しさん:2008/07/31(木) 01:21:24
705デフォルトの名無しさん:2008/07/31(木) 01:35:22
706680:2008/07/31(木) 02:14:33
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7558.txt
関数を一から勉強し直して先ほどのプログラムをいただいたアドバイスを元に作り直してコメントも付けてみました。
これであっていますでしょうか?チェックしていただけるとありがたいです。
707デフォルトの名無しさん:2008/07/31(木) 02:32:46
>>705
助かりました!ありがとうございます
708デフォルトの名無しさん:2008/07/31(木) 02:45:14
>>707
あー、問2の
case 2:
if (*d == 29 && !isleap(*y)) {
って所の *d == 29 && は要らなかった。削ってちょ。
709708:2008/07/31(木) 02:59:09
ごめん、やっぱりこう書き換えてほしい
if (*d != 29 || !isleap(*y)) {
710デフォルトの名無しさん:2008/07/31(木) 03:17:19
>>706
がんばったね。おつかれさまー。書きたかったことが書けてると思う。
それでも十分先生はOKくれると思うけれど、ちょっとだけ手直ししたものを
あげておきました。
理解した今ならコメントも理解できるだろうと思うのでよかったら見てみて。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7559.txt
711デフォルトの名無しさん:2008/07/31(木) 03:24:07
>>706

いくつかに指摘しておきます。
※ここまで要求されていないはずなので参考まで

・目的のコメントが横に長すぎる(80カラムを基準とする)
・doubleの変数宣言で初期化されていない(0で初期化)
・scanfの入力値に対してチェック処理を追加
・printf("実数xを入力 > "); scanf("%lf",&x); 一行に処理を二つ書かない
・return 2*pow(x,y)+x-3*y+5;
 3*y は (3*y)と括弧で括る
 ※2*pow(x,y)も同様
 pow(x.y)の関数で演算に失敗したらEDOM(エラー値です。math.hにマクロが切ってあるはず)
 が返ってくるため、チェック処理を入れる。
・関数のプロトタイプ宣言を入れる
 ※動作するが本来なら入れないといけない
・各関数についても看板を入れる(以下は例)
 /****************************************
* FUNCTION NAME: 関数名
* FUNCTION: 機能概要
* CREATE: 作成日 作成者
* UPDATE: 空白
* NOTE: 空白(メモ)
* PRAM: 引数の説明
* RETURN: 返り値の説明
****************************************/
 
712デフォルトの名無しさん:2008/07/31(木) 03:30:45
それするなら
#include <errno.h>
713途中送信orz:2008/07/31(木) 03:33:40
しないとだめだし、戻り値にEDOMが入るわけではないので
使い方調べてからやってみてね。
714680:2008/07/31(木) 03:33:48
>>710,711
おぉ〜!ありがとうございます(つд`)
改良して提出してきます!色々とお世話になりました!!
715>>638:2008/07/31(木) 06:36:59
>>683
本当にありがとうございます!
ぜひともパラメータを教えていただきたいです

遅くなってすみません
716デフォルトの名無しさん:2008/07/31(木) 07:10:05
>>715
ヘッダとデータ読み込む所は出来たのか?
717デフォルトの名無しさん:2008/07/31(木) 07:15:25
基準データ (R ,G ,B) が与えられたとして、
s[0]=R/z s[1]=G/z s[2]=B/zとおく。 ただしz=sqrt(R^2+G^2+B^2)

t[0]〜t[2]を比較するデータとしたとき次の様に比較して出力すればいい。


z=s[0]*t[0] + s[1]*t[1] + s[2]*t[2];
z=z*z;
w=t[0]*t[0] + t[1]*t[1] + t[2]*t[2];
if(z>=0.99*w) fprintf(fq,"%d %d %d\n", t[0],t[1],t[2]);
else fprintf(fq,"255 255 255\n");
718デフォルトの名無しさん:2008/07/31(木) 07:28:34
719デフォルトの名無しさん:2008/07/31(木) 08:44:13
ここみて他人の宿題を参考にいろいろ解いていこうと思ったんだが
如何せん難しい…
誰か適当な問題をCからC++に訳してくれないものか…
720デフォルトの名無しさん:2008/07/31(木) 09:39:19
719
わけわかめ
721デフォルトの名無しさん:2008/07/31(木) 11:01:15
多分未解決(本スレのみ)
>>116>>341 UNIX通信プログラム
>>119 文字列中のパターンの繰返しを調べる
>>170>>350 2chの掲示板のdatファイルを解析
>>175 合流点(join)を持つ構造
>>352 オーバーライド C++
>>364 オセロゲームの盤
>>558>>562>>631>>636-637 前後5行のテキストを表示
>>572 BMIのプログラム3とおり
>>584>>606 連結リスト
>>610 C言語基礎
>>638>>715-718 肌色抽出
>>669 ふたつのフレンド演算子関数
>>678 無向グラフ(隣接行列)
680 は終わったみたいだけど、Cで解いたコメント付きソース要る?
722デフォルトの名無しさん:2008/07/31(木) 11:12:37
>>704
非常に助かりました。
ありがとうございます!!
723デフォルトの名無しさん:2008/07/31(木) 11:29:19
あと、もうひとつ。
[1] 授業単元:数理物理
[2] 問題文(含コード&リンク):http://www.mns.kyutech.ac.jp/~kamada/keisansuri.html
               のレポート3
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:よくわかりません。
 [3.3] 言語:C
[4] 期限:なるべく早くお願いします。
724デフォルトの名無しさん:2008/07/31(木) 11:35:08
>>721
>>610は幾つか回答が寄せられていますよ。
725デフォルトの名無しさん:2008/07/31(木) 12:50:43
>>669
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7560.txt

変更のない変数引数にはなるべくconstを付けましょうって問題
726デフォルトの名無しさん:2008/07/31(木) 13:08:23
>>684
こうかねえ?なんか違う感じになる。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7561.txt
727デフォルトの名無しさん:2008/07/31(木) 16:47:18
728>>638:2008/07/31(木) 18:34:27
>>726
おお!ありがとうございます。

さっき試してみたんですけどgccだとコンパイルが通らないです・・・
たびたびすみません
729デフォルトの名無しさん:2008/07/31(木) 18:36:59
>>728
きげん切れてるけど必要なの?
730デフォルトの名無しさん:2008/07/31(木) 18:42:44
通らないってのはどう通らないんだ?
ppm.hが無いとかそんな落ち?
731>>638:2008/07/31(木) 18:45:45
>>729
ソースの提出は明日までなんです
今日はプログラムの説明だけでした。

よかったらソースを頂きたいです
732>>638:2008/07/31(木) 18:47:58
>>730
ppm.hは入ってます
infileにもちゃんと画像のファイル名を入れたんですけどgccで通そうとすると

ステータス1で終了しました

と出てしまいます
733デフォルトの名無しさん:2008/07/31(木) 19:04:50
>>170
ってやっぱり無理でしたか....
734デフォルトの名無しさん:2008/07/31(木) 19:06:26
>>732
なんか、エラーの説明とか出てないの?
735デフォルトの名無しさん:2008/07/31(木) 19:07:34
>>733
2chがターゲットの宿題出すDQN学校ってどこよ
736デフォルトの名無しさん:2008/07/31(木) 19:09:06
ほかのスレにも応用できるけど
単にこのスレをまとめるツールが欲しいだけでしょ
737デフォルトの名無しさん:2008/07/31(木) 19:14:02
>>736
それで思い出した。
>>448から>>998にロングパスが飛んでるんだっけ。
738>>638:2008/07/31(木) 19:16:18
>>732
collect2: Idはステータス1で終了しました
と出ています・・
739デフォルトの名無しさん:2008/07/31(木) 19:16:24
>>732
手元では
gcc hoge.c -lnetpbm
とかしてるけど、そういうのが抜けてるんじゃないの?
740デフォルトの名無しさん:2008/07/31(木) 19:19:39
>>998
>>448 >>740 お前こそバカだろ
と書いたら本当にバカ
741デフォルトの名無しさん:2008/07/31(木) 19:20:46
>>738
ldだろ
リンクに失敗してるならライブラリが足りないとか
742デフォルトの名無しさん:2008/07/31(木) 19:20:55
>>741 オマエモナー
743デフォルトの名無しさん:2008/07/31(木) 19:26:55
>>742
こんなショートパスをつなげない様では、五輪は無理だな。
744デフォルトの名無しさん:2008/07/31(木) 19:29:11
>>744 オレモナー
745デフォルトの名無しさん:2008/07/31(木) 19:32:34
授業単元:C言語によるデータ構造とアルゴリズム
でppm.hはいかんと思う。
ソートの宿題でライブラリ使うようなもの
746デフォルトの名無しさん:2008/07/31(木) 19:34:51
抽象的な問題を出した出題者を責めるべきだろ
747デフォルトの名無しさん:2008/07/31(木) 19:43:06
>>745
授業でどう習ってるかまでは知らんがな。
使えないならダメ出しあるでしょ。
748デフォルトの名無しさん:2008/07/31(木) 20:55:10
[1]C言語1
[2]http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7564.txt
[3]Windows C言語
[4]2008/08/03

よろしくお願いします
749デフォルトの名無しさん:2008/07/31(木) 21:23:42
select name, jinko from data where jinko = (select max(jinko) from data;
select name, jinko from data where jinko = (select min(jinko) from data;
750デフォルトの名無しさん:2008/07/31(木) 23:31:56
751デフォルトの名無しさん:2008/08/01(金) 00:02:32
>>750
最大最小を求めるところの
if(){}
if(){}

if(){}
else if(){}
の方がよくね?
752デフォルトの名無しさん:2008/08/01(金) 00:11:28
>>750

二つ指摘しときます。

{"Fukuoka",340.60,1429828}, ←この末尾のポチは何?

min=key[i].population/key[i].area; ←キャストは?
※他のも同様

753デフォルトの名無しさん:2008/08/01(金) 00:15:50
>>752
配列の初期化で、よけいなカンマは許容範囲だよ
むしろ積極的に入れるべきもの、便利だからね
754デフォルトの名無しさん:2008/08/01(金) 00:15:53
>>751
意味が分からん。
755デフォルトの名無しさん:2008/08/01(金) 00:18:01
あとキャスト要らないだろ、初心者が質問してるんならそれは指摘とは言わん
756デフォルトの名無しさん:2008/08/01(金) 00:20:45
>>754
例えば
if(max<key[i].population){
max=key[i].population;
maxIndex=i;
}
if(key[i].population<min){
min=key[i].population;
minIndex=i;
}
より
if(max<key[i].population){
max=key[i].population;
maxIndex=i;
}
else if(key[i].population<min){
min=key[i].population;
minIndex=i;
}
のほうがよくね?
757デフォルトの名無しさん:2008/08/01(金) 00:21:24
ん〜、まぁ、意味としては、maxより大きいに該当した場合
minより小さいという条件判定は不要とのことで、if else ifにした場合
elseより上の条件判定に引っかかれば、それ以下のelseは無視する
という違いはあるけどね。まぁ、その辺はご自由に。
758デフォルトの名無しさん:2008/08/01(金) 00:30:54
#include <stdio.h>
int main(void) {
int i;
for(i=3; i>0; i--) {
if(i>=3) printf("%d\n",i);
if(i>=2) printf("%d\n",i);
if(i>=1) printf("%d\n",i);
}puts("");
for(i=3; i>0; i--) {
if(i>=3) printf("%d\n",i);
else if(i>=2) printf("%d\n",i);
else if(i>=1) printf("%d\n",i);
}
return 0;}
これでif続きとelseの使い分けが分かるでしょう。
759デフォルトの名無しさん:2008/08/01(金) 00:41:19
>>756,757

丁寧なご説明サンクス。
ただ、個人的な意見としてif elseにすると可読性が悪い気がする
760597,627:2008/08/01(金) 01:22:03
>>639
遅くなってすいません。
コンパイルなども無事に済み提出することができました。
どうもありがとうございましたm(__)m
761デフォルトの名無しさん:2008/08/01(金) 01:23:05
データが1件の時は可読性なんかより、それは必要。
762デフォルトの名無しさん:2008/08/01(金) 01:48:16
前者は両方のifが真になりうることがあり得るように見え、
後者はいずれかのブロックにしか入らないことが明確である。

if (...)
else if (...)
と、条件文のカラムがずれることによって可読性が下がるということはないよ。
それは単にケッペキなだけで、直感性が犠牲になってる。
763デフォルトの名無しさん:2008/08/01(金) 03:09:19
>>762

いや、カラムの問題で可読性がどうこうっていう低次元な話ではないよ。

max<key[i].population

という条件に対して、else ifで繋ぐ条件は

maxに関する条件を指定するべき。

else if で繋がれている条件にminが出てくることが可読性を悪く
しているって話だよ。

まぁ、こんな50行程度のプログラムならすぐ分かるけど、
何千何万行というコード量を持ったプロセスをいくつも管理
するようになると上記のような変な書き方されると保守しずらいし
バグの原因になるんよね。

リアルタイム性を求められるようなシステムなら無駄な処理を
省くためにこういうやり方も必要なんだろうけど・・・。


764デフォルトの名無しさん:2008/08/01(金) 03:19:45
> バグの原因になるんよね。
ならないよ。
765デフォルトの名無しさん:2008/08/01(金) 03:26:47
なるよ
766デフォルトの名無しさん:2008/08/01(金) 03:42:13
必死だなw そんなんでバグを出す奴が悪いだけじゃん。
条件判定をまともに出来ないのが原因であって
それはif elseを使うのが原因ではない。そんなことを言うんであれば
適切にキャストしないこともバグの原因になるよ。
767デフォルトの名無しさん:2008/08/01(金) 03:52:22
そもそも、ある授業を受けた人なら普通に知っている、人間が起こしてしまうバグと
機械そのものが起こすバグの違いを。前者は、人間がきちっとコードを
入力しなかったことに原因があり、後者は機械の仕組みそのものが問題。
例えば、適切に数値計算が出来ないCPUのエラッタなども例に挙げられる。
一方、人間が思う通りに結果を出すようにコードを記述したはずが間違っていて
コンピュータが思った通りの結果を出さない場合、これは人間側に原因がある。
要するに条件判定をきちっとしなかったことに原因があることになる。
まぁ、言いたいことは分かるが、今回に限ってそういう話を必死に持ち出しても
個人的、主観的な可読性ばかりを強調して、その理由が客観性に欠けるということ。
だから、そういう思い込みで言われても、他人には理解されないんだよ。

で、今回は何を求めたいか?極端な話、基準とした最初のレコードと
まったく同じものがほかにあったとしても、大なりイコール、小なりイコールでない場合
より先頭にあるものが選ばれる。そういった意味でも、無駄と指摘されるだろうね。
まぁ、分からないと思うよ、指摘されたことに対して、主観的な意見で可読性とか言ってるんじゃ。
客観的な基準に基づいて、効率が良いか悪いかで話をされたら、論破されるよ。
768デフォルトの名無しさん:2008/08/01(金) 05:19:28
>>767
自分に酔ってる気持ち悪い文章・・・
769デフォルトの名無しさん:2008/08/01(金) 09:01:54
いつもの長文低脳だからスルーがいいよw
770デフォルトの名無しさん:2008/08/01(金) 09:07:18
ifの条件判定で密度計算して、条件満たしたらまた計算しなおしとか無駄すぎる。
しかもelse ifじゃねーから必ず2回計算するとか無駄にもほどがあるな。
771デフォルトの名無しさん:2008/08/01(金) 09:09:43
>>769
いや、夏だからだろ。
sophomoreってのはたんたる皮肉じゃないって感じる季節なんだよ。
772デフォルトの名無しさん:2008/08/01(金) 09:11:52
>>770
70年代じゃあるまいし。
773デフォルトの名無しさん:2008/08/01(金) 09:18:14
この程度ならIO律速だから気にしない
774デフォルトの名無しさん:2008/08/01(金) 09:57:52
>>723 問2は、解析の答えが分かれば解ける。1000^3回の数値計算では 0.116859
>モンテカルロ法で計算せよ
775774:2008/08/01(金) 10:11:22
>>770
int tmp; // 1回だけ計算すれば良い
tmp = key[i].population;
if(max<tmp){
 max=tmp;
 maxIndex=i;
}
else // この1行あまり意味ないかも
if(tmp<min){
 min=tmp;
 minIndex=i;
}
776762:2008/08/01(金) 12:21:37
ごめん。ずれた話をしてた。
>>763のいわんとすることは分かるんだけど、
今回の場合、メインとなるデータがkey[i].populationであって、
それぞれの条件文に出現しているから問題ないのでは?

if (a < b)
else if (c < d)
とつなげると分かりにくいってことだよね。
777デフォルトの名無しさん:2008/08/01(金) 13:23:36
>>352
整合性というのが何のことかわからないが、こんなことを確認したいのでは?
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7566.txt
778デフォルトの名無しさん:2008/08/01(金) 13:58:06
>>352
>>777
継承しても親のメソッドの内容を壊さないってことじゃないかな
class Parent{
public:virtual void method(){cout << "Parent" << endl;}
};
class Child:public Parent{
public:void method(){cout << "Child is";return Parent::method();}
};
int main(){
Parent parent;
Child child;

parent.methrod();
child.method();
return 0;
}
779デフォルトの名無しさん:2008/08/01(金) 14:57:42
>>776

if(max<tmp){
}
else if(tmp<min){
}

の場合、maxはminより大きい値が格納されているという、
暗黙知が必要になってくる。(maxとminだから当然なんだけどね)
暗黙知が必要なプログラム書くと、製作者ならそれが分かってるから
問題ないけど、他の人がそのプログラムを改修、変更しようとした場合
に理解しずらいし考え方が煩雑になっちゃうんだよね。

まぁ、そういう部分はコメントで明記してやればいいんだけどね。

まぁ、個人的な意見だからどう捉えるかはお好きなように。
780デフォルトの名無しさん:2008/08/01(金) 15:08:16
[1] 授業単元: 数値解析
[2] 問題文(含コード&リンク):
dx/dt = -x^2
x(0)=1
をオイラー法および修正オイラー法で時間刻みを0.5として計算せよ
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C

お願いします><
781デフォルトの名無しさん:2008/08/01(金) 16:11:55
可読性の前に、何を求めたいか?何を実行するかで
そのコードがその役割をしっかりしているか?が重要だろ。
人間が読みやすいコード=効率の良いコード とは限らない
782デフォルトの名無しさん:2008/08/01(金) 16:14:10
効率優先して読みにくくなるのはへたくそなだけ
783デフォルトの名無しさん:2008/08/01(金) 17:27:56
>>782
パターン検索時の枝刈りなんて無いほうがコードは読みやすいが
処理速度が圧倒的に違う
784デフォルトの名無しさん:2008/08/01(金) 19:28:52
その枝刈り部分を読みやすくかけないのが駄目って話じゃなくて?
785デフォルトの名無しさん:2008/08/01(金) 19:46:59
枝狩りなんて、単に余分な処理をしないというだけで、やってることは
明瞭じゃん。コードが分かりにくいということは無い。
ただ、何故そうして良いのかとかを読み取るのが難しいし、コードからだけじゃ
読み取れない場合もある。特にそれが間違っている場合の理解は地獄の作業。
786デフォルトの名無しさん:2008/08/01(金) 19:49:22
与えられた信号をフーリエ変換してパワースペクトルを図示するという宿題なんですが、
ソースにエラーが出て全くお手上げ状態です。どなたか教えて頂けないでしょうか?
ソースとエラーは長くなるので、次スレに載せておきます。環境はLinuxです。よろしくお願いします。
ちなみにかなり初心者なんで馬鹿すぎる発言があったらすみません。
787デフォルトの名無しさん:2008/08/01(金) 20:01:07
おっと、こんなところにアップローダーが
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
788デフォルトの名無しさん:2008/08/01(金) 20:06:47
ソース本体

#include<stdio.h>
#include<math.h>
関数の宣言(省略)
int main(void){
FILE *fp=fopen('/kyozai/nishiura/dsp/original.vc','r');
short data[16000];
double datafft[512];
fread(data,sizeof(short),16000,fp);/fpからsizeof(short)の大きさで16000サンプル分をdataに読みこむ。/

int i,k;
double Xr[k],Xi[k],power[k];
for(i=0;i<512;i++)
{
datafft[i]=(double)data[i+1000];/格納したデータの1001番目から512サンプルをdouble型に変換/
Xr[k]=DFT();
Xi[k]=DFT();
power[k]=Xr[k]*Xr[k]+Xi[k]*Xi[k];/パワースペクトルの計算/
}
double horizon[256],dB[256];/dBは表の縦軸/
FILE *fpout;
for(i=0;i<256;i++)
{
horizon[i]=16000.0*((double)i/512);
dB[i]=10*log10(power[i]);
fprintf(fpout,"%lf%lf/n",horizon[i],dB[i]);
}
}
return 0;

789デフォルトの名無しさん:2008/08/01(金) 20:10:31
コメントは
/ 〜〜〜 /
じゃなくて
/* 〜〜〜 */
だよ。
790デフォルトの名無しさん:2008/08/01(金) 20:10:57
ソースの関数の中身
/* (r1 + j x1) と (r2 + j x2) の積が (r + j x) となる。 */
void Cmult( double *r, double *x, double r1, double x1, double r2, double x2 )
{
*r = r1 * r2 - x1 * x2;
*x = r1 * x2 + r2 * x1;
}
/* e^( -j * 2*pai * k * n / N ) の値が ( er + j ei ) */
void Twiddle( double *er, double *ei, int N, int k, int n )
{
double w, pai=3.1415926;
w = 2 * pai * k * n / N; *er = cos(w); *ei = sin(-w);
}
/* D[] が入力、Xr[], Xi[] が結果 */
void DFT(int N, double D[], double Xr[], double Xi[])/離散フーリエ関数/
{
int n;
double er, ei,
for(k = 0; k < N; k++) {
Xr[k] = 0.0;
Xi[k] = 0.0;
for(n = 0; n < N; n++) {
Twiddle(&er, &ei, N, k, n);
D[n]=datafft[i];

Cmult(&er, &ei, D[n], 0.0, er, ei);
Xr[k] = Xr[k] + er / N;
Xi[k] = Xi[k] + ei / N;


791デフォルトの名無しさん:2008/08/01(金) 20:13:02
>>788
mainの最後
}
return 0;

return 0;
}
792デフォルトの名無しさん:2008/08/01(金) 20:14:19
>>789 すいませんorz

エラー内容

% report.c:12:21: 警告: character constant too long for its type
report.c: 関数 `main' 内:
report.c:12: 警告: 引数 1 個の `fopen' を渡しますにより、キャストなしで整数からポインタを作りました
report.c:12: 警告: 引数 2 個の `fopen' を渡しますにより、キャストなしで整数からポインタを作りました
report.c:24: error: too few arguments to function `DFT'
report.c:24: error: void value not ignored as it ought to be
report.c:25: error: too few arguments to function `DFT'
report.c:25: error: void value not ignored as it ought to be
report.c: トップレベル:
report.c:44: error: 文法エラー before "return"
report.c: 関数 `DFT' 内:
report.c:71: error: 文法エラー before "for"
report.c:71: error: `k' undeclared (first use in this function)
report.c:71: error: (Each undeclared identifier is reported only once
report.c:71: error: for each function it appears in.)
report.c:71: error: 文法エラー before ')' token
report.c:77: error: `datafft' undeclared (first use in this function)
report.c:77: error: `i' undeclared (first use in this function)
report.c: トップレベル:
793デフォルトの名無しさん:2008/08/01(金) 20:16:52
>>790
DFT関数
- double er, ei,
+ double er, ei;

最後の } が全角になってるのでそれを半角に
794デフォルトの名無しさん:2008/08/01(金) 20:18:08
- FILE *fp=fopen('/kyozai/nishiura/dsp/original.vc','r');
+ FILE *fp=fopen("/kyozai/nishiura/dsp/original.vc","r");
795デフォルトの名無しさん:2008/08/01(金) 20:18:41
>>791 馬鹿みたいな間違いでしたねorz。ありがとうございます。

>>788>>790>>792が私のレスです。ややこしくなりすみません。
796デフォルトの名無しさん:2008/08/01(金) 20:20:43
DFT呼び出し時にパラメータがない
DFT関数の定義が終了していない

ロダを使っていればややこしくならなかった
797デフォルトの名無しさん:2008/08/01(金) 20:24:11
>>793 ありがとうございます。またこんな間違い…orz

>>794 ありがとうございます。
798デフォルトの名無しさん:2008/08/01(金) 20:24:31
`ほにゃらら' undeclared (first use in this function)
これは「ほにゃらら」という変数が宣言されていないよ、というエラーです。
799デフォルトの名無しさん:2008/08/01(金) 20:30:28
>>796 教えてくださってありがとうございます。
教えてもらって悪いのですが、DFT関数はこうしろと言われているので変えられないんですよ。
800デフォルトの名無しさん:2008/08/01(金) 20:32:45
>>799
・こうしろ、といわれたものを間違えて受け取った
・こんな感じで(続きは自分で)作れ、と言っていた
}が全角な時点でそれが正常なものではないよ
801デフォルトの名無しさん:2008/08/01(金) 20:40:53
>>798 ありがとうございます。

>>800 確かにそうですね。もう一度しっかりした物を作ってきて、
それからまた質問にきます。答えてくださった方ありがとうございました。
802デフォルトの名無しさん:2008/08/01(金) 20:43:59
>>801
ツッコミ入れてるの全部俺なワナ。。。細切れでレスしてごめんね。
ちょっと変えたらコンパイルというクセをつけておくと
構文エラーレベルのはそのたびにつぶせるので、
結果的に生産性が上がると思う。ガンガレ。
803デフォルトの名無しさん:2008/08/01(金) 21:22:09
さっきの>>786ですが、できる限り訂正したん結果最後に一つだけエラーが無くなりませんでした。
場所は>>788のpower[k]の式の前の行のDFT関数の式です。DFT関数の二つの式をDFT();に変換しました。
エラー内容は

error: too few arguments to function `DFT'

です。よろしくお願いします。先程言い忘れていましたが、期限は8月6日なのでできればそれまでにお願いします。
後、>>802さんありがとうございます。
804802:2008/08/01(金) 21:52:05
>>803
error: too few (少ない) arguments (引数) to function `DFT'
805デフォルトの名無しさん:2008/08/01(金) 23:07:26
[1] 授業単元:プログラミング応用
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7567.txt
[3] 環境
 [3.1] OS: WinXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 8月10日まで
[5] その他の制限: 特にございません

よろしくお願い致します。
806デフォルトの名無しさん:2008/08/01(金) 23:45:17
>>805
>最後にNULL文字(\n)を付加すること

だれか、これについて解説してくれ。
807デフォルトの名無しさん:2008/08/01(金) 23:51:38
Windowsの改行文字をヌル文字とな?
808デフォルトの名無しさん:2008/08/01(金) 23:52:20
とりあえず付加すれば良いんだろ
809デフォルトの名無しさん:2008/08/01(金) 23:53:30
810デフォルトの名無しさん:2008/08/01(金) 23:55:49
エスケープシーケンスって言いたかったのをnull文字って言ってるのか
\0を\nって書いたのかが分からんなたぶん前者だけど
811デフォルトの名無しさん:2008/08/02(土) 00:00:20
>>806
Windowsの改行コードとして一般的に使用されているのはCRLF(\r\n)だよ。
812811:2008/08/02(土) 00:01:40
アンカミスorz >>807あて。
813352:2008/08/02(土) 00:04:35
>>777.>>778
ありがとうございました。どうやら提出出来そうです。
書いて頂いたコードを参考にさせて頂いて結局次のようなコードにさせて頂きました
整合性の意味が不明でしたが、親クラスのメソッドdemoを書き換えずに、virtualメソッド
だけ置換出来るという意味に落ち着きました。
#include <stdio.h>
class parent{
public:void demo(){virtual_methode();fixed_methode();}
virtual void virtual_methode(){printf("parent::virtual_methode()¥n");}
void fixed_methode(){printf("parent::fixed_methode()¥n");}
};
class child:public parent{
public:virtual void childdemo(){virtual_methode();fixed_methode();}
void virtual_methode(){printf("child::virtual_methode()¥n");}
void fixed_methode(){printf("child::fixed_methode()¥n");}};
int main(int argc,char **argv){
parent p;child c;
printf("parent.demoを実行します。¥n");p.demo();
printf("child.demoを実行します。¥n");c.demo();
printf("child.childdemoを実行します¥n");c.childdemo();
return 0;
}
実行結果
parent.demoを実行します。
parent::virtual_methode()
parent::fixed_methode()
child.demoを実行します。
child::virtual_methode()
parent::fixed_methode()
child.childdemoを実行します
child::virtual_methode()
child::fixed_methode()
814デフォルトの名無しさん:2008/08/02(土) 00:09:29
815デフォルトの名無しさん:2008/08/02(土) 00:10:51
吉田君の出した問題が解けません
816デフォルトの名無しさん:2008/08/02(土) 00:13:44
>>813
確かに便利だし使うことも多いけどC++の課題でprintf使うのはどうなのさ
817デフォルトの名無しさん:2008/08/02(土) 00:24:09
C/C++は派手なこともするけど、基本的にはConservativeな言語
かなりStoicな言語だと思う。
818デフォルトの名無しさん:2008/08/02(土) 00:25:24
禁欲的な○○なんですね
わかります
819780:2008/08/02(土) 01:08:56
>>780ちゃんも見てあげて!
820デフォルトの名無しさん:2008/08/02(土) 01:40:40
見て欲しいなら、ちゃんと股を開けや、な?
821デフォルトの名無しさん:2008/08/02(土) 01:44:14
>>767
これはキモイww
822デフォルトの名無しさん:2008/08/02(土) 01:46:07
>>821
お前の頭がおかしいだけ。知っている人は知っている。無知は黙ってろ
823デフォルトの名無しさん:2008/08/02(土) 01:53:10
可読性可読性って必死に言っておいて、それが単なる個人的な主観であって
目的とする動作、処理、必要な条件判定などを無視したり、無駄を取り込んでいて
良しとしているなら論外。
まぁ、挿入ソートや基本選択法で不適切なコードを書いている人がいたが
あれは可読性というより単なる個人の勘違いだが、必要もない
スワップを入れてしまっている人もいる。そういうのは本当に無駄だが
やはり自分が そう思うから それが自分にとって正しい で
客観的な筋の通ったり理論を無視して、他人に自分の脳内を理解してもらおうとしても
実際にプログラムを動作させてしまえば、それが何?だから何?で
自分が本来メリットとしたことなんて、伝わらないなんてことはいくらでもあるよ。
あと、宿題スレなんて、そういった議論は別のスレでやってくれ。
824デフォルトの名無しさん:2008/08/02(土) 01:59:29
   1   2   3   4   5
  16  17  18  19   6
  15  24  25  20   7
  14  23  22  21   8
  13  12  11  10   9

こんな感じで表示するプログラムってどうやるんでしょうか?
825425:2008/08/02(土) 02:09:35
>>432
遅れましたが、どうもありがとうございます。
ほぼそのまま提出しました。
昨日研究室からメールが来て、このコードを元に
6つのクラスの2つの組からある別のクラスを生成し、
どーだらこーだらのコードに書き換えろという指令が
出ました。どーすればいいのかわからないので、
詳しいことがわかったら、またここで相談に乗って
頂くかもしれません。
826デフォルトの名無しさん:2008/08/02(土) 02:11:10
>>822
カスが吠えてますね^^
イタタタww
827苦労してて入力:2008/08/02(土) 03:16:17
一般項を求めよう
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 21
75 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 95 22
74 143 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 161 96 23
73 142 203 256 257 258 259 260 261 262 263 264 265 266 267 268 219 162 97 24
72 141 202 255 300 301 302 303 304 305 306 307 308 309 310 269 220 163 98 25
71 140 201 254 299 336 337 338 339 340 341 342 343 344 311 270 221 164 99 26
70 139 200 253 298 335 364 365 366 367 368 369 370 345 312 271 222 165 100 27
69 138 199 252 297 334 363 384 385 386 387 388 371 346 313 272 223 166 101 28
68 137 198 251 296 333 362 383 396 397 398 389 372 347 314 273 224 167 102 29
67 136 197 250 295 332 361 382 395 400 399 390 373 348 315 274 225 168 103 30
66 135 196 249 294 331 360 381 394 393 392 391 374 349 316 275 226 169 104 31
65 134 195 248 293 330 359 380 379 378 377 376 375 350 317 276 227 170 105 32
64 133 194 247 292 329 358 357 356 355 354 353 352 351 318 277 228 171 106 33
63 132 193 246 291 328 327 326 325 324 323 322 321 320 319 278 229 172 107 34
62 131 192 245 290 289 288 287 286 285 284 283 282 281 280 279 230 173 108 35
61 130 191 244 243 242 241 240 239 238 237 236 235 234 233 232 231 174 109 36
60 129 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 110 37
59 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 38
58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39
828デフォルトの名無しさん:2008/08/02(土) 04:04:53
とりあえずの解決なら2次元配列作って渦巻き状に埋めてから出力するかなあ?
829デフォルトの名無しさん:2008/08/02(土) 04:09:01
>>828
つーかテキストの表示開始位置を制御できない
のであればそれしかないだろ
830デフォルトの名無しさん:2008/08/02(土) 04:12:04
つ ncurses
831デフォルトの名無しさん:2008/08/02(土) 04:17:31
いや、随時算出しながら表示できないもんかなと思案中
832デフォルトの名無しさん:2008/08/02(土) 04:22:30
>>831
だからそれはBASICとかでいえばLOCATEのような表示位置をいきなり
かえる命令でも実装されてなければ計算してローカルに一旦保存
あとで一括で表示にならない?
833デフォルトの名無しさん:2008/08/02(土) 04:43:55
だめだ。寝てからやろう。。
>>832みたいに思考停止しませんように、俺。
行単位で出力できるはずだよこれ。
数学離れてだいぶたつから分からないのが悔しいが。
834デフォルトの名無しさん:2008/08/02(土) 05:03:26
>>824の問題の模範解答、持ってたんだけどみつからない・・・
俺もあの問題やったし、もしかしたら>>824と同じ学校かもね
835デフォルトの名無しさん:2008/08/02(土) 08:23:04
ANSIエスケープシーケンスを使っていいという落ちだろ
836デフォルトの名無しさん:2008/08/02(土) 08:41:36
>>824
#include <stdio.h>

#define N 5

int main(void)
{
int i, j, k = 1,a[N][N];

for(i=0; i<(N+1)/2; i++) {
for(j=i; j<=N-i-1; j++) a[i][j] = k++;
for(j=i+1; j<N-i-1; j++) a[j][N-i-1] = k++;
for(j=N-i-1; j>i; j--) a[N-i-1][j] = k++;
for(j=N-i-1; j>i; j--) a[j][i] = k++;
}

for(i=0; i<N; i++) {
for(j=0; j<N; j++) printf("%3d", a[i][j]);
putchar('\n');
}

return 0;
}
837デフォルトの名無しさん:2008/08/02(土) 09:41:50
>>822
自演乙
夏厨はキモイよな
838デフォルトの名無しさん:2008/08/02(土) 10:02:48
「errata」を「エラッタ」とカタカナ書きするのも気持ち悪すぎる。まあ、この読み方で定着してしまったので仕方が無いのかもしれないが、もう少し原語に似せてほしかった。
839デフォルトの名無しさん:2008/08/02(土) 10:15:38
>>838
つられてみるけど、
じゃあ、どんなつづりよ
840デフォルトの名無しさん:2008/08/02(土) 10:33:59
>>836
のコード、皆暗記したか?
841デフォルトの名無しさん:2008/08/02(土) 11:16:07
俺もエラッタと読んでいるよ
>>838じゃないが調べてみた
発音記号は
ira(に ' ):te(を逆さにしたやつ)
イラータ?
842デフォルトの名無しさん:2008/08/02(土) 11:33:10
コボラーのところに手伝いに行ったとき、
プロシージャ・ディビジョンと読んで注意された
843デフォルトの名無しさん:2008/08/02(土) 12:48:24
>>170って難しい?
俺途中迄やったけど挫折。自分的には極めて難しいと思う。
期限切れかも知れないが、是非回答してあげて欲しいと
思うな。
844デフォルトの名無しさん:2008/08/02(土) 12:58:17
>>843
興味ない。
おそらく実際の宿題じゃないし、
janeのツリーで間に合ってる。
845デフォルトの名無しさん:2008/08/02(土) 13:04:46
難しいってか面倒くさいな
RubyかPerlだったらすぐ書ける
846デフォルトの名無しさん:2008/08/02(土) 13:38:19
>>844
おいおい、ダメだよw
はっきり本音言っちゃ。学校や企業の教育活動妨害するって
ま、個人的には学校でC/C++教えるのって何だかな〜と思うけど
>>558のような集団教育には絶対使えない悪質な問題も出されない
という保証は無いし...
やっぱし、回答が極限まで短くできる>>824みたいな問題と
>>836みたいな回答がいいんだろな....
847デフォルトの名無しさん:2008/08/02(土) 13:41:08
>>846 日本語でおk
848デフォルトの名無しさん:2008/08/02(土) 13:48:48
>>846
日本語でおk

このスレの主眼は教育を妨害することと、自分よりバカを見つけて嘲笑することだが何か?

残りは何言ってんだか、本当にわかんないよ。バカなんだろオマエ。
849デフォルトの名無しさん:2008/08/02(土) 13:50:43
>>833は結局寝たままなのか?
850デフォルトの名無しさん:2008/08/02(土) 13:56:39
ん、計算しながら渦巻きを出力?それ出来たよ。>>833じゃないけど
もう答えでちゃったからいいかともったけど
851デフォルトの名無しさん:2008/08/02(土) 13:59:30
>>850
>>833じゃなきゃ、関係ないよ。
「思考停止」とかいった後、どうしたのよってことでしょ。
852デフォルトの名無しさん:2008/08/02(土) 13:59:56
>>848
朝鮮語でにd
> このスレの主眼は教育を妨害することと、自分よりバカを見つけて嘲笑することだが何か?
それは単なるお前の主観、嗜好、趣味。
>>1とスレタイも読めない奴はどこの国の人間だよ?w
853デフォルトの名無しさん:2008/08/02(土) 14:01:20
>>852
おまえは「あたなのためですよ」とか言うセールスマンに乗せられちゃう人かよ。
854デフォルトの名無しさん:2008/08/02(土) 14:02:11
>>837
可読性を必死に謳うだけの自演乙
変なプライドのある講師はキモイよな
855デフォルトの名無しさん:2008/08/02(土) 14:03:59
なんで個人の趣味をこのスレの趣旨にしてんの?w
てめぇがどういう理由でこのスレで回答してようが
>>1とスレタイを読めば分かるように、丸投げする奴の宿題を
任意で誰かが受け付けているだけであって、それを理由に
嘲笑うだの見下すだのしている奴がいようが、他の回答者や
答えてもらった質問者はどうでも良いこと。誰も伝わらない
その自分の思い込みを理解してもらおうと必死ですねw
856デフォルトの名無しさん:2008/08/02(土) 14:06:50
あぁ、そうか、まともに大学で授業を受けたことの無い奴が
可読性可読性と、本来求めるべき結果や処理の流れを理解せず
単に自分にとって読みやすいだけのコードを押しつけようと必死なのかw
しかし、題意と求める結果を理解している人には、逆にそういう態度が
理解されないだろうね。一生やってなさい、見えない相手に理解してもらおうとする
独り相撲を、こんな場所でw
857デフォルトの名無しさん:2008/08/02(土) 14:11:51
>独り相撲を、
>独り相撲を、
>独り相撲を、
>独り相撲を、
>独り相撲を、
>独り相撲を、
>独り相撲を、
>独り相撲を、
858デフォルトの名無しさん:2008/08/02(土) 14:15:06
夏休みだから宿題なくてさみしいね
だれか宿題出して!
859デフォルトの名無しさん:2008/08/02(土) 14:16:41
>>826 こいつこそ本当のカス
いつまで自分の単純な頭でしか理解できない
可読性ばかりを必死に謳うんだよ?w
860デフォルトの名無しさん:2008/08/02(土) 14:40:14
おまえら、もちつけ
高脳が書くプログラムは可読性もよくすっきりしたものになるんだよ
だいたい、日本語でOKとか言っているのは自分低脳ですって自己紹介してる奴多いよな。
高脳なら低脳のかいた分りにくい文・プログラムでも何を言いたいか、したいか
が難なく理解できるよな。>>846の言っていることが理解できない奴は、自分低脳って自覚汁
861デフォルトの名無しさん:2008/08/02(土) 14:44:42
可読性を無視して自分が読みやすいコードを採用するって
どこの講師だよ?w
862デフォルトの名無しさん:2008/08/02(土) 14:47:14
>>860
元気だな。
難しい課題だと食いつけないものな。
863デフォルトの名無しさん:2008/08/02(土) 14:48:52
こんな場所で偉そうにしている糞講師に学ぶ生徒がかわいそうです ><;
864デフォルトの名無しさん:2008/08/02(土) 14:54:47
>>862
お前、高脳だなw
865デフォルトの名無しさん:2008/08/02(土) 15:02:22
宿題つくってみた。

[1] 授業単元:夏休み☆自由研究
[2] 問題文:
HTML文章を二つ読み込み、それぞれを解析してツリーにする。
二つのツリーを比較して、差分のツリーを出力せよ。

要はHTMLに特化したdiff。サイトの更新内容チェックに使えないかね〜?
[3] 環境
 [3.1] OS:どこでも
 [3.2] コンパイラ名とバージョン:なんでも
 [3.3] 言語:C/C++
866デフォルトの名無しさん:2008/08/02(土) 15:06:30
867デフォルトの名無しさん:2008/08/02(土) 15:08:40
>>863
この辺に講師なんかいないだろ。
868デフォルトの名無しさん:2008/08/02(土) 15:17:34
宿題回答者の職業何?
俺思うに、学生多いんじゃね。

学生の学生による学生のための"C/C++の宿題を片付スレ" 
869デフォルトの名無しさん:2008/08/02(土) 15:27:16
よけいな詮索はよせ。
870デフォルトの名無しさん:2008/08/02(土) 15:30:16
俺は高卒フリーターでプログラミングは独学
ここの質問者って大学とか専門学校とか通ってても相当レベル低いよね
学費の無駄じゃん
871デフォルトの名無しさん:2008/08/02(土) 15:31:13
>>858
こちらへどうぞ。
ttp://www.doukaku.org/
872デフォルトの名無しさん:2008/08/02(土) 15:36:09
>>871
面白いね
873デフォルトの名無しさん:2008/08/02(土) 15:44:03
俺は無職です、すいませんフヒヒ
874デフォルトの名無しさん:2008/08/02(土) 15:45:45
>>871
これは素晴らしいな。けど言語の一覧が劇重、、なにこれ
875デフォルトの名無しさん:2008/08/02(土) 15:46:14
>>870
大学の卒業率が85%というから、
ここに宿題を投げている手合いは・・・
876デフォルトの名無しさん:2008/08/02(土) 15:47:20
俺は専門学校講師
877デフォルトの名無しさん:2008/08/02(土) 15:51:34
>>868
とすると、なんだか格差が大きいようなきがします。
878デフォルトの名無しさん:2008/08/02(土) 15:52:19
俺も高卒だ。フリーターじゃねえけど
パズル的な問題は解けるけど、テイラーだのオイラーだの数学が関わったのはさっぱりだわ
数学を身に着けたい
879デフォルトの名無しさん:2008/08/02(土) 15:52:59
>>856
EOFは理解できましたか?
fd と fp の違いについてレポートを提出してください。まじめにみてあげます。
880デフォルトの名無しさん:2008/08/02(土) 15:56:20
>>879
EOFが入力できないと言ってたバカですね?(・∀・)ニヤニヤ
getchar()は理解できましたか?2行目意味不明。誰かと勘違いしてない?w
>>1読める?読めない?聖徳太(ry
881デフォルトの名無しさん:2008/08/02(土) 15:57:50
違うよ
882デフォルトの名無しさん:2008/08/02(土) 16:05:06
はぁ?俺は大学生時代に、どのコンピュータでも共通している
電気信号、論理回路、変数の管理などについて、機材を用いて
実験の授業で体験しましたが?
883デフォルトの名無しさん:2008/08/02(土) 16:05:55
>>880
cygwinでctrl+zするとプロセスが後ろに行っちまうよ。
なんとかしてくれ。
884デフォルトの名無しさん:2008/08/02(土) 16:07:53
>>882
気軽に「どのコンピュータでも」なんていってしまうあたり、まじめに勉強してこなかったんだなって思わせるな。
885デフォルトの名無しさん:2008/08/02(土) 16:12:04
どうでもいい所につっかかるんだな
886デフォルトの名無しさん:2008/08/02(土) 16:14:45
>>885
デタラメというのは、テクニカルタームでなく、そういうところでわかる
887デフォルトの名無しさん:2008/08/02(土) 16:15:55
わかってないじゃん。
888デフォルトの名無しさん:2008/08/02(土) 16:17:35
>>887
勉強してないじゃん
889デフォルトの名無しさん:2008/08/02(土) 16:19:51
EOFの入力の仕方を教えてくださいw
890デフォルトの名無しさん:2008/08/02(土) 16:28:02
>>824
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7572.c
流れを読まずに、おいどんのキショースを出すでごわす。
891デフォルトの名無しさん:2008/08/02(土) 16:29:54
>>889
EOF 入力 でググるでごわす
http://www.google.co.jp/
892デフォルトの名無しさん:2008/08/02(土) 16:32:19
>>849
奇数正方に関してはできた。
893デフォルトの名無しさん:2008/08/02(土) 16:34:11
偶数正方も大丈夫だった。長方形はまだできてないス。
894デフォルトの名無しさん:2008/08/02(土) 16:35:13
んじゃ暇だしおいらも
>>824
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7573.cpp
デスマ徹夜で疲れてるからちょと汚いけど
895デフォルトの名無しさん:2008/08/02(土) 16:41:08
天気もいいし風もほどほど。絶好の花火日和じゃないか。
花火を見に行く準備しなくっちゃ
896デフォルトの名無しさん:2008/08/02(土) 16:42:20
>>890
#define N 20
if(n>N) return 1;

nで正方2次元配列を動的に作るとかして、融通の利くプログラムに出来ないでごあすか
897894:2008/08/02(土) 16:45:31
あちゃー。横を奇数、縦を横+3以上にするとバグるなぁ
もう直す気力ないわー
898デフォルトの名無しさん:2008/08/02(土) 17:02:17
>>890
for(i=0,k=n-1,cnt=1; i<n/2; i++,k--) は i<n/2 でおk
899デフォルトの名無しさん:2008/08/02(土) 17:03:21
>>896 るろうに献身 「動的確保で対処するでござるよ」
900894:2008/08/02(土) 17:14:38
一応直した
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7574.cpp

普通のうpろだよりtracみたいのが欲しいな
901デフォルトの名無しさん:2008/08/02(土) 17:17:48
>>878
そのパズル的な問題というのはどうやったら解けるようになるんですか?
自身発想がクソすぎて全くできないのですが
902デフォルトの名無しさん:2008/08/02(土) 17:21:52
昨日の夜に放送されていた、阿久悠の番組でも出てきたが
歌手になるからといって、そればかりやっていたんではダメだと。
まぁ、それが何を意味するか?視野を広く持て、ということだ。
903894:2008/08/02(土) 17:36:52
>>901
高卒の俺があんまり偉そうに言えた事じゃないけど、
アルゴリズムは教えてもらうより、自分で考えるっていう一見非生産的な姿勢を持つのがいいんじゃないかな。
そうすると自然と頭を使う頻度が上がって、思考能力も磨かれるんじゃないかと

あと既存のアルゴリズムに関しては、その仕組みを理解するだけでなく、それを考えた人がそれを思いつくに至った経緯を推測すると
その人の能力の一部吸い取れると俺は信じているw

普通にコーディングしてるだけなら殆ど頭使わないしねぇ。得るものも少ない。っていうかつまらない
904デフォルトの名無しさん:2008/08/02(土) 17:38:38
はいはい高卒ワロスワロス
905デフォルトの名無しさん:2008/08/02(土) 17:44:29
人生ってさぁ、マジで1度しかないじゃん、誰でも。
高卒でもやれることはあるし、大卒になるために費やした
4年間(もしかすると人によってはそれ以上)は、果たして
その後の人生に大きく役に立ったかな?
無駄とは言わないが、結局、専攻分野とは無関係な仕事を
続けて一生を終える人もいるのさ。
まぁ、結局さ、一人の人間の頭の中にあれこれ知識を詰めても
結局、製造するものはある規定に基づいて生産されて
誰もが同じ性能の製品を、金を出せば手に入れ使えるわけだ。
使うための知識は別として。

まぁ、なんだ、平気寿命まで生きられるとして80才辺りまでは
最低限生きられると仮定した場合、約3万日生きたことになる。
4年間というと、約1,400日。人生の21分の1をさらに延長して
学生として過ごしたわけだ。しかも、その間、確実に老化して
死ぬまでの日数は減っているからね。無駄なことを1日でも
している暇は、もう俺にはない。だからといって、今すぐ結婚できるわけでもない。
子供を作れるわけでもない、生まれた子供が成長してくれるわけでもない。
それが現実さ。しかし、新しいプログラムを作り、生むことは出来る。
906デフォルトの名無しさん:2008/08/02(土) 17:47:57
ハイハイ妄想お疲れ様w
907デフォルトの名無しさん:2008/08/02(土) 17:53:36
妄想?何を寝言を言っているのだ?こうしている間にも
確実に訪れず己の死の瞬間に、刻一刻と近づいているんだぜ?
何をするにも時間は掛かるし、何かするために時間を使ってなきゃ
それで垂れ流しで終わる人生になるぜ?
今ここで、俺らは見ず知らずの誰かとやり取りしているが、それでも
確実に今日という1日は過ぎ去って、二度と戻らないが
やり取りをしたという事実は残る。少なくとも、2ちゃんねるの
サーバー、過去ログには俺らが記したレスが今後も残る。
まぁ、誰が引き継ぐが知らないが、デジタルメディアは今後も残るし
このレスだって1世紀以上後の子孫が見ているかもしれんよ。

100年前、こいつら何やってたんだ?ってねw
908デフォルトの名無しさん:2008/08/02(土) 17:56:21
>>901
まあ、数当たるのが一番じゃね
http://www.topcoder.com/tc?module=MatchList
909デフォルトの名無しさん:2008/08/02(土) 18:00:08
>>908
人生の無駄なこととは何だ?

高校に行くのも役に立たないんじゃなのか?
お前は高校に逝ったのか? 逝ったのなら何のために逝ったんだ?

夏って楽しいな
910デフォルトの名無しさん:2008/08/02(土) 18:04:27
>>907
小卒でプログラム書いたほういいんじゃねーのw
高卒キメーなw
911デフォルトの名無しさん:2008/08/02(土) 18:04:27
間違えた
>>909 は -----> >>905
912デフォルトの名無しさん:2008/08/02(土) 18:29:06
俺はデスマで徹夜をするハメになっているにもかかわらず
ひまつぶしにコードを書くことができるマはいいマだとおもう
ガンガレ。
913デフォルトの名無しさん:2008/08/02(土) 18:36:33
>>909
必要も無いのに手間隙掛けること、あるいは求めるものに
時間や費用が掛かりすぎること。要するに 目的も無い人生 こそ 明らかに無駄。
914デフォルトの名無しさん:2008/08/02(土) 18:41:43
例えば、極端だが、マジで貧乏で、交通費さえまともに払えない人がいたとしよう。
今は鉄道を使えば、大昔に歩いて移動したとする東海道五十三次、
1日どころか数時間で東京から京都までいけるだろ?
それも、ほとんど座ってりゃ良い。ただ、そのためには稼いだ金を使うことになる。
まともに稼いでいたほうがマシだわな。10日間歩いて掛かったとしても
その間、歩くだけでも老化現象は早まる、当然疲労する、10日分の
宿、食事代、そして戻らない時間を費やすわけだ。
そもそも、京都の三条大橋に何かご用で?って言われたら、目的がなきゃ変だと思われるよ。

ただ、歩いて移動することが目的だ、というのであれば、当然それに応じた
準備をしておくだろう。そういうこと。
915デフォルトの名無しさん:2008/08/02(土) 19:18:47
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
★下記の仕様を満たすプログラムをC言語で作成する。
【仕様】図形の面積学習簡易プログラム

▼「三角形の面積」「平行四辺形の面積」「台形の面積」を求める問題を
ランダムに出題する。オリジナル関数を作って処理すること。
▼例えば「三角形の面積」の場合、「底辺が4、高さが7の三角形の面積は?」
と出題する。与えるべき数値(簡単なため数値は1〜9でよい)は全てランダムに表示する。
▼回答を入力させ、正解の場合は「よくできました」と表示し、不正解の場合は
「まちがいです」という文を表示する。
▼「続けますか?」と表示し、「はい」なら出題する。「いいえ」ならばこれまでの正解率を計算する。
正解率に応じて80%以上ならA、70〜79%ならB、60〜69%ならC、59%以下ならDと表示する。
[3] 環境
 [3.1] OS: Windows xp
 [3.2] コンパイラ名とバージョン:bcc32?
 [3.3] 言語: C言語
[4] 期限: 来週中ぐらい
[5] その他の制限:if文、for文,関数プロトタイプ宣言、戻り値
 引数、関数形式マクロはやりました。標準ライブラリ関数と配列はやってないです・・・


分からないので、教えてください。
お願いします。
916デフォルトの名無しさん:2008/08/02(土) 19:23:17
>>915
bcc32とかキモイから無理
917デフォルトの名無しさん:2008/08/02(土) 19:29:48
>>907
あなたの偏った人生観(とでもいうより他にないのですかね)はどうでもいいですから、
EOFを勉強して fp と fd の違いをレポートにしてください。真剣にチェックします。
918デフォルトの名無しさん:2008/08/02(土) 19:32:06
何とかできないでしょうか?

誰かお願いしますぅ´`
919デフォルトの名無しさん:2008/08/02(土) 19:38:26
>>918
出題したい問題の一覧を作って晒すのが最初の一歩だな。
つまり、
「底辺が %d 、高さが %d の三角形の面積は?」
「各辺がそれぞれ %d %d %d の三角形の面積は?」
とかいうのを
920デフォルトの名無しさん:2008/08/02(土) 19:39:23
つづき
>>915
が作って晒せば、なんとかしてくれるだろう。
921デフォルトの名無しさん:2008/08/02(土) 19:53:41
>>915のものですが
正直プログラムの作り方が良く分からないんです。

できればこのプログラムを書いてほしいのですが・・・?
ダメですか?

誰か助けてぇ〜´`
922デフォルトの名無しさん:2008/08/02(土) 19:55:03
調べりゃかけるじゃん
こんなの何故書けない
やる気がないんだろ?

できないなら適正がないってことで
文学部か何かに編入したほうがいいぞ
923デフォルトの名無しさん:2008/08/02(土) 20:08:57
度々沸くよな、説教厨
924デフォルトの名無しさん:2008/08/02(土) 20:26:33
>>780ちゃんがヒントだけでも欲しいって言ってた!
925デフォルトの名無しさん:2008/08/02(土) 20:33:21
926デフォルトの名無しさん:2008/08/02(土) 20:52:54
927デフォルトの名無しさん:2008/08/02(土) 21:18:52
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7576.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:8月4日まで
[5] その他の制限: よろしくお願いします。
928デフォルトの名無しさん:2008/08/02(土) 22:10:07
自己アピールのために長文書くやつキモすぎてワロタwww
929デフォルトの名無しさん:2008/08/02(土) 22:20:16
>>927
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
typedef struct tag_tc_t{char t[3+1];int c;}tc_t;
int cmp(const tc_t *a, const tc_t *b){return b->c-a->c;}
int main(void){
FILE *fp;
char *buf=NULL;
int i, j, moji, bufsize=0, tc_num=0;
tc_t *tc=NULL, t={{0},1};
if((fp=fopen("homepage.txt", "r"))==NULL) exit(1);
while((moji=fgetc(fp))!=EOF){
buf=realloc(buf, bufsize+1);
buf[bufsize++]=tolower(moji);
}
fclose(fp);
for(i=0;i<bufsize;i++) putchar(buf[i]);
for(i=0;i+2<bufsize;i++){
sprintf(t.t, "%.3s", &buf[i]);
printf("'%s' ", t.t);
for(j=0;j<tc_num;j++) if(strcmp(tc[j].t, t.t)==0 && ++(tc[j].c)) break;
if(j<tc_num) continue;
tc=realloc(tc, sizeof(*tc)*(tc_num+1));
tc[tc_num++]=t;
}
qsort(tc, tc_num, sizeof(*tc), cmp);
for(i=0;i<tc_num;i++) printf("%s %d\n", tc[i].t, tc[i].c);
free(buf); free(tc);
return 0;
}
930デフォルトの名無しさん:2008/08/02(土) 23:25:44
>929
ありがとうございます。
これは1番をやっていただいたのでしょうか?
931デフォルトの名無しさん:2008/08/02(土) 23:44:17
>>930
1番と2番と3番全部入りです
putchar と printf が合わせて3箇所あります
3箇所のうち2箇所を削除すればいずれかの回答になります
932デフォルトの名無しさん:2008/08/03(日) 00:07:23
>>780 /* 微分方程式の数値解 */
#include <stdio.h>
#include <math.h>

double v1(double x) {
  return (-x*x);
}
int main(void)
{
  int j;
  double x1, dt, dx, k1, k2;

/* Euler Method */
  dt = 0.5;
  x1 = 1.0;
  for(j=0; j<=50; j++) {
    dx = v1(x1);
    printf("t=%-4.1f x=%f dx/dt=%f\n", dt*j, x1, dx);
    x1 += dx*dt;
  }

/* Modified Euler Method */
  dt = 0.5;
  x1 = 1.0;
  for(j=0; j<=50; j++) {
    k1 = v1(x1);
    k2 = v1(x1 + dt*k1);
    dx = (k1 + k2)*dt/2;
    printf("t=%-4.1f x=%f dx/dt=%f\n", dt*j, x1, dx);
    x1 += dx;
  }
}
933780:2008/08/03(日) 00:21:12
>>723 モンテカルロ法で乱数を使うより、等分割のほうが精度いい。
934デフォルトの名無しさん:2008/08/03(日) 02:03:35
なぁ、ぜんぜん無関係なEOFの話を持ち出す奴って何?粘着キチガイ?
この流れでEOFが突然出てくる意味が分からん。ちょっと妄想入っている
頭のおかしい人?
935デフォルトの名無しさん:2008/08/03(日) 02:08:04
うん。
936デフォルトの名無しさん:2008/08/03(日) 02:10:45
今更何言ってんだ、何時間前の話だよ。流れを読めよ
937デフォルトの名無しさん:2008/08/03(日) 02:14:09
だよな。
938デフォルトの名無しさん:2008/08/03(日) 02:18:25
>>936
お前か、EOFの話を必死に持ち出す馬鹿は?頭おかしいんじゃね?w
939デフォルトの名無しさん:2008/08/03(日) 02:19:39
おっと、IDも無いこの板で決め付けとは愚かなw
940デフォルトの名無しさん:2008/08/03(日) 02:27:28
D・V・D!D・V・D!のように、馬鹿の一つ覚え見たく
E・O・F!E・O・F!って一生言ってろよw

・V・ ・O・ が顔に見えてくるぜ?w
941デフォルトの名無しさん:2008/08/03(日) 02:27:32
アホどもさっさと寝ろ
942デフォルトの名無しさん:2008/08/03(日) 02:28:13
>>939
本人乙。IDがあっても日付が変わってたら言い逃れできるもんなw
白々しいよなぁ〜〜〜EOF厨w
943デフォルトの名無しさん:2008/08/03(日) 02:30:04
このスレほどム板にIDが必要だと思わせるスレはねーな
944デフォルトの名無しさん:2008/08/03(日) 02:31:01
どこぞの板みたいにホストでいいだろ
945デフォルトの名無しさん:2008/08/03(日) 02:31:52
個人的にはホスト+IPアドレスでもいいと思っている。
946デフォルトの名無しさん:2008/08/03(日) 02:35:42
自作自演できなくなるから困る
947デフォルトの名無しさん:2008/08/03(日) 02:38:58
自分の回答ミスを別人の振りをしてフォローできなくなる
948デフォルトの名無しさん:2008/08/03(日) 02:40:35
質問者のフリはできるから特に困らない
949デフォルトの名無しさん:2008/08/03(日) 03:02:21
まぁ、とりあえずだ、おまいら、スレタイと>>1読め、と。
宿題に答える以外の議論は、それ専用のスレでやってくれと。
>>1読める?読めない?聖徳太(ry
950 ◆Qvzaeu.IrQ :2008/08/03(日) 03:02:30
[1] 授業単元:プログラム
[2] 問題文:キーボードからデータを20個入力し、平均値、最大値、最小値を求め、その値を出力せよ。
1.関数mainのみで作成せよ
2.演算部を算術型関数heikin、saidai、saishomp3つに分解し作成せよ。
3.手続き型関数shoriの1つで平均値、最大値、最小値の演算を一括に処理するプログラムを作成せよ。
[3] 環境
 [3.1] OS:Linux/
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年8月5日まで
[5] その他の制限:特にありません
よろしくお願いいたします。
951デフォルトの名無しさん:2008/08/03(日) 04:40:41
>>950 のような簡単な問題に食いつかないくせに、
無駄口を叩くおまいらって、いったい・・・何しにこのスレに来ているんだYO!
952デフォルトの名無しさん:2008/08/03(日) 04:44:00
寝る前の集い
953デフォルトの名無しさん:2008/08/03(日) 09:20:06
>>951
基本的につまらないのはダメだな。
面倒くさいのも。
954デフォルトの名無しさん:2008/08/03(日) 10:36:20
>>951
しかたありませんね。では例によって宿題をしながら遠慮なくたたかせていただきますね。
>>950
当方で確認した環境は cygwin/WindowsXP, 処理系は gcc 3.4.4 です。
1:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7579.txt
2:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7580.txt
3:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7581.txt
>>934
あなたのような粘着大王にくらべたら、私なんてひよっこですよね。
とにかく EOF を勉強して fd と fp の違いをレポートしてください。K&R2 8.5 などは参考になります。
>>953
今後は宿題回答とともにたたかせていただきますので、お題がむずかしいものばかりだと困るのですが。
955名無しさん:2008/08/03(日) 11:08:58
1 /*
2 950 1.
3 */
4 #include <stdio.h>
5 #include <float.h>
6
7 int main()
8 {
9 const long N = 20L;
10 double sum = 0.0;
11 double average;
12 double max = DBL_MIN;
13 double min = DBL_MAX;
14 long i;
15
16 for(i=0L; i<N; i++)
17 {
18 double x;
19 const char *FORMAT="%lf";
20 scanf(FORMAT, &x);
21 sum += x;
22 if(x > max) max = x;
23 if(x < min) min = x;
24 }
25 average = sum / N;
26
27 printf("average=%lf\n", average);
28 printf("max=%lf\n", max);
29 printf("min=%lf\n", min);
30
31 return 0;
32 }
956名無しさん:2008/08/03(日) 11:10:19
行番号外してな
957名無しさん:2008/08/03(日) 11:53:29
/*
950 2.
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <float.h>

typedef struct {
long N;
double *data;
}ENV;

void init(ENV *env, long _N);
void input(ENV *env);
double heikin(ENV *env);
double saidai(ENV *env);
double saisho(ENV *env);

int main()
{
ENV env;

init(&env, 20L);
input(&env);

printf("average=%lf\n", heikin(&env));
printf("max=%lf\n", saidai(&env));
printf("min=%lf\n", saisho(&env));

return 0;
}
958名無しさん:2008/08/03(日) 11:54:02
void init(ENV *env, long _N)
{
env->N = _N;
long nBtye = sizeof(double) * env->N;
env->data = malloc(nBtye);
memset(env->data, '\0', nBtye);
}

void input(ENV *env)
{
long i;
for(i=0L; i<env->N; i++)
{
puts("Enter number:");
const char *FORMAT="%lf";
scanf(FORMAT, &env->data[i]);
}
}

double heikin(ENV *env)
{
double sum = 0.0;
double average;
long i;
for(i=0L; i<env->N; i++)
{
sum += env->data[i];
}
average = sum / env->N;
return average;
}
959名無しさん:2008/08/03(日) 11:55:38

double saidai(ENV *env)
{
double max = DBL_MIN;
long i;
for(i=0L; i<env->N; i++)
{
double x = env->data[i];
if(x > max) max = x;
}
return max;
}

double saisho(ENV *env)
{
double min = DBL_MAX;
long i;
for(i=0L; i<env->N; i++)
{
double x = env->data[i];
if(x < min) min = x;
}
return min;
}
960名無しさん:2008/08/03(日) 12:38:16
/*
950 3.
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <float.h>

typedef struct {
long N;
double *data;
}ENV;
void init(ENV *env, long _N);
void finish(ENV *env);
void input(ENV *env);
void shori(ENV *env, double *_avg, double *_max, double *_min);

int main()
{
ENV env;
double avg;
double max;
double min;
init(&env, 20L);
input(&env);
shori(&env, &avg, &max, &min);
finish(&env);
printf("average=%lf\n", avg);
printf("max=%lf\n", max);
printf("min=%lf\n", min);
return 0;
}
961名無しさん:2008/08/03(日) 12:38:49
void init(ENV *env, long _N)
{
env->N = _N;
long nBtye = sizeof(double) * env->N;
env->data = malloc(nBtye);
memset(env->data, '\0', nBtye);
}

void finish(ENV *env)
{
free(env->data);
}

void input(ENV *env)
{
long i;
for(i=0L; i<env->N; i++)
{
puts("Enter number:");
const char *FORMAT="%lf";
scanf(FORMAT, &env->data[i]);
}
}
962名無しさん:2008/08/03(日) 12:39:50

void shori(ENV *env, double *_avg, double *_max, double *_min)
{
double sum = 0.0;
double average;
double max = DBL_MIN;
double min = DBL_MAX;

long i;
for(i=0L; i<env->N; i++)
{
double x = env->data[i];
sum += x;
if(x > max) max = x;
if(x < min) min = x;
}
average = sum / env->N;

*_avg = average;
*_max = max;
*_min = min;
}
963名無しさん:2008/08/03(日) 12:43:44
/* 950 2. */ でも return 0; の前にfinish(); を読んだほうがよい。
964デフォルトの名無しさん:2008/08/03(日) 13:43:01
>>925
>>932

ありがとうごぜえますだああああ
965デフォルトの名無しさん:2008/08/03(日) 14:04:05
966デフォルトの名無しさん:2008/08/03(日) 14:25:43 BE:596427697-2BP(6868)
次スレ立てました。
C/C++の宿題を片付けます 115代目
http://pc11.2ch.net/test/read.cgi/tech/1217741118/
967デフォルトの名無しさん:2008/08/03(日) 14:29:32
未回答または未完成
>>116>>341 UNIX通信プログラム [7月24日の昼12時]
>>119 文字列中のパターンの繰返しを調べる [7月24日(木)]
>>175 合流点(join)を持つ構造 [7月28日]
>>364 オセロゲームの盤 [7月28日]
>>558>>562 前後5行のテキストを表示 [7/31 19:00:59]
>>572 BMIのプログラム3とおり [7月30日15時]
>>678 無向グラフ(隣接行列) [07/30(水) 20:38:41〜明後日まで]
968デフォルトの名無しさん:2008/08/03(日) 15:16:12
>>965 >>950
ということは、
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7582.txt
でしょうか?
>>934
レポートまだですか?
969デフォルトの名無しさん:2008/08/03(日) 15:23:33
>>968
つ EOF、それは人生を自問すること by C
970デフォルトの名無しさん:2008/08/03(日) 15:31:36
>>119
他人のコードのパチリだけど、
期限も過ぎていることだし、持ち越さないことにしよう。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7583.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7584.txt
971965:2008/08/03(日) 15:55:43
いや近いけど、この2つの違い何てことで。shoriでやってる(scanf)はmainで、いいでしょ。 以上
2. http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7580.txt
3. http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7581.txt
972デフォルトの名無しさん:2008/08/03(日) 16:32:26
>>774,933
助言ありがとうございます。
頑張って作ってみます。

あと、返信遅くなってすいません。
973デフォルトの名無しさん:2008/08/03(日) 16:40:49
974 ◆Qvzaeu.IrQ :2008/08/03(日) 18:15:05
950です。
>>954>>955-963>>956
本当にありがとうございました。
すごく助かりました。
975デフォルトの名無しさん:2008/08/03(日) 19:40:14
>>967
いつも乙
全部期限過ぎちゃってるんだね
976デフォルトの名無しさん:2008/08/03(日) 20:44:06
エラトステネスの篩を使った素数の求め方で
2^32-1 = 4294967295 までの素数を求めろ
という問題ですが、環境によっては宣言できる配列の要素数が
制限されていますが、そういった制限がある場合、どのように求めますか?
977デフォルトの名無しさん:2008/08/03(日) 20:47:16
>>976
簡単の為に 2^32 とする
ひとつの数値あたり 1ビットだけ使うことにする 2^29
奇数だけチェックすることにする 2^28 = 256MB

ってことで今時のPCならなんとかなる
978デフォルトの名無しさん:2008/08/03(日) 20:53:16
>>977
おぉ、なるほど、サンキュー
979名無しさん:2008/08/04(月) 08:56:30
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
/*---------------------*/
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
/*---------------------*/
#define N 1024
int main()
{
char buf[N+1];
int ret;
const char *inFile = "./tmp.txt";
FILE *fp;
int fd;
#define VERSION_FD
#ifdef VERSION_FD
fd = open(inFile, O_RDONLY);
fp = fdopen(fd, "r");
#else
fp = fopen(inFile, "r");
#endif
if(NULL==fp)
{
fprintf(stderr, "Error: couldn't open %s\n", inFile);
exit(-1);
}
980名無しさん:2008/08/04(月) 08:57:13
memset(buf, '\0', sizeof(buf));
ret = fread((void*)buf, sizeof(char), N, fp);
if(N!=ret) /* EOF or error */
{
int ret = feof(fp);
if(ret==0) /* NOT EOF */
{
ferror(fp);
exit(-1);
}
}
buf[ret] = '\0';
puts(buf);
fclose(fp);
return 0;
}
981デフォルトの名無しさん:2008/08/04(月) 12:33:47
>>803の者です。>>804さんお礼を言うのがかなり遅くなってすみません。
ありがとうございます。お聞きしたい事があるのですが、>>803のエラーの解決方法を教えてくれないでしょうか?
お願いします。ソースは改善した物をもう一度載せておきます。
982デフォルトの名無しさん:2008/08/04(月) 12:40:38
#include<stdio.h>
#include<math.h>

void Cmult( double *r, double *x, double r1, double x1, double r2, double x2);
void Twiddle( double *er, double *ei, int N, int k, int n );
void DFT(int N, double D[], double Xr[], double Xi[]);
int main(void)
{
FILE *fp=fopen("/kyozai/nishiura/dsp/original.vc","r");
short data[16000];
double datafft[512];
int i,k;

fread(data,sizeof(short),16000,fp); /*fpからsizeof(short)の大きさで16000サンプル分をdataに読みこむ。*/
double Xr[k],Xi[k],power[k];
for(i=0;i<512;i++)
{
datafft[i]=(double)data[i+1000]; /*格納したデータの1001番目から512サンプルをdouble型に変換*/
DFT();
power[k]=Xr[k]*Xr[k]+Xi[k]*Xi[k];/*パワースペクトルの計算*/
}
double horizon[256],dB[256];/*dBは表の縦軸*/
FILE *fpout;

for(i=0;i<256;i++)
{
horizon[i]=16000.0*((double)i/512);
dB[i]=10*log10(power[i]);
fprintf(fpout,"%lf%lf/n",horizon[i],dB[i]);
}
return 0;
}
983デフォルトの名無しさん:2008/08/04(月) 12:43:22
>>982の続き

/* (r1 + j x1) と (r2 + j x2) の積が (r + j x) となる。 */
void Cmult( double *r, double *x, double r1, double x1, double r2, double x2 )
{
*r = r1 * r2 - x1 * x2;
*x = r1 * x2 + r2 * x1;
}
/* e^( -j * 2*pai * k * n / N ) の値が ( er + j ei ) */
void Twiddle( double *er, double *ei, int N, int k, int n )
{
double w, pai=3.1415926;
w = 2 * pai * k * n / N; *er = cos(w); *ei = sin(-w);
}
/* D[] が入力、Xr[], Xi[] が結果 */
void DFT(int N, double D[], double Xr[], double Xi[])/*離散フーリエ関数*/
{ int n,k,i;
double er, ei,datafft[i];

for(k = 0; k < N; k++) {
Xr[k] = 0.0;
Xi[k] = 0.0;
for(n = 0; n < N; n++) {
Twiddle(&er, &ei, N, k, n);
D[n]=datafft[i];
Cmult(&er, &ei, D[n], 0.0, er, ei);
Xr[k] = Xr[k] + er / N;
Xi[k] = Xi[k] + ei / N;
}
}
}
984デフォルトの名無しさん:2008/08/04(月) 12:43:22
> >>934
> レポートまだですか?
985デフォルトの名無しさん:2008/08/04(月) 12:49:08
>>981
関数を呼び出してるとこが DFT(); となっていて
関数の定義は void DFT(int N, double D[], double Xr[], double Xi[]) こうなってる。

引数部分が釣り合ってないから怒られてるんです。
何を引数として渡したらいいかは離散フーリエ関数に明るくないのでわからないです。
986デフォルトの名無しさん:2008/08/04(月) 13:02:19
>>985 DFT関数のエラーがなくなりました。ありがとうございます。
でもまた新しいエラーが出てしまいました…

<math.h>を定義したのに、sin,cosが定義されていないと出ました。
質問ばっかですいません。期限が迫っているので今日中に終わらせたいんです。
どうかお願いします。

987デフォルトの名無しさん:2008/08/04(月) 13:04:32
エラー内容を載せておきます。

/tmp/ccMiFBof.o(.text+0x189): In function `main':
: undefined reference to `log10'
/tmp/ccMiFBof.o(.text+0x291): In function `Twiddle':
: undefined reference to `cos'
/tmp/ccMiFBof.o(.text+0x2af): In function `Twiddle':
: undefined reference to `sin'
collect2: ld はステータス 1 で終了しました
988デフォルトの名無しさん:2008/08/04(月) 13:06:50
cos sinでエラーってヘッダ忘れてるだけだろ

#include <math.h>;  //sin cosとか数学系関数はこれを指定しないと使えない
989デフォルトの名無しさん:2008/08/04(月) 13:10:21
>>987
コンパイル(リンク)時に -lm を追記すればおk
990デフォルトの名無しさん:2008/08/04(月) 13:17:42
>>988>>989 ありがとうございます。おかげでコンパイルができました。

ただ実行した後セグメントエラーが出てしまいました…orz
どうかこの馬鹿に徹底的に教えてやってください。お願いします。
991デフォルトの名無しさん:2008/08/04(月) 13:19:05
>>981
1レスにあまるようなコードを直接張るなといわれたのも、覚えてられないのか!?
992デフォルトの名無しさん:2008/08/04(月) 13:23:17
>>991 本当にすいません。過去レスを読んでませんでした…
今度からは止めます。
993デフォルトの名無しさん:2008/08/04(月) 13:33:10
>>986 これの最新ソースが無いよ?
main(){
 DFT();
}
994デフォルトの名無しさん:2008/08/04(月) 14:06:16
>>990
double Xr[k], Xi[k], power[k]; // kが初期化されていない
FILE *fpout; // fpoutが初期化されていない
double er, ei, datafft[i]; // iが初期化されていない
995デフォルトの名無しさん:2008/08/04(月) 14:54:27
遅くなってすみません。

>>993 すみません。忘れていましたorz
     main(){
void DFT(int N, double D[], double Xr[], double Xi[]);
}

>>994 ありがとうございます。fpoutみたいなファイルの初期化はどうしたら良いのですか?
996デフォルトの名無しさん:2008/08/04(月) 15:05:27
>>995
定義じゃなくて呼び出し側をかこうよ
997デフォルトの名無しさん:2008/08/04(月) 15:09:26
>>996 本当すいませんでした。
998デフォルトの名無しさん:2008/08/04(月) 16:40:09
きゅぅぅひゃくきゅぅぅじゅうはぁぁち
999デフォルトの名無しさん:2008/08/04(月) 16:43:17
>>448
おまえバカだろ
1000デフォルトの名無しさん:2008/08/04(月) 16:43:58
で次スレへ移行
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。