- 1 名前:デフォルトの名無しさん [2007/07/15(日) 22:31:51 ]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク): [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ 【前スレ】 C/C++の宿題を片付けます 92代目 pc11.2ch.net/test/read.cgi/tech/1183511364/
- 747 名前:デフォルトの名無しさん [2007/07/23(月) 20:06:13 ]
- [1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4727.txt [3] 環境 [3.1] OS:linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限:2007/07/24 [5] その他の制限:なるべく問題文の指定以外の変更はしないで頂きたいです。どうか宜しくお願いします。
- 748 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 20:29:41 ]
- >>747
>>294 >>494 >>600
- 749 名前:741 [2007/07/23(月) 20:57:04 ]
- 741です。どなたかお願いします。For文もif文もままならないレベルなので、自力で解くのは厳しいです。また30分後にきます(´〜`;)
- 750 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 20:58:46 ]
- うざ
- 751 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:06:14 ]
- 質問テンプレを利用しましょう。
- 752 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:08:29 ]
- 向こうで回答されてなかったっけ
- 753 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:15:49 ]
- >>420
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4728.c どう考えても2回の宿題のレベルじゃなくね? 一日かかっちまったわ 完全じゃねえけどな \(\)は無理,ってか>>719の言い方じゃイラネエじゃんクソ つーかなに?ほんとはライブラリとか使えんじゃねーのか??? >>420が問題の趣旨を理解していない気が激しくするぞコラ まあ俺は勉強になったがなクソ
- 754 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:17:13 ]
- #include <stdio.h>
int main(void) { char a[11]="HellowWorld", b[11], c[11]; int i; for(i=0 ; i<11 ; i++){ b[i] = a[i]; if(b[i]=='W' || b[i]=='w') c[i] = '*'; else c[i] = b[i]; if(c[i] == 'o') printf("OOOOO"); else printf("%c", c[i]); } printf("\n"); return(0); }
- 755 名前:ゆみ mailto:sage [2007/07/23(月) 21:30:16 ]
- >754
ありがとうございます。 助かりました。
- 756 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:35:04 ]
- >>754
ウホッこれはいい再提出
- 757 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:44:36 ]
- 別に文字列コピーした後に表示とか書いてないからおkじゃね?
出題者の意図とは違うと思うけど
- 758 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:46:38 ]
- printf("\n");
return(0); これはないだろ
- 759 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 21:52:07 ]
- >>757
よく見れば大丈夫そうだな
- 760 名前:デフォルトの名無しさん [2007/07/23(月) 22:33:47 ]
- 下記の仕様と条件を満たすプログラムを作成しなさい。
●仕様 ・"Hello"、"World"、"kadai"を指定された順番で表示すること。 ※初期の順番は、"Hello"、"World"、"kadai"とする。 ※順番はテーブル固定とし、変更毎にビルドを行うこととする。 ●条件 ・char 型index(1Byte)とchar型の配列hako[6](6Byte)をメンバとする構造体STRINDEX_TBLを作成すること。 ・STRINDEX_TBL型の配列tableに、"Hello"、"World"、"kadai"の3つの文字列と表示順番indexを格納すること。 ・文字列を表示の際は、printf()を使用し1文字("%c")づつではなく、文字列指定("%s")で指定すること。 ・VCのプロジェクト名は"ckadai6"とすること。 ●制限時間 ・30分
- 761 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:40:25 ]
- これほどまで見下してる出題者は初めてだな
- 762 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:42:31 ]
- 今年の4月から、去年質問した初心者が回答者側に回ったのか知らんが
gdgd質問者に注文つけたりうるせーよ、答える気がないなら黙ってスルーしろ。 っつかお前みたいな奴はこのスレには必要ないから、とっとと就職して 安月給プログラマーでもやってろ。
- 763 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:45:32 ]
- スルーできないお前もだろ
まあ俺もだが
- 764 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:47:22 ]
- >>761 = >>763 さすがに痛いわ、こいつ。自覚ありか。うぜぇ。失せろ。
お前みたいな奴に回答なんて求めてねーんだよ、他の回答者も。
- 765 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:47:51 ]
- #include <stdio.h>
typedef struct { char index; char hako[6]; } STRINDEX_TBL; int main(void) { STRINDEX_TBL st[] = {{0, "Hello"}, {1, "World"}, {2, "kadai"}}; int i, j; const int num = sizeof(st)/sizeof(st[0]); for(i=0; i<num; i++) for(j=0; j<num; j++) if(st[j].index == (char)i){printf("%s\n", st[j].hako);break;} return 0; } やっつけ
- 766 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:53:43 ]
- >>761-764
何方もどっちだな
- 767 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:54:36 ]
- >>737>>738
スタックを2つ作り、数字と演算子を別々に積み上げておいて、演算子はどの数字を計算対象にしたら良いか、分かるのか? は、 数字が1234で演算子は+-*/です。これを1は激弱、2は弱、3は強、4は激強 にして指定した数が大きいほど優先順位が高い。 /→*→-→+の順で計算する。
- 768 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 22:56:35 ]
- >>767
> これを1は激弱、2は弱、3は強、4は激強 4は激強 4は激強 4は激強 4は激強 4は激強 げきつよ? げききょう
- 769 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:00:43 ]
- >>9
>>32 >>39 >>50 >>148 >>259 >>313 >>327 >>407 >>503
- 770 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:07:29 ]
- >>769
逆によくそんな前からレス探してくるなと感心。 まぁ質問者も丸投げするのは構わないんだけど 催促レスしまくってくるのと問題に最低限の必要事項が 無いのは止めて欲しいかなぁ。
- 771 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:11:27 ]
- >>770 = 去年は質問者だったが、質問の仕方が悪くて散々叩かれた挙句に
答えてもらえなかった腹いせにこのスレで今年の質問者をねちねち詰り弄ることが 今の趣味になってしまった可愛そうな就職浪人。
- 772 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:11:58 ]
- >>770
問題に最低限の事と言われても言われたのはこれくらいです。 使うプログラムも乗せてありますし。
- 773 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:14:04 ]
- >>771
まぁ落ち着け、そう噛み付くな。 自分は基本的にこのスレに住みついてなくて 暇な時に見て解いてるだけで普段はレスもしてないから。
- 774 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:15:35 ]
- >>772
誰もyouにレスしてないyo!
- 775 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:16:51 ]
- やべぇ、ネチネチ質問者を弄っている奴らが簡単に釣れちゃったぜ。
これだから釣りは面白くて止められないぜ。
- 776 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:16:52 ]
- >>774
勝手に勘違いしてすいません
- 777 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:18:12 ]
- ほんとにバカばっかりだな
- 778 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:19:33 ]
- ほんとだね
- 779 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:19:57 ]
- 釣れたってww勝手に一人でファビョってただけじゃねぇかwww
- 780 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:21:33 ]
- 俺「釣り」とか「釣り師」っていうのは、
釣り師 ↓ . /| ←竿 ○ / | . (Vヽ/ | <> | ゙'゙":"''"''':'';;':,':;.:.,.,__|_________ | 餌(疑似餌)→.§ >゚++< 〜 の組み合わせだと思ってたんだけど、 最近自称釣り師がダイレクトで自分の本音を攻撃されて「釣れた!」とか 言ってるの多いよね。 これは、どっちかというと、 ,〜〜〜〜〜〜 、 |\ ( 釣れたよ〜・・・) | \ `〜〜〜v〜〜〜´ し \ ゙'゙":"''"''':'';;':,':;.:.,., ヽ○ノ ~~~~~|~~~~~~~ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ト>゚++< ノ) かと思うんだけど、どうよ?
- 781 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:21:38 ]
- やべぇ、今度は自分がファビョってますって公言する必死な奴も釣れちゃったYO!
あのなぁ、こっちは質問者を弄っている奴をピンポイントで指して指摘しているんじゃなくて そういう奴がうぜぇと言っているだけで、それに 反応 しちゃっている奴がわざわざ エサに食いついちゃっていることに気づかないから笑えるんだよw
- 782 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:22:47 ]
- バカって自分で書いたことと他人が書いたことを見間違えちゃうって本当だったんだ・・・
かわいそう
- 783 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:23:01 ]
- こんなスレあったのか
楽しいwwwwwwwww
- 784 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:24:33 ]
- >>767
素直に釣られましたが教えてください
- 785 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:26:52 ]
- 演算子に割り当てた数字と、計算対象としての数字がゴッチャになっている。
優先順位の高さが、何を指しているのか分かっているのか? 何でも良いから加減乗除を使っている計算式を書いて、 それぞれのスタックとやらに計算対象の数字と演算子に割り当てた数字が どのように積まれていくのか書いてみろ。
- 786 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:27:01 ]
- >>762=>>764=>>769=>>771=>>775=>>781
はいはいクマクマ…はぁ。
- 787 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:30:47 ]
- >>785
わかりません。わからないから来ています
- 788 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:34:25 ]
- 即答せず、少しは考えろよ。
式を書いてみろ。 小学生でも理解できる事だ。
- 789 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:34:41 ]
- >>753
おまいのソース見て、俺も書きたくなってきた。 でも、正規表現アルゴリズムって何? というレベル。
- 790 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:34:53 ]
- 鳥でもコテ半でもいいからつけてくれんとはぁ〜さっぱりさっぱりだわw
- 791 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:38:15 ]
- 1+1=2
- 792 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:41:31 ]
- >>753
授業2回でこんな問題解けるような生徒がいるなら職業プログラマいらないよなw みんなバイトでいいやってなっちまうわ。 俺もやってみたいけど1時間やそこらじゃ絶対終わらないな・・・ ってか、講師はちゃんとテスト、レビューするのかな?
- 793 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:41:50 ]
- >>788
式ですか?
- 794 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:49:22 ]
- なんかしつこいからさっさと教えたら?
- 795 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:55:05 ]
- >>788
俺も同じ問題がわからない。 教えてくれないか?
- 796 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:58:10 ]
- mainの中の
p=&c; 間違いだって誰か言ってる?
- 797 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:59:36 ]
- >>796
間違えなんですか?
- 798 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:04:53 ]
- >>797
だって洗剤はP&Gだろ? 配列なんだから&はいらんよ。 p=cでpにアドレスがコピーされる。
- 799 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:04:57 ]
- 間違えという言葉が間違っていると揚げ足取り。
- 800 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:07:06 ]
- p=cでもp=&c; でもいいと言われました
- 801 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:10:29 ]
- 確かに言ってた
- 802 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:22:13 ]
- >>580じゃダメなん?
- 803 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:22:26 ]
- >>747
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4729.c 一応580でも答えたんだけどスルーされてしまったらしい. 完成したソースでないと受理されないのか. いずれにしても出題の仕方がひどい.p=cでもp=&cでもいいとかどこの講師だよ.
- 804 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:26:09 ]
- >>803
ありがとうございます
- 805 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:33:56 ]
- 何だ、回答が出ているんだ。これだけ聞いていれば答えてくれているよね。
悪いが、作業は中止する。 提示された回答をチェックしてみて下さい。要求通りだと思うよ。 気になったのがあるんだが。 number()で数値と演算子に空白がある時と無い時で動きは違わないか?
- 806 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 00:35:47 ]
- ×数値と演算子に空白
○数値と演算子の間に空白
- 807 名前:803 mailto:sage [2007/07/24(火) 00:41:03 ]
- スタック回りに微妙なバグがありそうだけど,いい加減に書いたから適当な修正方法が見当たらない.
とりあえずの応急処置ってことで,expression()内の最後のreturn ans;の直前に op_stack = val_stack = NULL; の一行を追加しといて.
- 808 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 01:02:26 ]
- expressionの初っ端の処理がヤバイっぽい
- 809 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 01:05:50 ]
- >>805
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4730.c しかし作っちまったので俺は投稿する 因みに struct stack *op_stack, *val_stack; が struct stack *op_stack=NULL, *val_stack=NULL; なんだとおもふ
- 810 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 01:41:49 ]
- [1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク): 二分探索木の拡張 詳細はうpしました。元になるプログラムも入っています。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4731.zip [3] 環境 [3.1] OS: (Windows/Linux/等々) windows [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) VC6.0 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 7/27まで [5] その他の制限: どなたかご教授よろしくお願いします。
- 811 名前: ◆DpMW3bRjps [2007/07/24(火) 07:34:56 ]
- 1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):任意の文字列を入力し、その文字列の中に任意の文字が何個入っているかを出力する プログラムのソースコードを提出しなさい。 実行例) 文字列を入力してください yamamotoyama さがす文字を入力してください y 入力された文字列の中に指定された文字は2個あります [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2007年07月25日まで [5] その他の制限:>>452で教えてもらい、その後少し訂正したんですがダメでした。 しつこいですがもう1回お願いします。。
- 812 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 07:55:11 ]
- >>452で全く問題なくコンパイル通るが
- 813 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 07:58:32 ]
- >>811
#include<stdio.h> int main( void ){ char c, string[100], *pstr; int count; printf( "文字列を入力してください\n" ); scanf( "%s%*c", string ); printf( "さがす文字を入力してください\n" ); scanf( "%c%*c", &c ); pstr = string; count = 0; while ( *pstr != '\0' ) { if ( *pstr == c ) { count++; } pstr++; } printf( "入力された文字列の中に指定された文字は%d個あります\n", count ); return 0; }
- 814 名前:813 mailto:sage [2007/07/24(火) 08:01:47 ]
- その他制限に全く目を通していなかったorz
朝っぱらかやろうとするとすぐこれだ・・・
- 815 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 11:16:18 ]
-
[1] 授業単元:C言語演習 [2] 問題文(含コード&リンク):括弧が使用可能な四則演算の電卓プログラムを作成せよ。文字入力で、入力時の関数はgetsを使用する事。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: gcc3.4 [3.3] 言語: C [4] 期限: 無期限 [5] その他の制限:自作関数は不可、スキルは初心者用の参考書一冊を一通り読んだくらいです。 よろしくお願いします。
- 816 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 11:37:51 ]
- 自作関数は不可って?
- 817 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 11:45:17 ]
- ごめんなさい、そこは無視して大丈夫ですorz
- 818 名前: ◆MmITqPYxy6 [2007/07/24(火) 13:42:22 ]
- [1] 授業単元: IT入門B1 C言語
[2] 問題文(含コード&リンク): 1辺10の立方体内部に含まれる四面体をN個発生し、 体積の分布(区間数は20程度)を表示するプログラムを 以下の要求に従って作成し、実行しなさい。 1,四面体を表す構造体(4つの3次元位置ベクトルをメンバーとする) を Tetra という名前で定義する. typedef struct {. . .} Tetra; 2,構造体 Tetra を返却する,すなわち四面体を生成する以下の名前の関数を作成する. Tetra mk_tetra(void) 3,四面体の体積を返す次の名前の関数を定義する. double vol_tetra(Tetra t) 4,Nの値は実行時にキー入力するように設計しなさい. [3] 環境 [3.1] OS: (Windows/Linux/等々) Linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc 3.4 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 7月25日迄 [5] その他の制限: ヒントとして 1、講義で用いた"vector.h" を必ずincludeして使いなさい。 2、四面体の1つの頂点を原点にして、他の3つの位置を表すベクトルを r1,r2,r3とすると、四面体の体積Vは以下のように与えられる V=1/6|(r1×r2)・r3| がありました。 vector.h はこれです www-it.sci.waseda.ac.jp/teachers/w405201/ITB1/Sources/vector.h
- 819 名前: ◆MmITqPYxy6 [2007/07/24(火) 13:46:23 ]
- よろしくお願い致します。
- 820 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 14:20:45 ]
- >>811
>[5] その他の制限:>>452で教えてもらい、その後少し訂正したんですがダメでした。 もしかして、gets()をfgets()に修正したと言うことですか? それ以外にも変更していますか? fgets()だけなら、引数を変更するだけで良いんじゃないでしょうか。
- 821 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 14:50:12 ]
- >452はgets()の使い方が阿呆過ぎる。
それはさておき、>811はなんで自分がどう修正してダメだったかも書かないんだ?
- 822 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 14:59:12 ]
- >>821
gets()の使い方なんか可愛いもんだ。突っ込みどころ満載で目も当てられない。
- 823 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 15:09:24 ]
- 取り敢えず書いてみた。
#include <stdio.h> int main() { puts("文字列を入力してください"); char buf[200]; if (fgets(buf, sizeof(buf), stdin) == NULL) return 1; puts("さがす文字を入力してください"); char key; if (scanf("%c", & key) != 1) return 1; unsigned count = 0; for (unsigned ic = 0; buf[ic] != '\0'; ++ic) if (buf[ic] == key) ++count; printf("入力された文字列の中に指定された文字は%d個あります\n", count); return 0; }
- 824 名前:デフォルトの名無しさん [2007/07/24(火) 16:33:28 ]
- [1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):”rand1000.dat”というデータの個数nとその個数分の整数データが保存されているファイルがある (kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4151.txt) このデータをファイルから読み込み 挿入ソート 基数ソート ヒープソート クイックソート マージソート によってソートできるよう各プログラムを作成せよ データ数が100,000個のときでも対応できるようメモリを確保しておいてください。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 7月28日 [5] その他の制限:出来る限り単純なアルゴリズムで作ってください。合計5つのプログラムを作成してください。 大変な問題で申し訳ありませんがどなたか詳しい方よろしくお願いいたします
- 825 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 16:43:08 ]
- >>824
なんで露骨にマルチするわけ? 専用ブラウザ使ってる連中の多くが両方とも見ているから、逆効果にしかならないのだが。 #それともネタか? ネタにマジレスしちゃったか?w
- 826 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 17:58:03 ]
- だから答える気がない奴はいちいちうぜーレスするなよ、邪魔。お前みたいな奴いらねーって
行頭 # 野郎w
- 827 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:03:33 ]
- >>826
お前も、なぁ…?
- 828 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:07:01 ]
- >>826
こいつ、他のスレにも潜んでるよな IDが出ないのをいいことに好き勝手やってやがる
- 829 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:08:26 ]
- >>828
あ〜はいはい、去年質問したけど質問の仕方が悪くて 今年は自分が質問者を弄るようになった基地外えせ回答者さん乙でありますw うぜぇから他の回答者の迷惑になるから、文句を言うだけのレスはするなや、答える気も 答える能力もないくせに、うざすぎ
- 830 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:10:00 ]
- [1] 授業単元:プログラミングT
[2] 問題文(含コード&リンク): 二つの任意の正の整数の乗算(*)を、シフト演算の組合わせと除算(/)と 加算(+)のみで解くプログラムを作成しなさい。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 7月25日まで [5] その他の制限: ビット演算まで習っています。 お願いします。
- 831 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:11:10 ]
- >>828
まぁ、アレだからスルーしてあげてくれ。
- 832 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:11:43 ]
- 答える気も能力もないクズらが質問者を叩くだけで自己満足か、必死だな
- 833 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:17:21 ]
- 何だ、本当に答える気がなくて質問者をスレのルールに則って詰るだけの低レベルか。
相手にするだけ無駄だ、お前ら俺がいる限り、もうこのスレには来なくて良いから。 邪魔だから失せろ。
- 834 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:19:16 ]
- >>827
質問者に対して、回答ではなく叩きでレスしているって意味だと思うんだが。 頭大丈夫か?
- 835 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:20:30 ]
- ここは馬鹿がアホをたたくスレですか?
- 836 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:21:31 ]
- >>834
お前こそ頭大丈夫か?文盲?
- 837 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:21:38 ]
- >>833
勝手にすればwww
- 838 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:22:39 ]
- >>834
>いちいちうぜーレスするなよ、邪魔。お前みたいな奴いらねーって これに対してオマエモナーだろ。
- 839 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:24:38 ]
- >>838
いや、オマエモナーは>>827=>>838さんの専売特許ですから
- 840 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:27:21 ]
- なんか話が通じてないぞ。
- 841 名前:にゃ〜 [2007/07/24(火) 18:31:53 ]
- f(x)=sin(x)をテイラー展開すると
∞ f(x)=(-1)^(k-1)*{x^(2k-1)/(2k-1)!} k=1 となる.これを利用してsin(x)の値を多項式近似する関数double mysin(double x)を定義し,この関数を利用して,読み込んだ実数xのsin(x)を計算して出力するプログラム(sin.c)を書け. また,数学関数sin(x)と自分で作ったsin(x)を比較せよ. という問題なのですがどうしてもわからないんです。 今日中にできる方いらっしゃいますか?? 理解したいので、コメント付きでどうかお願いします。
- 842 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:36:48 ]
- ループで適当なとこまで足してきゃいいだけだろ。
- 843 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:39:32 ]
- >>841
どの辺が分からない?式の意味は分かるよね?
- 844 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:58:17 ]
- >>841
#include <stdio.h> #include <math.h> double mysin(double x) { double sub = 1.0; int last = 1001; /* 奇数 */ while (last > 1) { sub = 1 - (x*x / ((last-1)*last)) * sub; last -= 2; } return x * sub; } int main(int argc, char *argv[]) { while (1) { double x; scanf("%lf", &x); printf("mysin(x) = %lf\t(sin(x) = %lf)\n", mysin(x), sin(x)); } } /* コメント:原点から遠ざかると近似が効かなくなるのはマクローリンの宿命だな */
- 845 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 20:27:21 ]
- マクローリン云々よりも漸化式の形で解くのに疑問を持つ
1001もマジックでエロい人だなぁ
- 846 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 21:42:25 ]
- >>841
クソわかりやすいつもり。わからないなら数学やりなおせ ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4737.c
- 847 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 21:55:07 ]
- >>753
ありがとうございますー 最長一致するようにして使わせてもらいます >\(\)は無理,ってか>>719の言い方じゃイラネエじゃんクソ 勘違いしてたみたいですね すいません >つーかなに?ほんとはライブラリとか使えんじゃねーのか??? >>>420が問題の趣旨を理解していない気が激しくするぞコラ 授業ではプリプロセッサにまったく触れてないんでそれはないです
- 848 名前:デフォルトの名無しさん [2007/07/24(火) 22:22:39 ]
- さんざん考えたけど難しかったです。
よろしくお願いします。 [1] 授業単元: アルゴリズム [2] 問題文(含コード&リンク): 2つの複素数z=a+bi、w=c+di(ただしiは虚数単位)を読み込み、足し算とかけ算を計算して表示するプログラムを作成せよ。 但し、以下の仕様を満足するように作成すること。 ・複素数の実部と虚部を示す実数型変数をメンバとする構造体COMPLEXを構造体で定義する。 ・足し算の関数:COMP_ADD(z、w)とかけ算の関数:COMP_MULT(z、w)を作成し、main関数ではこれらの関数を呼び出す。 (実行例) 1つ目の複素数(実部):2 1つ目の複素数(虚部):3 2つ目の複素数(実部):4 2つ目の複素数(虚部):-2 足し算:(6)+(1)i かけ算:(14)+(8)i (ヒント) 複素数を扱う構造体(メンバで実数部、虚数部を2つの数値で格納)を宣言し、各変数を格納、演算を行う。 複素数同士の足し算、かけ算は普通に行う。 (a+bi)+(c+di) (a+bi)×(c+di) を展開して虚数の2乗は-1という知識があれば解ける。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: cygwin gcc [3.3] 言語: C言語 [4] 期限:7/26(木)12:00まで
- 849 名前:にゃ〜 [2007/07/24(火) 22:46:34 ]
- いろいろやってみたところ自己解決しました
載せてくれた人もいるみたいですが いちおう礼をいっておきます
- 850 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 23:00:02 ]
- >構造体COMPLEXを構造体で定義する。
構造体を構造体以外でどうやって定義するんだよw
- 851 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:00:30 ]
- >>848 ほい。名前が適当だから、そこだけ自分で修正して。
#include <stdio.h> typedef struct{ double r; double i; } comp; comp add_comp(comp c1,comp c2){ comp tmp; tmp.r=c1.r+c2.r; tmp.i=c1.i+c2.i; return tmp; } comp mul_comp(comp c1,comp c2){ comp tmp; tmp.r=c1.r*c2.r-c1.i*c2.i; tmp.i=c1.r*c2.i+c1.i*c2.r; return tmp; }
- 852 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:01:35 ]
- >>851の続き
int main(){ comp c1={2.0,3.0}; comp c2={4.0,-2.0}; comp result; printf("1つ目の複素数(実部):%lf\n",c1.r); printf("1つ目の複素数(虚部):%lf\n",c1.i); printf("2つ目の複素数(実部):%lf\n",c2.r); printf("2つ目の複素数(虚部):%lf\n",c2.i); result=add_comp(c1,c2); printf("足し算:(%lf)+(%lf)i\n",result.r,result.i); result=mul_comp(c1,c2); printf("かけ算:(%lf)+(%lf)i\n",result.r,result.i); return 0; }
- 853 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:24:02 ]
- [1] 授業単元:c言語
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4739.txt [3] 環境 [3.1] OS:windows [3.2] コンパイラ名とバージョン:bcc32 [3.3] 言語: C [4] 期限: 7月26日まで [5] その他の制限:ファイルを読込んだり、書込んだりするところを習いました。
- 854 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:29:39 ]
- >>853
例をみると、改行も区切りと見なしてるが、それでいいのか?
- 855 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:32:04 ]
- >>854
はい
- 856 名前:にゃ〜 [2007/07/25(水) 00:37:12 ]
- >>844
わかりやすいっす!! ありがとうございます。勉強しなおします
- 857 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:39:18 ]
- >>853
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4740.c
- 858 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:52:03 ]
- >>853
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4741.c
- 859 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:54:40 ]
- >>853 ちょい修正
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4742.c
- 860 名前:853 mailto:sage [2007/07/25(水) 00:57:53 ]
- すいません。
補足で 入力ファイルを読込モードでオープン 出力ファイルを書出モードでオープン while ( 1 ) { 入力ファイルから書式付で字句を読込 ファイル終端なら脱出 出力ファイルに書式付で番号を付けて書込 } 入力ファイルをクローズ 出力ファイルをクローズ と言う形で作れと書いていました。
- 861 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 01:02:14 ]
- >>860
後だしイクナイ
- 862 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 01:03:16 ]
- >>853 >>860
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4743.c
- 863 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 01:04:32 ]
- >>862の#include <ctype.h>は不要だから消しておいて
- 864 名前:853 mailto:sage [2007/07/25(水) 01:15:02 ]
- ありがとうございました。
- 865 名前:デフォルトの名無しさん [2007/07/25(水) 10:02:24 ]
- >>851 >>852
ありがとうございます。 ソースも分かりやすく書いてくれたみたいで、参考になります。
- 866 名前:デフォルトの名無しさん [2007/07/25(水) 10:02:24 ]
- パワプロ14でオールAを作るプログラムを作れ
- 867 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 10:48:35 ]
- すごい宿題だな
- 868 名前:デフォルトの名無しさん [2007/07/25(水) 11:20:58 ]
- >>866
攻略本が必要だ。 でも宿題の内容熱いな。
- 869 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 11:44:08 ]
- 探索とその評価の方法をパワプロを通して学ぶわけだな
- 870 名前: ◆6MtsdamhF6 [2007/07/25(水) 11:45:35 ]
- すいません、まだ初心者であんまりわかりません。
締切が近いのでどうかお願いします 【質問テンプレ】 [1] 授業単元:プログラミングC言語 [2] 問題文(含コード&リンク): 次の違いに注意しながら、forの変わりにwhileを使うものにそれぞれ 書き換えなさい。ただし書き換えは最低限にすること (1) #include<stdio.h> main(){ int nc, c; for(nc = 0; (c= getchar()) != EOF; nc++) printf("%c", c); printf("\nTatal=%d\n", nc); } A#include<stdio.h> main(){ int nc, c; for(nc = 0; (c= getchar()) != EOF; nc++) putchar(c); printf("\n%d\n", nc); } [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限:今日の14時までなんです。 どうかおねがいします。
- 871 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 14:19:36 ]
- #include<stdio.h>
main(){ int nc=0, c; while((c= getchar()) != EOF) { printf("%c", c); nc++; } printf("\nTatal=%d\n", nc); } #include<stdio.h> main(){ int nc=0, c; while((c= getchar()) != EOF) { putchar(c); n++; } printf("\n%d\n", nc); } 期限切れだが
- 872 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 14:22:21 ]
- Aのn++はnc++の間違い
- 873 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 15:46:14 ]
- 今、>>841をやってみた。最初は簡単かと思ったけど、
そのまま階乗つかうとオーバーフローするから面倒なのね。 >>844ほど華麗ではないけど、x/n * ...x/3 * x/2 * x/1の和で計算した。
- 874 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 15:55:45 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク): 以下のように、2桁以下の正整数が1行に3つずつ書かれたファイルを input.txt とする。 ただし、ファイルの末尾には、終了を表す番兵0がある。 1 45 90 2 7 41 13 67 60 0 入力リダイレクトで input.txt を読み込み、出力リダイレクトで、以下のような形式で output.txt に保存するプログラムを作れ。 番号 数学 英語 合計 01 45 90 135 02 7 41 48 13 67 60 127 [3] 環境 [3.1] OS: windows [3.2] コンパイラ名とバージョン:bcc32 [3.3] 言語: C [4] 期限:7/27 反復構文を使うっぽいです。
- 875 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 16:42:24 ]
- [1] 授業単元:情報基礎
[2] 問題文:次の仕様を満たすプログラムを作成せよ (1)入力は2以上の整数n 出力はnのすべての正の約数 (2)入力は2以上の整数n 出力はnの正の約数の個数 (3)入力は2以上の整数n 出力はnが素数ならば"n is prime", 合成数ならば"n is not prime" (nの部分には、入力した整数が表示されるようにすること) 3つのプログラムは1つにまとめてもよい。その場合には、ど れが約数でどれが約数の個数を表しているかが分かるようにす ること。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:c [4] 期限:7月27日(金)提出は20:45までです
- 876 名前:デフォルトの名無しさん [2007/07/25(水) 16:43:30 ]
- >>874
#include <stdio.h> void main(){ int buf = 0; int count = 0; int total = 0; printf("番号 数学 英語 合計\n"); while(scanf("%d",&buf)) { if(buf == 0) break; count++; printf("%d ", buf); total += buf; if(!(count%3)){ printf("%d\n", total); total = 0; } } } なんにもエラー処理してないけどこんなんでいいかな・・・
- 877 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 16:58:51 ]
- >>875
#include<stdio.h> int main(){ int n,c=0,i; printf("n="); scanf("%d",&n); for(i=2;i<=n;i++) if(n%i==0) c++,printf("%d ",i); printf("\n%d\nn is ",c); if(c!=1) printf("not "); printf("prime.\n"); return 0; }
- 878 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:01:34 ]
- 間違えた・・
#include<stdio.h> int main(){ int n,c=0,i; printf("n="); scanf("%d",&n); for(i=2;i<=n;i++) if(n%i==0) c++,printf("%d ",i); printf("\n%d\n%d is ",c,n); //修正 if(c!=1) printf("not "); printf("prime.\n"); return 0; }
- 879 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:03:43 ]
- 学校の先生はこのスレにかかれているままのコードで
宿題をだしている生徒がいたら、減点すればいいわけだなwwww
- 880 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:17:55 ]
- 教官、見てるなら指摘された問題の間違い位直せよ。
- 881 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 17:31:47 ]
- そこまで良心的な教師いないよ
- 882 名前:デフォルトの名無しさん [2007/07/25(水) 17:55:14 ]
- [1] 授業単元: IT入門B1 C言語
[2] 問題文(含コード&リンク): 1辺10の立方体内部に含まれる四面体をN個発生し、 体積の分布(区間数は20程度)を表示するプログラムを 以下の要求に従って作成し、実行しなさい。 1,四面体を表す構造体(4つの3次元位置ベクトルをメンバーとする) を Tetra という名前で定義する. typedef struct {. . .} Tetra; 2,構造体 Tetra を返却する,すなわち四面体を生成する以下の名前の関数を作成する. Tetra mk_tetra(void) 3,四面体の体積を返す次の名前の関数を定義する. double vol_tetra(Tetra t) 4,Nの値は実行時にキー入力するように設計しなさい. [3] 環境 [3.1] OS: (Windows/Linux/等々) Linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc 3.4 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 7月25日20時迄 [5] その他の制限: ヒントとして 1、講義で用いた"vector.h" を必ずincludeして使いなさい。 2、四面体の1つの頂点を原点にして、他の3つの位置を表すベクトルを r1,r2,r3とすると、四面体の体積Vは以下のように与えられる V=1/6|(r1×r2)・r3| vector.h はこれです www-it.sci.waseda.ac.jp/teachers/w405201/ITB1/Sources/vector.h 今日が期限なんですが、全然わからないんです。 よろしくお願い致します
- 883 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 18:01:02 ]
- >>882
結果表示のイメージが分からない。グラフにするのかな?合計数値?
- 884 名前: ◆TDJK/P.926 [2007/07/25(水) 18:16:42 ]
- 【質問テンプレ】
[1] 授業単元:プログラミング言語 [2] 問題文(含コード&リンク) 講義中の題材として扱っていた電卓を、以下の点について改良せよ。 (1)変数に文字列を代入できるようにする。たとえば s1="Programing" word="apple" のような代入が可能になる。 (2)文字を扱う関数を取り扱えるようにする。たとえば s1="Programing" s2="Language" s3=concatenate(s1,s2) 上で代入されたs1とs2を連結したものをs3に代入する。 s3 =ProgramingLanguage (5)次のようなif文を使えるようにする。→if(条件式) 実行文 例: if(a+b>10) a=a-1 条件式には、>または<が使用できるものとする。条件式が成立していたときには、実行文(複文も可)を実行する。 (6)その他、この電卓に追加するとよいと思う昨日を考え、実現してみよ。 [3] 環境 [3.1] OS:WindowsXP 上でのUNIX [3.2] コンパイラ名とバージョン: gcc (※yaccとlexのプログラミングです。 [3.3] 言語:C言語 [4] 期限: (2007年07月27日20:00まで] [5] その他の制限:講義中の題材のソースはすぐアップします。
- 885 名前: ◆TDJK/P.926 [2007/07/25(水) 18:19:36 ]
- >>884のソースです。
※ヘッダファイル:ch3-05.h #define NSYMS 20 /* maximum number of symbols */ struct symtab { char *name; double (*funcptr)(); double value; } symtab[NSYMS]; struct symtab *symlook();
- 886 名前: ◆TDJK/P.926 [2007/07/25(水) 18:20:42 ]
- >>885 続き
※lexファイル:ch3-05.l %{ #include "y.tab.h" #include "ch3-05.h" #include <math.h> %} %% ([0-9]+|([0-9]*\.[0-9]+)([eE][-+]?[0-9]+)?) { yylval.dval = atof(yytext); return NUMBER; } [ \t] ; /* ignore white space */ [A-Za-z][A-Za-z0-9]* { /* return symbol pointer */ struct symtab *sp = symlook(yytext); yylval.symp = sp; return NAME; } "$" { return 0; /* end of input */ } \n | . return yytext[0]; %% yyerror(char *errmsg) { fprintf(stderr,"ERROR: %s at %s\n", errmsg, yytext); } yywrap(){}
- 887 名前:デフォルトの名無しさん [2007/07/25(水) 18:20:50 ]
- 説明不足でした。申し訳ありません
N = 10000000 0.0 - 16.7: 0.699031 16.7 - 33.3: 0.206966 33.3 - 50.0: 0.065772 50.0 - 66.7: 0.020377 66.7 - 83.3: 0.005860 83.3 - 100.0: 0.001542 100.0 - 116.7: 0.000351 …中略… 316.7 - 333.3: 0.000000 が実行例としてありました。それぞれ体積の範囲ごとに どれくらい分布しているかを箇条書きみたいに出すみたいです。
- 888 名前: ◆TDJK/P.926 [2007/07/25(水) 18:23:05 ]
- >>886続き
※yaccファイル:ch3-05.y %{ #include "ch3-05.h" #include <string.h> #include <math.h> %} %union { double dval; struct symtab *symp; } %token <symp> NAME %token <dval> NUMBER %left '+' '-' %left '*' '/' %nonassoc UMINUS %type <dval> expression %% statement_list: statement '\n' | statement_list statement '\n' ; statement: NAME '=' expression { $1->value = $3; } | expression { printf("= %g\n", $1); } ;
- 889 名前: ◆TDJK/P.926 [2007/07/25(水) 18:25:09 ]
- >>888 yaccの続き。次で最後です。
expression: expression '+' expression { $$ = $1 + $3; } | expression '-' expression { $$ = $1 - $3; } | expression '*' expression { $$ = $1 * $3; } | expression '/' expression { if($3==0.0) yyerror("Divide by Zero"); else $$ = $1 / $3; } | '-' expression %prec UMINUS { $$ = -$2; } | '(' expression ')' { $$ = $2; } | NUMBER { $$ = $1; } | NAME { $$ = $1->value; } | NAME '(' expression ')' { if( $1->funcptr ) $$ = ($1->funcptr)($3); else {printf("%s not a function.\n", $1->name); } } ; %% /* look up a symbol table entry, add if not present */ struct symtab *symlook(char *s) { char *p; struct symtab *sp; for(sp=symtab; sp<&symtab[NSYMS]; sp++) { /* is it already here? */ if( sp->name && !strcmp(sp->name, s) ) return sp; /* is it free */ if( !sp->name ) { sp->name = strdup(s); return sp;} /* otherwise continue to next */ } yyerror("Too many symbols"); exit(1); /* cannot continue */ } /* end of symlook */
- 890 名前: ◆TDJK/P.926 [2007/07/25(水) 18:35:56 ]
- >>889 これで最後です。
void addfunc(char *name, double (*func)()) { struct symtab *sp = symlook(name); sp->funcptr = func; } int main() { extern double sqrt(), exp(), log(), sin(), cos(); addfunc("sqrt", sqrt); addfunc("exp", exp); addfunc("log", log); addfunc("sin", sin); addfunc("cos", cos); yyparse(); return 0; }
- 891 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 18:44:24 ]
- >>1にもある様に長文はロダ使おうぜ
その方が回答者にとってはやりやすい って書くといつもの基地外に噛み付かれるのかなぁ?
- 892 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 18:47:19 ]
- ◆TDJK テンプレ嫁
- 893 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 18:47:47 ]
- >>891
ガブ
- 894 名前: ◆TDJK/P.926 [2007/07/25(水) 18:47:51 ]
- >>891
うpロダには学校からアクセスしてるので規制されててアクセスできないんですよ(汗)申し訳ないです。
- 895 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 18:50:20 ]
- 2chはおkなのに?おかしな話だ
- 896 名前: ◆TDJK/P.926 mailto:sage [2007/07/25(水) 18:54:39 ]
- >>895
2ch自体にはアクセスできますがPink板など18禁系には規制かかります。 うpロダもそれで規制かかったので。
- 897 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:05:05 ]
- いくらでもあるのに規制って(´,_ゝ`)プッ
宿題まるなげするやつのいいそうなことだ。(´,_ゝ`)プッ
- 898 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:10:14 ]
- >>897
>>762
- 899 名前:デフォルトの名無しさん [2007/07/25(水) 19:11:16 ]
- 説明不足でした。申し訳ありません。
N = 10000000 0.0 - 16.7: 0.699031 16.7 - 33.3: 0.206966 33.3 - 50.0: 0.065772 50.0 - 66.7: 0.020377 66.7 - 83.3: 0.005860 83.3 - 100.0: 0.001542 100.0 - 116.7: 0.000351 …中略… 316.7 - 333.3: 0.000000 が実行例としてありました。それぞれ体積の範囲ごとに どれくらい分布しているかを箇条書きみたいに出すようです。 よろしくお願いします。
- 900 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:12:19 ]
- >>898こてはずして必死だなwww
- 901 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:54:06 ]
- >>900
>>762
- 902 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:58:05 ]
- >>882 間に合うかな?
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4746.c
- 903 名前:デフォルトの名無しさん [2007/07/25(水) 19:58:54 ]
- age
- 904 名前:デフォルトの名無しさん [2007/07/25(水) 20:01:53 ]
- スマン影響ないけど if(j > 30) j = 30; → if(j > 29) j = 29;
- 905 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:04:49 ]
- [1] プログラミング
[2] キーボードから入力された1行を読み込み,そのアルファベットを全て大文字に 変換して表示するプログラムを作成しなさい。なお,以下に与えられるメイン関数を必ず使用し, 文字列を大文字の文字列に変換する関数str_capを作成することで完成させなさい。 ヒント:小文字とは「'a'以上 かつ 'z'以下」の文字であるので,条件式が成立した場合に 小文字→大文字変換を行う。それ以外の文字はそのままにする。 Program: pt3-3.c の一部 #include <stdio.h> #define MAXLINE 1024 void str_cap(char src[], char dst[]); int main(void) { char line[MAXLINE], conv[MAXLINE]; printf("Input a line ->"); gets(line); str_cap(line, conv); printf("Original : %s\n", line); printf("Converted: %s\n", conv); return 0; } 実行結果 $ ./pt3-3 Input a line -> hiroshima city Original : hiroshima city Converted: HIROSHIMA CITY $
- 906 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:05:46 ]
-
[3] 環境 [3.1] Linux [3.2] gcc 3.4 [3.3] C [4] [無期限] [5] 関数部分をifを使って組む、toupperは使ってはいけない お願いします
- 907 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:26:03 ]
- どなたか>>810
分かりませんか? offspringを使って左右に潜っていくんだろうけど 最終的にどうなれば求める値なのかさっぱりわからん・・・・
- 908 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:29:28 ]
- >>905 mainより上にコピーして
void str_cap(char str1[], char str2[]) { int i; for(i = 0; str1[i] != '\0'; i++) { if(('a'<=str1[i]) && (str1[i]<='z')) str2[i]=str1[i]-'a'+'A'; else str2[i]=str1[i]; } str2[i]='\0'; }
- 909 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:34:48 ]
- >>908 ごめん、str1 -> src、str2 -> dst、ってことで。
- 910 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:38:18 ]
- >>905
ヒントは無視してるがやってみた #include<stdio.h> int main(void){ char lower[]="abcdefghijklmnopqrstuvwxyz"; char upper[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int i; printf("void str_cap(const char *src, char *dest){\n"); printf("\tdo{\n"); printf("\t\t*dest=*src;\n"); for(i=0;i<26;i++) printf("\t\tif(*src=='%c') *dest='%c';\n", lower[i], upper[i]); printf("\t\tsrc++;\n"); printf("\t\tdest++;\n"); printf("\t}while(*src);\n"); printf("}\n"); return 0; }
- 911 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:38:39 ]
- >>905
それvipでみたな ヒントもらえたのに解決しなかったのか?
- 912 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:38:40 ]
- 4文字の文字列を入力してF,R,E,Eの4文字で構成されていたらOK
それ以外なら入力しなおす。 ERFEやEERFもOK。この4文字で構成(F,RとEが2回で
- 913 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:40:28 ]
- DEAD BEEF
BAD FACE
- 914 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:42:48 ]
- >>910 は '\0' 入れ忘れてる orz
printf("}\n"); ↓ printf("\t*dest='\0';\n}\n");
- 915 名前:デフォルトの名無しさん [2007/07/25(水) 20:56:53 ]
- >>902
ありがとうございます。ギリギリ間に合いました。 お手数かけてすみませんでした。
- 916 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:04:05 ]
- >>912
宿題なら >>1 を読んで書きなおし
- 917 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:10:39 ]
- >>908
>>910 ありがとうございました。
- 918 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:22:18 ]
- >>908のように打ち込んだのですが、gets以外でfunction mainでエラーが発生し
printf("Converted: %s\n", conv);のconvの部分が出力されません newjizou.s6.xrea.com/cgi-bin/source/up0098.c
- 919 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:27:47 ]
- >>918
これじゃコンパイルできんだろ?
- 920 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:29:33 ]
- >>919
コンパイルはできたのですが、その部分が出力されないのです。
- 921 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:30:11 ]
- >>909の通りに置換されきれてない上に置換された文字が間違ってる
置換すらまともにできないのかYO
- 922 名前:デフォルトの名無しさん [2007/07/25(水) 21:36:52 ]
- >>902
度々すみません。コンパイルがうまくできてないようなんですが どこが間違っているのかわからないのですが。 お教え願いないでしょうか?
- 923 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:43:05 ]
- int main(int argc, char *argv[]) → int main(void)
にするといいかもNE!
- 924 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:43:11 ]
- >>921
コンパイルはできたのはこっちでした newjizou.s6.xrea.com/cgi-bin/source/up0099.c
- 925 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:49:44 ]
- だからね・・・
置換された文字が間違ってるからダメなんだ
- 926 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:53:32 ]
- >>925
落ち着いて見てみると修正した部分以外にも違っていた すみません、本当に自分が馬鹿でした・・・
- 927 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:57:13 ]
- >>924
折角変換処理を通した後で '\0' で上書きするということは memset(dest, '\0', strlen(str)); と等しい。
- 928 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:04:12 ]
- >>927
>>908のstc[i]='\0';の部分を修正したところ、正常に動作しました ありがとうございました、お世話かけました。
- 929 名前:デフォルトの名無しさん [2007/07/25(水) 22:08:37 ]
- [1] 授業単元:OS概論
[2] 問題文(含コード&リンク): Linuxでは、mmap()システムコールを使うと、 複数のプロセス間で仮想アドレス空間の一部を共有することができる。 このようなプログラムを作成し、 実際に仮想アドレス空間の一部が共有されていることを確認しなさい。 [3] 環境 [3.1] OS: LINUX [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2007年7月26日まで さっぱり見えてきません。 何卒宜しくお願い致します。
- 930 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:20:51 ]
- [1] 授業単元: C言語
[2] 問題文(含コード&リンク): 正の整数nを入力して、1からnまでの積(階乗)を求めるプログラムを 作成さいなさい [3] 環境 [3.1] OS: Windows [3.2] 言語: C言語 [4] 期限: 2時間以内 よろしくお願いします
- 931 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:34:26 ]
- #include <stdio.h>
int main(void) { unsigned int n, val = 1; scanf("%d", &n); while (n > 0) { val *= n--; } printf("%d\n", val); return 0; } こんなんでいいの? unsigned intを超える値を表示させろというなら面倒だな。
- 932 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:39:03 ]
- >>930
#include <stdio.h> int main(void) { int n,i,r; printf("n = "); scanf("%d",&n); for(i=1,r=1; i<=n; i++) printf("%d! = %d\n",i,r*=i); return 0; }
- 933 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 23:10:40 ]
- >>930 ちょっと変わったところで、こんなのはどう?
>>931の言うように、任意のnには無理だけど。 #include <stdio.h> int fact(int n){ return n>1?n*fact(n-1):1; } int main(){ int n; printf("n = "); scanf("%d",&n); printf("%d\n",fact(n)); return 0; }
- 934 名前:プログラミング初心者 [2007/07/25(水) 23:23:39 ]
- [1]授業単元:c言語
[2]問題文(含コード&リンク): 2つの符号なし整数a,b(ただし、a>bとする)を キーボードから読み込み @a,bを2進表示し、配列の中にビットを格納しなさい Aa,bの四則演算 c=a+b d=a-b e=a*b f=a/b(商f1と余りf2)を計算しその結果を出力しなさい [3]環境 [3.1] OS: Windows [3.2] 言語: C言語 [4]期限:2007年7月28日まで 全然見えてきません。 よろしくお願いします。
- 935 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 23:34:59 ]
- [1] 授業単元: C言語演習
[2] 問題文: 自分で作成したデータファイルを読み込みんで以下のような出力が出るようにする。 abc efg abc hijkl efg xxxxxxxxx これを abc, 3 efg, 3 hijkl, 5 xxxxxxxxx, 9 のようにする。 同じ文字は二度も表示させない。それぞれの文字数をカウントする。 [3] 環境 [3.1] OS: Windows [3.3] 言語: C++ [4] 期限:7月30日まで よろしくお願いします。
- 936 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 23:54:44 ]
- >>934
こんなんでいいかい? #include <stdio.h> void dtob(unsigned int n, char *s) { unsigned int i = 32; s[i] = '\0'; for (i = 31; i >= 0; i--) { s[i] = (((n >> (31 - i)) & 1) + '0'); } } int main(void) { unsigned int a, b; char buf[33]; /* for 32bit */ scanf("%d %d", &a, &b); dtob(a, buf); printf("%s\n", buf); dtob(b, buf); printf("%s\n", buf); printf("%d + %d = %d\n", a, b, a+b); printf("%d - %d = %d\n", a, b, a-b); printf("%d * %d = %d\n", a, b, a*b); b && printf("%d / %d = %d(%d)\n", a, b, a/b, a%b); return 0; }
- 937 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:17:33 ]
- >>929 やっつけなので、かなりアレだかけど、一応、課題は満たせると思う。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4748.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4749.c 使い方 1:4748と4749を同じディレクトリ内でコンパイルする。 さらに、同じディレクトリ内に、hogeという名前のファイルを作る。 2:端末を二つ立ち上げ、片方で4748を、もう片方で4749を実行する。 3:4748で2,3文字入力してエンターしたあと、4749で'x'以外で何か一文字入力してエンター 4:すると、4748で入力した文字列が4749のプログラムに出力される。
- 938 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:18:31 ]
- どなたか>>929を御願いします…
- 939 名前:938 mailto:sage [2007/07/26(木) 00:20:49 ]
- リロードし忘れorz
>>937のを試してみます ありがとうございました
- 940 名前:686 mailto:sage [2007/07/26(木) 00:26:12 ]
- >>702
sa-wiki.com/upload/src/up0151.txt >期限: ([2007年7月23日9:00まで] ) もうとっくに切れているし、必要ないかもしれませんが、一応作ったので 極力ソースの変更はしないようにしたつもりです コメントは入れてませんし、メモリの開放が失敗しているかもしれません 問題の「その後、木のノードからつながる住所データを表示する。」の意味が分からなかったので手を付けていません 素人(自分)がやったのできれいではありません
- 941 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:26:38 ]
- >>935
「同じ文字は二度も表示させない」ってのは何のこと? 「同じ単語は…」のことか?
- 942 名前:デフォルトの名無しさん [2007/07/26(木) 00:41:47 ]
- >>810
dataType* f(nodeType *p,int k) { int n=k; if(k<1)return NULL; if(p->left!=sentry)n-=(p->left->offspring+1); if(n==1)return &(p->data); if(n<1)return f(p->left,k); if(p->right!=sentry)return f(p->right,n-1); return NULL; } dataType* RBSTfindKth(int k){ return f(head,k); } 該当箇所にコピー,ヘッダにf()の宣言追加, メニュー文字列に5:find追加でおk
- 943 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 01:39:43 ]
- [1] 授業単元:プログラミング演習I
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4751.txt [3] 環境 [3.1] Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7/31まで [5] その他の制限:特になし 締め切り間近です。 どうか皆さんの力を貸してください。
- 944 名前:デフォルトの名無しさん [2007/07/26(木) 01:45:29 ]
- [1] 授業単元: プログラミング言語論
[2] 問題文: 読み込んだ分数を連分数として出力せよ。全ての分子が1になったときに連分数にする計算はとめればよい。 [3] 環境 [3.1] OS: Windows [3.3] 言語: C++ [4] 期限:明日(正確には今日)まで・・・ お願いします。
- 945 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 02:18:38 ]
- >>944
まず > 読み込んだ分数 っていう前提条件をよこせ
- 946 名前:944 [2007/07/26(木) 02:21:10 ]
- 問題があやふやですいません。
float a, b, c; std::cin >> a; std::cin >> b; c = a/b; 上記でいうcが読み込んだ分数です。 よろしくお願いします。
- 947 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 02:26:58 ]
- >>943
なんとなく lexico だけ #define lwstr(x) (isupper(x)?tolower(x):(x)) int lexico(char *a,char *b){ int i=0; while(*a && *b) i=lwstr(*a)-lwstr(*b),a++,b++; return i; }
- 948 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 02:33:59 ]
- >>943
ヒント・参考のとおりに書いたつもり くそーすだが kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4752.c
- 949 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 02:35:07 ]
- >>944
よりによってfloatか.微妙な誤差が出るかも 記法はwikiにならった #include <iostream> using namespace std; int main() { float A, B; cout << "input numerator (A in A/B)" << endl; cin >> A; cout << "input denominator (B in A/B)" << endl; cin >> B; if (A == 0) { cout << 0 << endl; } else if (B == 0) { cout << "error" << endl; } else { cout << "[" << (int)(A/B) << "; "; A = A-(int)(A/B)*B; while (A != 1) { if (B-(int)(B/A)*A == 0) { B /= A; break; } cout << (int)(B/A) << ", "; float w = A; A = B-(int)(B/A)*A; B = w; } cout << (int)B << "]" << endl; } }
- 950 名前:944 [2007/07/26(木) 02:46:42 ]
- >>949
ありがとうございます!このアルゴリズムを理解して寝ますwww 本当に助かりました☆
- 951 名前:948 mailto:sage [2007/07/26(木) 02:53:49 ]
- lexico関数の中の int k はいらないから消しといて><
- 952 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 05:58:29 ]
- クソースってのは俺が最初に使った言葉だ、一回使うたびに¢10徴収するニダ
- 953 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 06:38:34 ]
- どう考えてもブルドックソースのほうが先
- 954 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:04:59 ]
- んじゃブルドックソースに一部を納めるから、クソースを使うたびに¢50徴収する二ダ
- 955 名前:デフォルトの名無しさん [2007/07/26(木) 09:10:02 ]
- だれかクイックソートのフローチャートを図付きで詳しく説明してください
俺の頭じゃわかりません><
- 956 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:10:39 ]
- >>955 ¢50払え
- 957 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:11:48 ]
- >>955
www.google.co.jp/search?q=%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%BD%E3%83%BC%E3%83%88&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox
- 958 名前:デフォルトの名無しさん [2007/07/26(木) 09:21:14 ]
- ググってもわかりやすいフローチャートが出ないんだ(´・ω・`)
- 959 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:23:06 ]
- あれで理解できないなら諦めろ。所詮、才能の無い奴、理解力の無い奴は
一応学校の規定で単位はもらえるが、適切に行動が起こせないから困る。 今はなんだかんだ言ってもバカでも金で学歴が買える時代だしな。
- 960 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:40:50 ]
- >>955
要は再帰呼び出しが理解できないでハマってるんだろうけど フローチャートで書いてもそこんところは分かりやすくならんのよ
- 961 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:44:20 ]
- 寧ろ、フローチャートなんか使うから余計に理解しにくくなると思うんだが。
- 962 名前:デフォルトの名無しさん [2007/07/26(木) 13:56:20 ]
- トランプかなんかで、試してみれ
- 963 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:57:03 ]
- [1] 授業単元: C言語
[2] 問題文(含コード&リンク): ttp://s-io.mydns.jp/up/1/_/jump/1185417223.c/attatch PASS:c 四則演算のプログラムとして提出したのですがgets関数を使って書き換えろといわれ返されてしまいました 上のプログラムを元にして文字入力(取得)にgets関数を使った物を作ってください。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語:C言語 [4] 期限: 7月27日 [5] その他の制限: gets関数をつかっていればそれ以外には特に指定なし よろしくお願いします。
- 964 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:02:17 ]
- 教育目的とはいえ今時gets使えとかどこのアホ教授だ
- 965 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:36:12 ]
- >>963
void readch(void) /* 1文字を読む、空白は読み飛ばす */ { #if 0 do { if ((ch = getchar()) == EOF) return; } while (ch == ' ' || ch == '\t'); #else static char buf[1000]; static int index; if (index == 0) gets(buf); do { if ((ch = buf[index++]) == '\0') { ch = '\n'; return; } } while (ch == ' ' || ch == '\t'); #endif }
- 966 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:41:22 ]
- >>965
改悪にしかなってないのがwarosu 教官どんだけアホなのかと
- 967 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:45:15 ]
- >>965
ありがとうございます。 やっぱり無理に書き換えても無駄が増えるだけですよね・・・ 最初から新しく書き直したほうがいいんでしょうか?
- 968 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:47:15 ]
- 板谷だろ
- 969 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:52:53 ]
- >>967
どう書き直そうがgets()を使う限り改悪にしかならんから諦めろ (というかこのコードなら、例えfgets()であろうと同じことが言える)
- 970 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 15:26:16 ]
- [1] 授業単元:C++実習
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4720.txt プログラム問題文に沿って作ったものと、それに2つの要素を追加修正した 2つのプログラムの作成をお願いします。 [3] 環境 [3.1] OS: windows XP [3.2] visual studio 2005 [3.3] 言語: C++ [4] 期限: 2007/07/26 13:00まで [5] その他の制限: 特に無し よろしくお願いします
- 971 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:12:59 ]
- 投稿時すでに期限切れなのか
- 972 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:15:21 ]
- ほんとだwこれは新しいww
- 973 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:27:04 ]
- ごめんなさい、ごめんなさい。
>>970 の期限は [4] 期限: 2007/07/30 13:00まで です。 先生方、お願いしまつ。
- 974 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 17:32:00 ]
- [1] 授業単元:C言語
[2] 問題文 文字列が回文かどうか判定をするプログラムを作成せよ 実行例 文字列を入力してください。 abcdcba(Return) abcdcbaは回文です。 文字列を入力してください。 unko6yy6oknu(Return) unko6yy6oknuは回文です。 文字列を入力してください。 abcdefg(Return) abcdefgは回文ではありません。 [3] 環境 [3.1] Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7/30まで [5] その他の制限:特になし ポインタを使わなければいけないみたいですがさっぱり分かりません。 先生方、もしよろしければお助けください。お願いします。
- 975 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 17:58:32 ]
- >>974
pc11.2ch.net/test/read.cgi/tech/1184003625/598
- 976 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:12:28 ]
- >>974
釣りはとっとけこのクソッタレ野郎 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4758.c
- 977 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:15:23 ]
- ワザとやってんのかな
- 978 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:17:28 ]
- // >>974
#include <stdio.h> #include <string.h> #include <stdbool.h> bool isPalindrome(const char * word) { unsigned len = strlen(word); if (len == 0) return false; for (unsigned ic = 0; ic < len / 2; ++ic) { if (word[ic] != word[len - 1 - ic]) return false; } return true; } int main() { char buf[200]; scanf("%199[^\n]", buf); printf("%s is%s palindrome.\n", buf, isPalindrome(buf) ? "" : " not"); return 0; }
- 979 名前:974 mailto:sage [2007/07/26(木) 19:52:31 ]
- >>975
>>976 >>978 ありがとうございました
- 980 名前:943 mailto:sage [2007/07/26(木) 20:05:11 ]
- >>947
>>948 返事遅れてすいませんでした 明日実行してみます ありがとうございました
- 981 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 20:21:04 ]
- >>970
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4759.zip 問題文に沿って作ったものと、2つの各要素を個別に追加したもの計3ファイル 2つの要素を両方追加したファイルが必要なら自分で作ってくろ。
- 982 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:28:47 BE:94671252-2BP(12)]
- 次スレ立てました
C/C++の宿題を片付けます 94代目 pc11.2ch.net/test/read.cgi/tech/1185452895/
- 983 名前:プログラミング初心者 [2007/07/26(木) 22:18:40 ]
- >>936
ありがとうございます。 一度やってみましたがデバッグ後に何すればいいのかわかりません
- 984 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 22:27:32 ]
- とりあえず、分かるところまででいいから解読しようとしようよ。
- 985 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 23:11:17 ]
- >>935 同じディレクトリのwc_test.txtを読み込んで、単語数を数えて出力する。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4760.c
- 986 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:04:02 ]
- [1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): 以下の円周率を求めるプログラムに、 ニュートン法を適用し、加減乗算のみに書き換えなさい。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4761.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: 特になし [3.3] 言語: C [4] 期限: 2007年7月27日23:00まで [5] その他の制限: よろしくお願いします。
- 987 名前:デフォルトの名無しさん [2007/07/27(金) 00:33:50 ]
- [1] 授業単元: プログラム言語
[2] 問題文: 再帰関数を用いて以下のような三角形を印字せよ。 入力:3 * ** *** *の個数も印字せよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2007年7月23日22:00まで [5] その他の制限: forで以下のように作ったのですが、再帰の場合の書き方がわかりません。以下を再帰に書き換えるような形で作っていただけると、大変有り難いです。 よろしくお願い致します。 #include<stdio.h> int kazu(int n); main() { int a,b; scanf("%d",&a); b=kazu(a); } int kazu(int n) { int i,j; for(i=1;i<=n;i=i+1) { for(j=0;j<i;j=j+1) { printf("*"); } printf("\n"); } }
- 988 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:42:55 ]
- >>815
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4762.c 凝りに凝りまくったぜぇ 誰かに丸投げしたのが一目瞭然なほどにな 本当に丸投げスレは地獄だぜフウハァハー
- 989 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:47:56 ]
- >>987
#include<stdio.h> int kazu(int n); main() { int a,b; scanf("%d",&a); b=kazu(a); printf("%d\n",b);} int kazu(int n) { int i,j; if(n<1)return 0; j=kazu(n-1); for(i=0;i<n;i=i+1) { printf("*"); } printf("\n"); return j+n;}
- 990 名前:デフォルトの名無しさん [2007/07/27(金) 00:58:54 ]
- >989さん
どうもありがとうございます。 本当に助かりました。
- 991 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:07:29 ]
- おねがいします
[1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク): 空白または改行で区切られている単語だけからなる文章があるとする。 これを列は15文字以内(全角を1文字、半角は0.5文字とする) にして、最小の行に納めるようにせよ。 注意:単語の途中で改行をはさむことはできない。 (例) 123456789012345<-15文字分はここまで --------ここから----------------- 日本 中国 アメリカ インド フランス イタリア スペイン メキシコ ドイツ カナダ イギリス スイス サウジアラビア 南アフリカ共和国 ブラジル --------ここまで---------------- (実行結果) 日本 中国 アメリカ インド フランス イタリア スペイン メキシコ ドイツ カナダ イギリス スイス サウジアラビア 南アフリカ共和国 ブラジル [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン: gcc2.95-3 [3.3] 言語: C [4] 期限: 8月1日 [5] その他の制限: 無制限(授業でならっていないものでも、自分で勉強して理解したのなら何をつかってもいい)
- 992 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:10:50 ]
- 丸投げってことは何も使っちゃ駄目ってことか・・・
- 993 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:24:04 ]
- >>991
面白そうな問題だ。ちょっと時間がないんで解けないが・・・ これってナップサック問題っていうんだっけ? あれみたいな感じで、入力内容によっては全パターン検索 しようとしたら膨大な時間になりそうな風に感じるんだが。 そういうの詳しい人いない?
- 994 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:33:03 ]
- ナップサックというより組み合わせ計画問題。
グリーディ法でいけそうな問題だね。めんどくさそうだけど
- 995 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 03:03:10 ]
- >>935
#include<iostream> #include<string> #include<vector> using namespace std; int main(void){ vector<string> v; string word; int i; while(1){ cin >> word; if(cin.eof() || cin.fail()) break; for(i=0;i<v.size();i++){ if(v[i]==word) break; } if(i>=v.size()) v.push_back(word); } for(i=0;i<v.size();i++){ cout << v[i] << "," << v[i].size() << " "; } cout << endl; return 0; }
- 996 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 04:18:53 ]
- #include <iostream>
#include <set> #include <string> int main( int argc, char ** argv ) { typedef std::set< std::string > dict_t; dict_t wc; while ( 1 ) { std::string word; std::cin >> word; if ( std::cin.eof() || std::cin.fail() ) break; wc.insert( word ); } for ( dict_t::iterator it = wc.begin(); it != wc.end(); it++ ) std::cout << *it << ", " << it->length() << " "; std::cout << std::endl; return 0; } set<> なり,map<> なりじゃなきゃ遅くてどうしようもないだろうに
- 997 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:13:33 ]
- >>988
指定にgets使わないといけないとか言ってクレームした出題者がいるから それもgets使わないといけないと思われ。
- 998 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:51:42 ]
- >>991
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4773.c 全角半角の判定のために非標準の関数wcwidthを使った。
- 999 名前:998 mailto:sage [2007/07/27(金) 08:54:04 ]
- >if(feof(stdin) || ferror(stdin))
> break; これは消し忘れ。
- 1000 名前: ◆mM9WALL8Ws [2007/07/27(金) 08:54:13 ]
- 1000GET
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|