- 1 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 03:01:54 ]
- あなたが解けない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++の宿題を片付けます 99代目 pc11.2ch.net/test/read.cgi/tech/1194262698/
- 54 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:53:46 ]
- ポインタの値が常に偶数だという仮定を置ければ復元もできそうだ。
どっちにしても一時的に木を変形する必要はあるけど。
- 55 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 14:57:41 ]
- 削除の変わりに最下位ビットを立てるとかだね。
あと十分大きな値を足しておくとかでも大丈夫。 まあ計算モデルを仮定しなきゃいけないから綺麗じゃないが。
- 56 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 15:18:39 ]
- >>38
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5321.cpp C++を勉強中の俺がためしに書いてみた ツッコミ歓迎
- 57 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 15:26:59 ]
- Providerクラスが抽象クラスになってなくね?
- 58 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 15:27:14 ]
- >>56
いつのC++を使ってるの?VC6かい? newは失敗するとnothrowバージョンでない限りstd::bad_alloc例外を 返し、NULLとか0は返しません。14882:2003
- 59 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 16:38:03 ]
- >>56
そのコードでは、派生クラスのデスクトラクタが実行されないよ
- 60 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 17:48:39 ]
- >>47
生産管理のアルゴリズムって、5つくらい前のスレにあったやつじゃダメなのか?
- 61 名前:56 mailto:sage [2007/11/23(金) 18:09:02 ]
- いまここで
抽象クラスの定義方法知った。 newとmallocの違いを知った。 デストラクタをちゃんと記述しないといけないことを知った。 ・・・まだまだ勉強が足りないようで ツッコミありがとう
- 62 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 18:43:13 ]
- >>56, 61
全くもって技術的な話ではないが virtual double cale(double a){} は綴りが微妙
- 63 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 18:51:23 ]
- >>23
親頂点に帰れるポインタがあれば、直前にいたポインタと比較することで定数メモリで木を周回できるはずだけど。 直前に親頂点にいたら、左の子供頂点に行く。 直前に左の子供頂点にいたら、自分の key を表示して、右の子供頂点に行く。 直前に右の子供頂点にいたら、親頂点に行く。 あとは親頂点親頂点に戻る方法を考えればいいんだけど。 毎回根から今の頂点を探すってできない気がするんだけど、どうなんだろう?
- 64 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:14:40 ]
- ポインタの付け替え(pointer reversalっていうらしい)を使えば巡回自体はできるんだけど、
そのままだと各節点を3回ずつ表示してしまう。
- 65 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:36:42 ]
- そりゃ単にやり方が悪いだけだ
- 66 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:50:42 ]
- [1]授業単元:Cプログラミング入門
[2]問題文:π(=3.14159265)を用いて入力された数値εに対して 次の不等式を満たす最小の自然数Nを求めるプログラム をつくりなさい。 |(π^2/6)-{(k=1 N)1/k^2}|<ε [3]環境 [3.1]OS:Unix [3.2]コンパイラ名とバージョン:gcc [3.3]言語:C [4]期限11/24まで [5]その他の制限 ・配列、数学関数は使ってはいけない ・表示は以下のようにする εの値が: 最小のNは . まったくわからないのでどうかお願いいたします。
- 67 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 19:51:15 ]
- >>65
じゃあどうすれば良い?
- 68 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 21:24:59 ]
- >>23
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5322.c 貼ってから気付いたけど、なぜか<malloc.h>をincludeしてるので無視してくれ。 ポインタの付け替えで一時的に木を変形する。子が両方ともNULLであるノードを 一時領域として使う。 10万件のランダムテストに合格したから多分合ってる。
- 69 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 21:58:13 ]
- >>61
>>59だが >デストラクタをちゃんと記述しないといけないことを知った。 ~Provider(){} //デストラクタは書いてますやん 俺が言いたかったのは、その書き方が間違いだってことだよ 「知った」ではなくなぜそうなのか理解できてないと、後で苦しむよ Effective C++ 第3版の7項にきちんと、俺が指摘した理由が説明されている。 図書館で借りるか、本屋で立ち読みしてごらん。 さすがメイヤー先生、初学者が犯しやすい間違いをズバリ書いているので びっくりした。 偉そうにかいてごめんね、ガンガッテ
- 70 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:06:45 ]
- >>61
大ヒント : 仮想関数を持つならばデストラクタは仮想にすべき
- 71 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:08:49 ]
- >>70
Javaの @Override アノテーションとかあればいいのにな
- 72 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:33:15 ]
- >>66
ttp://pc11.2ch.net/test/read.cgi/tech/1194262698/962 ttp://pc11.2ch.net/test/read.cgi/tech/1194262698/971
- 73 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:34:37 ]
- うざいわ。
baseクラスのデストラクタはvirtualにしとけ、でいいじゃん。
- 74 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 22:41:55 ]
- C++にはその名のとおりの必殺技 "死のダイヤモンド" が存在するからなぁ……
- 75 名前: ◆S2Crp49aOM [2007/11/23(金) 22:52:04 ]
- [1] 授業単元:プログラミング1
[2] 問題文(含コード&リンク): 1〜10000の範囲の乱数値を持つ要素数10000の配列から、キーボードで入力した1〜10000値を探索し、 同じ値をもつ配列要素の数を表示するプログラムを二分探索を用いて作成せよ。 [3] 環境 [3.1] O:Linux [3.3] 言語:C [4] 期限: 2007年11月24日01:30まで [5] その他の制限:
- 76 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:00:03 ]
- >>75
あと二時間半www
- 77 名前:デフォルトの名無しさん [2007/11/23(金) 23:15:25 ]
- [1] 授業単元:明解C++
[2] 問題文(含コード&リンク):演習10-2 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:.net 2003 [3.3] 言語:C++ [4] 期限:無期限 [5] その他の制限:明解C++で独学しています。単純なクラス作成まで終了。最後の演習問題でつまずいています。
- 78 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:15:31 ]
- >>73
こういう鵜呑みにしているヤツに限って肝心な箇所があやふやなんだよなぁ オレの職場にもこういうヤツが一人いたよ
- 79 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:17:04 ]
- >>77
「明解C++」の演習10-2だと思われる。 でも、その本を持っていない人間には問題すら分からない。
- 80 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:19:40 ]
- >>78
お前のようなうざい奴はどこにでもいるけどな
- 81 名前: ◆S2Crp49aOM mailto:sage [2007/11/23(金) 23:23:32 ]
- >>75
[4] 期限: 2007年11月24日11:30まで 打ち間違えました。 申し訳ないです。
- 82 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:24:25 ]
- 80=73
図星なので○け犬の遠吠え
- 83 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:28:06 ]
- うざい上に粘着質
- 84 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:28:09 ]
- その本に答えないの?
- 85 名前:77 mailto:sage [2007/11/23(金) 23:32:00 ]
- >>84
ありません。
- 86 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:34:46 ]
- >>85
問題書く気はないの?
- 87 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:35:50 ]
- 問題を書くのは著作権的にどうよ?
- 88 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:37:58 ]
- 学校で先生が出題する問題にも著作権は発生するんだが……。
- 89 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:38:19 ]
- つーか、宿題じゃないでしょ、それ。
- 90 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:40:27 ]
- 教科書に市販品使うなんて珍しくもない
- 91 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:40:55 ]
- >>88
著者人格権はあるけど学校の課題なんだkら複製権くらいあるだろ
- 92 名前:デフォルトの名無しさん [2007/11/23(金) 23:42:16 ]
- >>79
クラスDate第2版に抽出子を追加せよ。 問題の意味もいまいちわからなくて考えられることは 1.抽出子の定義(演算子>>の多重定義)を使用してDateオブジェクトを作成する。 2.抽出子の定義(演算子>>の多重定義)を使用してDateオブジェクトの内容を変更する。 だと思います。 しかし、わたしにはどちらであっても解答がわかりません。 クラスDate第2版ソース kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5323.txt
- 93 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:42:50 ]
- 著作権=COPY RIGHT=複製権
- 94 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 23:44:05 ]
- イコールじゃないよ
- 95 名前:77 [2007/11/23(金) 23:44:13 ]
- >>86
>>92に問題を書きました。 よろしくお願いします。
- 96 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:48:36 ]
- >>91
学校の課題なら特別扱いされるという根拠は?
- 97 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:52:40 ]
- >>96
先生=著者
- 98 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:58:29 ]
- 2
- 99 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:59:03 ]
- 1
- 100 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:59:42 ]
- お前ら著作権法くらい読めよ
プログラミングに関係の深い法律だぞ
- 101 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 00:59:43 ]
- ▃▅▆▇██▇▅▃
█ ████████▆ █ ████████ ▃▂ ▓▓▓▓▓▓▓▓▓ ▀██▇███████████▇▅ ▼▀█▀██▀▀▀▀■█■▀ ▍ ▋ ▲▃ ▀▅▃▌ ▌▌ ▐◣ ▐▂▅▀ ▀▅▃▀█ ▍▍ ▐▃▀▂▃◢◤ ◥◣▃▂▌ ▎▌ ◥▋ ▐◥▃▆◤ ◥▃▆◤▍ ▋ ▊ ▐◣ ◢▌ ▼ ◢▀▌▀◣ ▆▅ ▃▲ ▋ ▼ ▀▇◣▃◢▇▀ ▼ ▂▃◢◤▀ ▃▅▃▅▃▅ ▐▲▃ ▅▀ ▌▌ ▀█ ◢████▅▀▅▀▋▐▅▀▼ ▅█████ ▊ ▊ ▌
- 102 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:00:30 ]
- >>97
先生が著作者だから実質的な問題は発生しないと言いたいわけか 複製権関係ねぇ
- 103 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:08:01 ]
- >>72 同志がいたのか・・。
参考にさせていただきます。 ありがとうございました。
- 104 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:39:30 ]
- つうか教育目的の場合、著作権は無視されるんじゃなかったか?
- 105 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:47:47 ]
- 三十五条のことか?
- 106 名前:デフォルトの名無しさん [2007/11/24(土) 01:56:19 ]
- >>75
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5324.c
- 107 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 01:59:13 ]
- >>104
小学校の教科書だか教材に使われてた詩が、著作権者がクレームつけて使えなくなったって話は聞いたことがあるけど。
- 108 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 02:12:50 ]
- >>104
それは三十三条のことか?
- 109 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 03:00:43 ]
- ここって教育の場なん?
- 110 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 03:03:26 ]
- うん
- 111 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 03:26:56 ]
- 丸投げスレも出世したもんだな
- 112 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 04:05:52 ]
- でしょ
- 113 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 11:12:58 ]
- >>77
>>95 少し、もちつけ コードだけ貼って、問題が全然ナイジャマイカ モマイの貼った↓ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5323.txt これを、どうしろというんだ? エスパー君だったら分かるのかな? 漏れには全然理解できん
- 114 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 13:43:11 ]
- >>77
エスパー ostream& operator<<(ostream& s, const Date& x); を ostream& operator<<(ostream& s, const Date& x){s << x.Year() << x.Month() << x.Day();return s;} こう?
- 115 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 14:52:56 ]
- 1] 授業単元:コンピュータプログラミング1
[2] 問題文:CD−Rは1枚〜10枚で1枚が100円、11枚から100枚で1枚が90円、101枚以上で1枚が70円とする。 枚数nに対する金額を計算するプログラムを作成しなさい。終了時にはCtrl+Z(Enter)と入力する。 [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン:Fujitsu Fortran & C [3.3] 言語: C [4] 期限: 11/24 [5] その他の制限: なし どうかよろしくお願いします。
- 116 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 15:07:13 ]
- [1] 授業単元: システム解析
[2] 問題文(含コード&リンク):2変数非線形連立方程式の解を求めるnewton-rapson法のプログラムを作成し以下の問題を解け @x^2+y^2-8=0 と x+y=0 で初期点(x(x0),y(y0))∈[-4,-4]×[4,4]を10000個とり、初期点に対する収束値の関係を2次元で図示する。 収束値の関係の座標を出すこと。 Ax^3-3xy^2-8=0 と x^3-3x^2y=0 で初期点(x(x0),y(y0))∈[-1/2,-1/2]×[1/2,1/2]を10000個以上(百万個程度を推奨する)とり、初期点に対する収束値の関係を2次元で図示する。 収束値の関係の座標を出すこと。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: ([2007年11月25日23:00まで] [5]その他:^は累乗を示します。たとえば、x*x=x^2です。 2問ありますが、一問だけでもといていただけると助かります。2変数ということで手も足もでません、、、 よろしくお願いします。
- 117 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 15:27:56 ]
- >>115
#include <stdio.h> int main() { int i,n,price,pricelist[]={1,10,100, 11,100,90, 101,2147483647, 70}; while (scanf("%d", &n) != EOF) { for (i=0 ; i<3 ; i++) { if (pricelist[i*3]<=n && pricelist[i*3+1]>=n) { price=pricelist[i*3+2]*n; printf("%d円\n", price); } } } return 0; }
- 118 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 16:07:51 ]
- >>22
ありがとうございます。 やってみます。
- 119 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 17:11:28 ]
- [1] 授業単元:C++実習
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5325.txt [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C++ [4] 期限: 11/26 〜10:00 [5] その他の制限: 特になし よろしくお願いします。
- 120 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 17:24:42 ]
- >>117
ぎりぎり間に合いました。本当にありがとうございます。
- 121 名前:デフォルトの名無しさん mailto:sage [2007/11/24(土) 20:02:02 ]
- >>118
>>22じゃないけど #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int i; srand(time(NULL)); for(i =0; i<10; i++) printf("%d\n", (int)(rand()%100)); }
- 122 名前:デフォルトの名無しさん [2007/11/24(土) 23:17:48 ]
- >>119
当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5326.txt
- 123 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 00:28:38 ]
- >>122
ここまで問題を無視できるのもすばらしい.
- 124 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 00:46:51 ]
- www.nicovideo.jp/watch/sm1600272
これだな
- 125 名前:26 [2007/11/25(日) 01:02:17 ]
- >>34
ありがとうございました。
- 126 名前:デフォルトの名無しさん [2007/11/25(日) 01:38:31 ]
- >>5
>>8 どなたかお願いします。
- 127 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 01:57:17 ]
- >>126
#include <stdio.h> typedef struct grade{ char name[40]; int score; struct grade *next; }glist; int main(void){ glist header={"", 0, NULL}, node[3], *p; int i; p = &header; for(i=0; i<3; i++){ printf("name->"); scanf("%s", node[i].name); printf("score->"); scanf("%d", &node[i].score); node[i].next = NULL; p->next = &node[i]; p = p->next; } p = header.next; while(p != NULL){ printf("p->name \t%s\n", p->name); printf("p->score\t%d\n", p->score); printf("p->next \t%p\n", p->next); p = p->next; } return 0; }
- 128 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 02:51:10 ]
- [1] コンピュータ実験
[2]あるファイル(※)を読み込み、数列の中の0の個数と1の個数、 数列の周期を求めるプログラムを作成せよ。 ※ファイルの中身は0と1の文字が約20万文字と、改行文字\nで終わるものである。 文字列を01の数列としてみたとき、2周期以上の周期系列となっているのがわかっている。 ファイルに保存されている数字は文字として保存されているので、-'0'をして文字から数字に変換すること。 ファイル名は任意(○○.dat)でよい。 [3] 環境 [3.1]Windows XP [3.2]gcc [3.3]C [4] 2007年11月26日(月)12:00まで [5] 0と1が書いてあるファイルを用意できないのですが出来ますでしょうか? よろしくお願いいたします。
- 129 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 05:38:26 ]
- >>122
ありがとうございます ですが、ええええ!?
- 130 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 05:52:16 ]
- >>128
3,4個でいいから、入力データの性質を簡単に全て現したサンプルくらい書けるだろ かけなきゃまずは問題を理解してここに投下しろ
- 131 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 07:54:28 ]
- >>128
まずファイルをてきとーに作る #include <stdio.h> #include <stdlib.h> #include <math.h> #define SIZE 20*10000 #define WAVLEN_MAX 10000 int main() { int p,t,i,m,n,s=SIZE; char *buf,fname[]="test.dat"; FILE *fp; srand(time(NULL)); t = (double)rand()/(RAND_MAX+1)*WAVLEN_MAX+1; p = (double)rand()/(RAND_MAX+1)*t; buf = (char*)malloc(t); m=0;for(i=0;i<t;i++){buf[i] = rand()&1;m+=buf[i];} if((fp=fopen(fname,"wt"))==NULL)exit(1); n=0;for(i=0;i<s;i++){fprintf(fp,"%d",buf[(p+i)%t]);n+=buf[(p+i)%t];} fprintf(fp,"\n"); fclose(fp); free(buf); printf("Total = %d (0:%d 1:%d) / T = %d (0:%d 1:%d)\n",s,s-n,n,t,t-m,m,p); return 0; }
- 132 名前:131 mailto:sage [2007/11/25(日) 08:01:02 ]
- >>128
次に作ったファイルを読み込んで処理する #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int main() { long s,t,i,m,n,*tbl; char *buf,fname[]="test.dat"; FILE *fp; if((fp=fopen(fname,"rt"))==NULL)exit(1); fseek(fp,0,SEEK_END);s=ftell(fp);fseek(fp,0,SEEK_SET); if((buf=(char*)malloc(s))==NULL)exit(1); for(s=0;(m=fgetc(fp))>='0';s++) buf[s]=m-'0'; fclose(fp); tbl=(long*)malloc(s/2*sizeof(long)); tbl[0]=tbl[1]=0; for(t=2;t<s/2;t++){ tbl[t]=0; for(i=t;i<s-t;i++) tbl[t]+=buf[i] & buf[i+t]; } n=0;for(i=0;i<s;i++)n+=buf[i]; m=0;for(i=0;i<s/2;i++)if(tbl[i]>m){m=tbl[i];t=i;} m=0;for(i=t;i<t*2;i++)m+=buf[i]; free(tbl);free(buf); printf("Total = %d (0:%d 1:%d) / T = %d (0:%d 1:%d)\n",s,s-n,n,t,t-m,m); return 0; }
- 133 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 09:50:24 ]
- >>5
#include<stdio.h> #include<stdlib.h> #include<malloc.h> typedef struct grade { char name[40]; int score; struct grade *next; } glist; glist *cons(glist car, glist *cdr) { glist *l; if( (l = malloc(sizeof(glist))) == NULL ) exit( EXIT_FAILURE ); sprintf(l->name, car.name); l->score = car.score; l->next = cdr; return l; } void printList(glist *ptr) { if(ptr == NULL) return; printf("p->name \t%s\n", ptr->name); printf("p->score\t%d\n", ptr->score); printf("p->next \t%p\n", ptr->next); printList(ptr->next); return; }
- 134 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 09:51:38 ]
- つづき
int main(void) { glist a,b; glist *ptr; sprintf(a.name, "dummy"); a.score = -1; sprintf(b.name, "tsubasa"); b.score = 60; ptr = cons(b, NULL); ptr = cons(a, ptr); printList(ptr); return 0; }
- 135 名前:128 mailto:sage [2007/11/25(日) 11:00:53 ]
- >>130>>131
よく読みなおしたら日本語おかしかった。ごめんなさい。 ファイルはもう.datファイルであるんですが、そこから0と1の数を数えて、 周期探し出すのがわからんのです。 お手数おかけしてすいません。
- 136 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 11:26:28 ]
- そのファイルがなければ探しようがないよ
- 137 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 11:30:02 ]
- >>135
圧縮したら対してサイズおおきくならないからうp
- 138 名前:デフォルトの名無しさん [2007/11/25(日) 11:51:20 ]
- [1] 授業単元プログラミングU
[2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5327.txt [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C言語 [4] 期限: 11/26 [5] その他の制限: 特になし
- 139 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:29:50 ]
- >>138
なんであだちゆみ?
- 140 名前:デフォルトの名無しさん [2007/11/25(日) 12:31:40 ]
- [1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 直交座標系の2点A, B のx 座標とy 座標をキーボードから入力し, 三角形OAB の面積を求めるプログラムを作成せよ.ただし点O は 原点(0, 0) とする. 点の名前,x 座標,y 座標を構造体のメンバとせよ. ポインタによる表現を使うこと. 面積を求めるには以下の公式を使うこと. 2点A (x1, y1),B (x2, y2) に対して,三角形の面積S は S =1/2|x1*y2 - x2*y1| [3] 環境 [3.1] OS:Unix [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: Cのみ [4] 期限: 2007/11/26 18:00 よろしくお願いします。
- 141 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:33:55 ]
- >>138
#include <stdio.h> #include <string.h> #define USER 5 #define NAME 100 int main() { int c,i,found=0; char m[NAME],n[NAME]; char a_name[USER][NAME]={"Takeuchi Yuko", "Yada Akiko", "Ogura Yuko", "Adachi Yumi", "Yumi Adachi"}; /* 登録済みのユーザのリスト */ /* ここにプログラムを書く */ while(1){ do{ printf("検索?(Y or N):"); fflush(stdin); }while((c=getchar())!='y'&&c!='Y'&&c!='n'&&c!='N'); if(c=='n'||c=='N') break; printf("名字:"); scanf("%s",m); printf("名前:"); scanf("%s",n);
- 142 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:34:27 ]
- >>140の続き
for(i=0;i<USER;i++){ if(strstr(a_name[i],m)!=NULL&&strstr(a_name[i],n)!=NULL){ printf("Hit! User#%d:[%s]\n",i,a_name[i]); found++; } } if(found==0) printf("入力されたユーザは登録されていません。\n"); else printf("%d件ユーザが見つかりました。\n",found); found=0; } printf("検索を終わります。\n"); return 0; }
- 143 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:35:02 ]
- >>142は>>141の続きの間違い。
- 144 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:53:33 ]
- >>138
>プログラミングU 進化したプログラミングか
- 145 名前:デフォルトの名無しさん [2007/11/25(日) 14:28:59 ]
- [1] 授業単元:暗号理論
[2] 問題文(含コード&リンク): 素数p.qに対してn=p*qが与えられている。 中国人剰余定理を応用して 任意のCとdに対して、modnでのC^dを求めるプログラムを作成せよ。 ヒント C^d mod n ≡ (C^d mod p,C^d mod q) [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 明後日 [5] その他の制限:ポインタは習ってない お願いします。
- 146 名前:128 mailto:sage [2007/11/25(日) 15:00:08 ]
- >>136>>137
圧縮してupすれば大丈夫でしたね・・・。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5328.zip この中の0と1の個数と、数列の周期を求めるプログラムをお願いします。
- 147 名前:コーンポタージュ [2007/11/25(日) 16:21:51 ]
- 【質問テンプレ】
[1] 授業単元:グラフ彩色問題 [2] 問題文 [2.1]グラフ彩色問題に対する近似解法SEQを作成せよ [2.2].頂点を次数の降順にソートした後にSEQを適用するプログラムを作成せよ [2.3]グラフ彩色問題に対する近似解法RLFを作成せよ ※検索エンジンで“グラフ彩色問題 SEQ”と入力して頂ければ、更に理解が深まるページが見つかるかと思います。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:2007年12月7日 [5] その他の制限:特にありません。 よろしくお願いします。
- 148 名前:もりもっこり [2007/11/25(日) 16:32:38 ]
- 基本的なプログラムだと思うのですが、自分でやってみてもうまくいきません。また他にも課題が多く、非常に困っています。詳しい方よろしくお願いします。
1.数値を順番に読み込んで二次元の配列に格納する。 2.その配列を画面に出力する。 3.次に、2つの整数を読み込む。 4.二次元配列のうち、読み込んだ整数に対応する二つの行(あるいは列)の内容を交換する。 配列の内容を画面に出力する。 5.配列の読み込み、交換、出力はそれぞれ関数にすること。
- 149 名前:KSCN [2007/11/25(日) 16:41:11 ]
- Mathematica でグラフを描き、EPS 形式で保存する。LaTeX を使ってレポートを作成してその中にグラフを挿入し、PDF ファイルに変換したものを提出すること。
っていう課題がでたのですが質問の意味からわかりません。どなたか質問の意味だけでも教えてください。
- 150 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 16:43:43 ]
- どうでもいいけど、名前を出す人の方が少ないんだから別人に見せようとしても逆効果だぞ
- 151 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 16:49:49 ]
- >>149
つwww.google.co.jp/
- 152 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 16:50:15 ]
- >>149
何がわからないのかがわからない。 1.クラスで使っているMathematicaというソフトを使って数式を処理してグラフ表示、グラフの画像をEPS形式のファイルに保存。 2.いつもやっているようにLatexでレポート作成。EPS形式ファイルの埋め込みに関しては、配布したテキストを参照の事。 3.pdflatexをつかってPDF形式のファイルを出力。 一通り説明されてるはずなのに、なんで分からないとか言ってんの? ずっとサボってたのか?
- 153 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 18:01:02 ]
- >>145
マルチ?( science6.2ch.net/test/read.cgi/math/1195081289/156 )
- 154 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 18:24:20 ]
- >>128 >>146
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5329.c 結果があってるかはわからんよ。 あと、文字列を数列に直すのは無駄だったから省略しちゃった。 どうしても直したければ、適当にやってくんろ。
|

|