1 名前:デフォルトの名無しさん [2010/08/01(日) 18:01: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++の宿題片付けます 138代目 pc12.2ch.net/test/read.cgi/tech/1279286575/
2 名前:デフォルトの名無しさん [2010/08/01(日) 18:07:04 ] > 気に入らない質問やその他の発言はスルーの方向で。 これが理解できない精神レベルの低いお子ちゃまが多いですね。 回答者のレベルが低いこともあって、このスレ痛すぎ
3 名前:デフォルトの名無しさん mailto:sage [2010/08/01(日) 18:10:48 ] バブーならスルーすればいいでちゅー
4 名前:デフォルトの名無しさん mailto:sage [2010/08/01(日) 18:57:08 ] 磯の話は良いから、とっとと課題を回答しろや、引きこもりニートw
5 名前:デフォルトの名無しさん mailto:sage [2010/08/01(日) 18:59:15 ] 最近のアイちゃんはヒトと議論ができるまで成長したんだな ノイズが多すぎるから誰か未解決の問題まとめてくれ
6 名前: ◆QZaw55cn4c mailto:sage [2010/08/01(日) 19:13:28 ] >>5 pc12.2ch.net/test/read.cgi/tech/1279286575/955 pc12.2ch.net/test/read.cgi/tech/1279286575/735 pc12.2ch.net/test/read.cgi/tech/1279286575/931 にヒントあり。 pc12.2ch.net/test/read.cgi/tech/1279286575/926 pc12.2ch.net/test/read.cgi/tech/1279286575/718 pc12.2ch.net/test/read.cgi/tech/1279286575/724 pc12.2ch.net/test/read.cgi/tech/1279286575/727 こんなところでしょうか。
7 名前:デフォルトの名無しさん mailto:sage [2010/08/01(日) 19:27:35 ] 学校の課題で使われているC言語は何も個人的なものではありません。 普通に世に出回っている製品で使われていることもありますよ。 だから世界的な標準規格の話も出てくる。そもそも、自分が日頃使っている 電子機器だって、チップや基板、固定に使われているネジにしろISO準拠の 規格のものを普通に見かけるんだが?いかに自分が既成の共通したものを 使っているかという自覚が無いか、思い知っただろ。視野が狭すぎ。 そこまでゴネるなら、大きな組織になって独自の仕様でも世界に押し付けたら? まずより多くの人が認めてくれないだろうから、採用されずに廃れるだろうね。 たとえゲーム会社が独自のゲーム機を開発しようが、出力するモニタだって 特別なものでもなかろう。任天堂のDSはPSPみたいに外部出力は出来ないがw
8 名前:デフォルトの名無しさん [2010/08/01(日) 20:27:32 ] 前スレにも書きましたが、お願いします。 [1] 授業単元:プログラム演習 [2] 問題文(含コード&リンク): 以下のデータは、ある病気にかかっている患者のグループ(罹患者グループ)と健常者のグループ各30名に対して、ある二種類の検査をした結果を表している。 罹患者グループ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10900.txt 健常者グループ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10901.txt さて、この人たちとは異なる20名の人たちが同じ検査を行い、以下のようなデータが得られた(検査データと呼ぶ)。 これらの20名の人たちが病気にかかっているかどうかを判断するプログラムを作成しなさい。 検査データ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10902.txt 各グループのデータと検査データの入力はファイルから行うものとし、出力は、各検査データを前から順に一人ずつ判断して結果を標準出力(ターミナル)に表示するよう実装すること。 どのような基準で、病気にかかっている/かかっていないを判断したかを、プログラム中のコメントで説明しなさい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年8月3日まで [5] その他の制限:特にないです。よろしくお願いいたします。
9 名前:デフォルトの名無しさん mailto:sage [2010/08/01(日) 20:31:04 ] >>8 統計すら分からない医者にかかりたくないから 遠慮なく留年してくれ
10 名前:デフォルトの名無しさん mailto:sage [2010/08/01(日) 22:52:50 ] 今やC言語解釈処理系(コンパイラ)メーカーはNIXコミュニティなど C言語文法に強い影響を与える人たちの意向よりも、 CPUメーカーの意向のほうに影響されやすいことは否めません。 数多あるプロセッサに出来るだけ広く対応し、また対応を せざるを得ないC言語のおかれた特殊な歴史と深い関係がある話 になってきます。 ただCPUメーカーや関連ハードウェア規格には*NIXを中心とした 分散端末システム業界は非常に強い影響力を与えている筈なので 頭から否定すべきことであるとも言い切れません。
11 名前: ◆QZaw55cn4c mailto:sage [2010/08/02(月) 00:06:41 ] pc12.2ch.net/test/read.cgi/tech/1279286575/926 codepad.org/7vZASstY >>7 申し訳ないのですが、お説はあなたに言われるまでもなく、よく理解しています。 こちらとしては、 pc12.2ch.net/test/read.cgi/tech/1279286575/935 pc12.2ch.net/test/read.cgi/tech/1279286575/939 等で私見とはいえ理を尽くして述べたのですが、あなたはすこしも私の意見を理解・判定しようとせず、一方的にわかりきったことを羅列することしかできないようですね。 まあいいですけどね。この件はスルーできなかった私にも問題がありますから、よしとしましょう。 あと、 pc12.2ch.net/test/read.cgi/tech/1279286575/721 は根本的にまちがっていることを pc12.2ch.net/test/read.cgi/tech/1279286575/726 で詳しく説明しておきましたからよく読んでくださいね。
12 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 00:09:05 ] どっちもうざいから他所いってやれよ 日本語の読めなさレベルも同程度なんだし
13 名前: ◆QZaw55cn4c mailto:sage [2010/08/02(月) 00:13:42 ] 失礼。固有値を求める問題でしたか。>>11 は行列式をもとめてますので全く違いますね。すててください。
14 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 00:15:00 ] [1] 授業単元: C言語入門 [2] 問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10906.txt [3.1] OS:Windows [3.2] VC 6.0 [3.3] 言語:C [4] 期限:なし [5] 制限:void main(void)を使用すること void main( int argc, char *argv[], char *env[] )等は禁止 以前もお世話になりました いまいちどよろしくお願いいたします
15 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 00:19:20 ] void main()void
16 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 00:24:04 ] >>14 の問題の制限は、>>14 自身に与えられた制限であり 代行者のコードを書き写す時に>>14 がそれを実行すべきと 認定されました。よって代行者の方はそれを守る必要は ありません。(守っても構いませんが)
17 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 00:26:50 ] 敢えて void main と指定するとか意味不明だわ。意地でも回答側は int main (void) { return int型; } と書いて抵抗してやれw
18 名前:デフォルトの名無しさん [2010/08/02(月) 02:22:19 ] 課題の中でアルゴリズムに直接関わるものでもない void main指定とか、どこの学校だ?講師がバカ過ぎ。 どうせこのスレを見て、自分のスタイルが否定されてムキになったバカ講師が おかしな制限をつけて課題を出したんだろうけど。 低レベルな生徒しか卒業しないから、ブラックリスト入り決定だから そんな課題を出した学校名を教えてくれ。
19 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 03:11:59 ] いやあ、生徒が今まで習ったvoid main(void)で提出したいのに int main(void)と書かれたら困るからと、勝手につけた制限かもしれないよ。 そんなんで悩むなよと思わなくもないし、この問題でargc argv envpを使う用途がないだろ。
20 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 04:48:31 ] 昔のソースコード、そのまま通してくるとありがたいよね。 多分枯れてるから、バグは無いと覆うお 新しく書き起こすソースは、チェックしてくれると助かるよね。 人間、本人が思っているほど完璧ではないしね。
21 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 05:06:40 ] もう10数年前に授業でC言語を学んだが、void mainと書いてたなぁ。 ttp://oshiete.goo.ne.jp/qa/2445252.html ↑でも質問をする人がいるが、色々と説がある。 まぁこのスレではもう解決済みだがね。あくまでも 標準スタイルでの条件付で。
22 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 05:20:54 ] >main関数の戻り値をコマンドプロンプトやシェルスクリプトが利用しますので って書かれているけど、具体的に何に使ってるの? void mainって書いててもイマイチ何も変わらないから分からんorz
23 名前:デフォルトの名無しさん [2010/08/02(月) 06:25:25 ] 低レベルな講師による幼稚な問題を出題して 自分で答える自作自演の始まりです!
24 名前:デフォルトの名無しさん [2010/08/02(月) 07:20:33 ] >>8 をお願いします。 ちなみに医者にはなりません。
25 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 11:21:27 ] >>21 その後10数年Cは触ってないの? >>22 成功したかどうかを判断するのに使う
26 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 11:23:38 ] >>24 「どのような基準で、病気にかかっている/かかっていないを判断」 これについてはどう考えてるの?丸投げ?
27 名前:デフォルトの名無しさん [2010/08/02(月) 11:24:05 ] 前スレ697です >>699 さんありがとうございました
28 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 11:25:59 ] mainの戻り値を利用した人は一人も居ないという伝説。
29 名前:デフォルトの名無しさん [2010/08/02(月) 11:34:08 ] >>24 読み込みはやったけど、何の法則を使ったらいいのか俺にはよくわからない。 ideone.com/8Bn9a
30 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 11:52:21 ] >>28 makeコマンドのmainの戻り値はよく使うな
31 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 12:00:34 ] >>29 純粋に質問なんだが、 struct man{ double a; double b; double sub; double add; double multi; }; int comp( const void *c1, const void *c2 ) { man test1 = *(man *)c1; man test2 = *(man *)c2; int tmp1 = test1.sub; int tmp2 = test2.sub; return tmp1 - tmp2; } 関数中で一度デリファレンスするのはどういう流儀? とくにこの場合は int comp( const void *c1, const void *c2 ) { return ((man *)c1)->sub - ((man *)c2)->sub; } で行けそうだし(未確認ですまん)、 余計な代入が無いからスカッとしそうだけど。
32 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 12:07:45 ] >>24 ttp://www1.axfc.net/uploader/Sc/so/139977.jpg プログラミングの問題っていうよか 統計の問題だな。 で、>>24 はこの分布をどういう風に処理したいの? 教えてくれれば実装するし、 分からなきゃ統計をもう一度やり直してくれ。
33 名前:デフォルトの名無しさん [2010/08/02(月) 12:23:21 ] >>31 コピペしただけだから流儀とかはない。 その指摘部分は正しくは↓な感じだな。 int comp( const void *c1, const void *c2 ) { man test1 = *(man *)c1; man test2 = *(man *)c2; int tmp1 = test1.sub*100000; int tmp2 = test2.sub*100000; return tmp1 - tmp2; }
34 名前:デフォルトの名無しさん [2010/08/02(月) 13:18:22 ] >>24 2群なら一番簡単なのは判別分析かな ideone.com/fSyKg 参考はココ aoki2.si.gunma-u.ac.jp/lecture/Discriminant/disc2.html 行列計算は面倒なんでライブラリ使った sourceforge.net/apps/wordpress/itpp/ 使い方はググレばたくさん出てくるから割愛 面倒なら自分で行列クラスとガウス式書くのも有り 2×2行列だから、LU分解でも問題ないはず
35 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 13:45:48 ] >33 勝手にconst外さないでください
36 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 16:37:34 ] 【質問テンプレ】 [1] 授業単元:C言語 [2] 問題文(含コード&リンク):キーボードより本体価格と税率を入力し、その税込価格を 表示するプログラムを作成せよ。 任意の数値xを小数点以下第n位で四捨五入する作れ(nは任意) [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年08月03日 18:00まで [5] その他の制限:特に無いです。 上記の2つのプログラムを作成していただきたいです。 よろしくお願いします。
37 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 16:52:06 ] 自分の書いた文章が正しいかどうかのチェックすら怠る者に、 俺なら何もしてやりたくはない。
38 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 17:10:43 ] >>36 #include <stdio.h> int main(void) { int price, rate; printf("本体価格:"); scanf("%d", &price); printf("税率(%):"); scanf("%d", &rate); printf("税込価格:%d\n", (100 + rate) * price / 100); return 0; }
39 名前:デフォルトの名無しさん [2010/08/02(月) 18:38:26 ] このスレって日本語の通じない低学歴が多いよなw 説明すら意味を理解していない。コードを書いて実行すれば分かるのに。 どんな劣悪な環境で甘んじているのか知らんが、余程貧しい地方の 学校なんだろうねw
40 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 19:03:57 ] >>37 が言いたいのは、>>36 の >任意の数値xを小数点以下第n位で四捨五入する作れ(nは任意) の一文において、“する”と“作れ”の間に“プログラムを”が抜けてるってことだろ。 コードを書いて実行すればわかるとかって問題じゃない。 ああ、日本語通じない人にはわかるわけねーか
41 名前:デフォルトの名無しさん [2010/08/02(月) 19:04:47 ] ぜってーISOの英文の説明が理解できない講師がいるぜw レベルが低いんだよ!プログラミングに関しても、人間性もw
42 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 19:32:43 ] 見えない人と戦いはじめちゃったか…。 こうなると長いぞ皆の衆。
43 名前:デフォルトの名無しさん [2010/08/02(月) 19:45:22 ] >>34 だけど、動作確認はVC++2008でやってます コンパイラにgccって書いてあることにカキコしてから気がついたスマン まぁ、IT++はgccでも使えるんで大丈夫なはず リンクが面倒だけど >>35 >任意の数値xを小数点以下第n位で四捨五入する作れ(nは任意) f4.aaa.livedoor.jp/~pointc/log887.html を発展させればできると思われる 答えてばかりじゃツマランので俺もなんか質問してみようかしら
44 名前:デフォルトの名無しさん [2010/08/02(月) 19:47:17 ] ここで他人の意見に噛みついてくる精神レベルの低いガキって 大したこと無いくせに長年、プログラムの授業で講師をやっていた講師だろ? 大人気ない、恥ずかしい奴よのぉ〜
45 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 19:59:21 ] 完全な四捨五入って難しすぎるw
46 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 20:02:18 ] 俺は>>44 みたいなやつがコテ付きで回答するのを見てみたいよw どんな言い逃れもせずに男らしく、 コードの美しさでみんなを黙らせて見せて欲しいw お腹が痛いとか今調子悪いとか、お前らと違って時間が無いとか、 そーいうのもういいから。もう沢山だから。
47 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 20:03:56 ] コード書くたびに突っ込まれすぎて書かなくなっちゃったんだよw
48 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 20:17:06 ] >>36 ggった方が聞くより早いんじゃね? ttp://f4.aaa.livedoor.jp/~pointc/log887.html #include <stdio.h> #include <stdlib.h> /* ************************************************************ 関数名【 round() 】 丸め処理関数 処理概要 浮動小数点数を指定された精度で丸めた値を返す 引数 1) val = 丸めたい値 2) precision = 精度 戻り値 指定精度で丸めた値 ************************************************************ */ double round( double val, int precision ) { /* ***** 内部変数定義 ***** */ double ret; char buf[256] = {'\0'}; char *p; /* ***** 丸めを行い文字列に変換 ***** */ sprintf( buf, "%.*f", precision, val ); /* ***** 文字列から数値に再変換 ***** */ ret = strtod( buf, &p ); return ret; }
49 名前:36 mailto:sage [2010/08/02(月) 20:18:06 ] 回答してくださった方々ありがとうございました
50 名前: ◆QZaw55cn4c mailto:sage [2010/08/02(月) 20:24:06 ] >>14 codepad.org/weAFyj0X codepad.org/exMLMkqB codepad.org/SL2Ml4Ml
51 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 21:03:45 ] >>46 つpc12.2ch.net/test/read.cgi/tech/1279286575/721
52 名前:デフォルトの名無しさん [2010/08/02(月) 21:04:25 ] 【質問テンプレ】 [1] 授業単元:C言語 [2] 問題文(含コード&リンク): 変数に格納された値、及びバイナリデータを、連続した1つのバイナリ配列に格納しなさい 条件: 1) 入力値は short型、入力バイナリは unsigned char型配列15bit(16bit - 1bit)分とする 2) 出力(格納)バイナリ列は4バイト(32bit)分確保されているものとする 3) 出力バイナリ列は右詰めとし、バイトオーダーはビッグエンディアンとする (入力バイナリの左1bit分に、int型入力値のバイナリデータが1bit右シフトしている状態) 例) ※一部 short num = 65535; unsigned char inBinary[2] = 0xEFFF; unsigned char outBinary[4] = {'\0'}; memcpy(outBinary, &num, 2); memcpy(outBinary + 2, inBinary, 2); // ここの時点で outBinaryのバイナリデータは // 0xFFEFFFFF となっている // 本当は 0xEFFFFFFF としたい [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc (バージョン不明) [3.3] 言語:C [4] 期限:2010年08月05日 10:00まで [5] その他の制限: Linux使用により、デフォルトはリトルエンディアンとなっている ソケット通信で使われるそうです。よろしくお願いします
53 名前:前スレより mailto:sage [2010/08/02(月) 21:10:24 ] 724 名前: デフォルトの名無しさん Mail: sage 投稿日: 2010/07/29(木) 21:23:50 [1] プログラミング宿題 [2] XY平面において座標値(x,y)のうちx,yのどちらか一方は少なくとも非負整数であるような点を 格子と呼ぶ。両方が非負整数の点を格子点と呼ぶ。 N>=1としコマンドラインでN個の格子点が与えられるものとする。 (同じ点が与えられた場合はその指定は無視する) (0,0)から出発し格子上だけを通りすべての指定された格子点を1回ずつ通り(0,0)に戻り、なおかつ 同じ点は2度とおらないような経路で最短なものを一つ抽出するプログラムを作成 但し経路において右折が出来ないものとする。 解が無い場合は「不能」と表示すること。(最短経路解が複数あっても、抽出は一つのみで良い) [3] Linux/GCC/ C/C++どちらでも可能 [4]9/16
54 名前:デフォルトの名無しさん [2010/08/02(月) 21:41:45 ] >>53 格子点 ⊆ 格子として考えて良いの? でもそれだと格子要らないよね 頭の悪いダイクストラを使って N * ((N - 1) ! - 1) 回、2点間の距離を求めさせればできそう
55 名前:前スレより追加 mailto:sage [2010/08/02(月) 22:24:16 ] 727 名前: 724 Mail: sage 投稿日: 2010/07/29(木) 21:40:23 問題文に不備がありました。訂正します。 ×但し経路において右折が出来ないものとする ○但し経路において特定の格子点(x,yのいずれかが5の倍数である場合) 上では右折できないものとする
56 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 23:49:05 ] >>54 >でもそれだと格子要らないよね 前スレでも散々言われてたが、通れるのは格子の上だけ。 おまえさ、読解力がハナから無いからこういう問題向いてないよ。
57 名前:デフォルトの名無しさん mailto:sage [2010/08/02(月) 23:54:32 ] 最近、ここ煽りんこが居るの? アリジゴクにでも嵌ったんじゃね?
58 名前: ◆NeStPsnpRk [2010/08/03(火) 00:13:26 ] リトルエンディアンのファイル読み込みルーチンだと思うのですが、 これに対応する書き込みルーチンを教えてください! unsigned char *readBytes(FILE *f, int n) { static unsigned char s[16]; if (fread(s, n, 1, f) != 1) { exit(1); } return s; } unsigned long readUlong(FILE *f) { unsigned char *s = getBytes(f, 4); return s[0] + 256LU * (s[1] + 256LU * (s[2] + 256LU * s[3])); } unsigned readUshort(FILE *f) { unsigned char *s = getBytes(f, 2); return s[0] + 256U * s[1]; }
59 名前: ◆NeStPsnpRk [2010/08/03(火) 00:16:56 ] すいません、コピペをミスしました。 writeUlong関数とwriteUShort関数をどなたか作ってください。 unsigned char *readBytes(FILE *f, int n) { static unsigned char s[16]; if (fread(s, n, 1, f) != 1) { exit(1); } return s; } unsigned long readUlong(FILE *f) { unsigned char *s = readBytes(f, 4); return s[0] + 256LU * (s[1] + 256LU * (s[2] + 256LU * s[3])); } unsigned readUshort(FILE *f) { unsigned char *s = readBytes(f, 2); return s[0] + 256U * s[1]; }
60 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 00:23:34 ] [1] 授業単元:プログラミングT [2] 問題文(含コード&リンク):標準入力から西暦、月、日を表す整数を読み込み、その日が何曜日かを 判定するプログラムを作成せよ。 ※年をy,月をm,日をdとする ※曜日はr=( y + y/4 - y/100 + y/400 + (13m+8)/ 5 + d ) % 7 ※r=0が日曜日、r=1が月曜日・・・・のようになる ※ただし1月と2月は前の年の13月、14月として計算する [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名:gcc [3.3] 言語:C [4] 期限:2010年08月03日16:00まで [5] その他の制限:特にありません
61 名前:デフォルトの名無しさん [2010/08/03(火) 00:29:46 ] 前スレにも書きましたが、お願いします。 [1] 授業単元:プログラミング演習 [2] 問題文(含コード&リンク): 任意のnに対して、正則なn次正方行列の固有値を求めるプログラムを作成しなさい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年8月4日まで [5] その他の制限:特になし よろしくお願いします。
62 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 01:01:07 ] >>60 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10907.c
63 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 01:02:11 ] すまぬ >>62 は取り消し
64 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 01:08:48 ] >>60 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10908.c
65 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 01:18:45 ] >>59 普通にこういう感じでいいのかな void writeBytes(FILE *f, unsigned char *s, size_t l) { if (fwrite(s, 1, l, f) != l) { exit(1); } } void writeUlong(FILE *f, unsigned long l) { unsigned char s[4]; s[0] = (unsigned char)(l >> 24) & 0xFF; s[1] = (unsigned char)(l >> 16) & 0xFF; s[2] = (unsigned char)(l >> 8) & 0xFF; s[3] = (unsigned char)l & 0xFF; writeBytes(f, s, 4); } void writeUshort(FILE *f, unsigned short w) { unsigned char s[2]; s[0] = (unsigned char)(w >> 8) & 0xFF; s[1] = (unsigned char)w & 0xFF; writeBytes(f, s, 2); }
66 名前: ◆NeStPsnpRk [2010/08/03(火) 02:58:58 ] >>65 ありがとうございます!
67 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 07:42:56 ] >>64 ありがとうございました!
68 名前: ◆QZaw55cn4c mailto:sage [2010/08/03(火) 08:33:56 ] >>61 調べてみましたが、正方行列になんらかの制限がつかないかぎり、非常に難しい問題になります。
69 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 09:11:49 ] 非常に難しい問題って… 数値演算では基本だぞ。 プログラミング演習の課題ならQR法そのままでOKだ。 検索すりゃ回答例そのものが見つかるくらいポピュラー。 www2.ee.knct.ac.jp/el/E4/H15-E406/eigenvalue6.html
70 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 09:14:30 ] QZaw55cn4cの頭の中では十分に難しい問題なんだろな。
71 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 09:39:53 ] >>51 こりゃひでーなw ワザとか?w
72 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 10:44:33 ] C言語の問題なのですが 4ケタの番号,名前,名前(フリガナ),都道府県,住所,電話番号 といった300人分の名簿データみたいなcsvファイルがあり それをで4ケタの番号どうりに単純ソートで昇順に表示して 番号を入力すると2分探索で探索を開始し 正しい番号を入力すると電話番号を、不正な番号を入力すると エラー表示が出るプログラムを作成したいのですがわからず困ってます どなたかよろしくお願いします (malloc関数は使わずにとの事です)
73 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 10:54:55 ] ガスライティング
74 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 11:02:35 ] C言語の問題に回答しようと思っていますが、何がわらないのか、わからず困っています。 どなたかよろしくお願いします
75 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 11:37:40 ] 72です 300人分の名簿データみたいなcsvファイルがあり それをで4ケタの番号どうりに単純ソートで昇順に表示する という部分がわからず困っています
76 名前:デフォルトの名無しさん [2010/08/03(火) 11:49:20 ] >>75 ”バブルソート”でググると幸せになれるかも
77 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 11:49:35 ] テンプレに従わない奴ってなんなの
78 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 12:08:51 ] >>69 演習で学生が回答できるレベルに限れば大抵はそうだな。 "任意のn"ってあるから実数だけで良いのか、とか収束スピードや精度を気にしなくていいかって事だろう。
79 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 12:15:20 ] > "任意のn"ってあるから実数だけで良いのか nが複素数って事か? お前天才すぎる。人類史上最強の天才。
80 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 12:28:24 ] >>79 は行列を扱ったことがないようだから放って置くとして、ここを見てる初心者のために補足すると、 整数nが大きいと、複素数まで考慮が必要かどうかを調べるだけでも演算量が半端なく大きい。 Cの演習であって数学ではないので、普通は出題しないと思うが。 注意すべきは、演習で作ったものがそのまま汎用的に使える場合は少ない、という事。
81 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 12:34:36 ] >>47 最近はコテつきでやってますのでよくわかるのですが、突っ込まれるということはありがたいことです。
82 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 12:50:08 ] >>75 >>76 ここはかっこよくシェルソートしようず
83 名前:デフォルトの名無しさん [2010/08/03(火) 13:33:06 ] >>69 >>61 回答をお願いします
84 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 15:08:02 ] 固有値問題一つ解くのに、スパコンシステムを1個作ったって逸話 が残されてるくらいだから、奥はそれなりに広いのだろね
85 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 15:18:37 ] >>83 >>69 にあるURLの回答例では何が気に入らないのか説明して、 親切な人が納得すれば、作り直してくれるかも知れません。
86 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 17:33:53 ] >>85 >>61 回答をお願いします、日本を代表してお願いします
87 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 17:42:58 ] >>86 熱意が足りない
88 名前: ◆QZaw55cn4c mailto:sage [2010/08/03(火) 18:08:24 ] >>69 実対称行列のみならず、一般の実行列でも、いろいろと前処理をすれば QR法が使えるのですね。ご指摘ありがとうございます。
89 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 18:12:24 ] [1] 授業単元:プログラミング C [2] 問題文(含コード&リンク):入力した5つのデータを大きい順に並び替えるプログラムを作れ。 例↓ a0=4 a1=7 a2=12 a3=1 a4=5 rank1: 12 rank2: 7 rank3: 5 rank4: 4 rank5: 1 次に入力した5つのデータを大きい順に順番をつけるプログラムを作れ。 例↓ a0=4 a1=7 a2=12 a3=1 a4=5 a0=4 : rank4 a1=7 : rank2 a2=12 : rank1 a3=1 : rank5 a4=5 : rank3 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名:gcc [3.3] 言語:C [4] 期限:2010年08月04日12:00まで [5] その他の制限:作成するプログラムは2つありますが、1つのソースにまとめるのではなく、2つに分けて作ってください。 よろしくお願いします
90 名前:デフォルトの名無しさん [2010/08/03(火) 18:33:39 ] Dr.schemeでの課題です。 「フィボナッチ数列を返すfibsを作りなさい。ただし引数として項の値の上限limitを与えるものとする。 たとえば項の上限を100とすると (fibs 100)→(1 1 2 3 5 8 13 21 34 55 89)」 (define (fibs limit) (fibs2 1 1 limit)) (define (fibs2 a b limit) (空欄 (fibs(?) b (+ a b) limit) ここまでは先生が教えてくれました。 他にもやりかたがあるらしいのですが、 これが一番処理が早いそうです。 空欄の所を埋めればできると先生が言ってました。 たぶんfilter関数を使うんじゃないかなと思ってます。 あともしかしたら(?)の部分は先生の間違いじゃないかなと思ってます。 どなたかお願いします。
91 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 18:35:24 ] テンプレに従わない奴ってなんなの
92 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 18:36:54 ] >>90 C/C++
93 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 18:43:15 ] >>91 お前ら宿題頑張って解け。 問題も頑張って解釈しろ←ここの余計な追加
94 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 20:17:10 ] イタリアンっぽく名前を仕立ててみました。 フィボナッチ > ヘヴォナッツィオ
95 名前:デフォルトの名無しさん [2010/08/03(火) 21:06:02 ] >>89 codepad.org/ytdT9qRi 別ファイルに分けるのは自分でやってね あと、ソートが絶対に正確かは自信なし(一応確認はした)
96 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 21:30:07 ] ソートはそぉ〜っとね
97 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 21:36:14 ] >>96 ( bb || !bb ) ?
98 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 22:08:11 ] >>95 何をどう確認したのか教えてくれw
99 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 22:28:45 ] そろそろ麻呂のクソースが発動しそうです ><;
100 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 22:59:56 ] パンパンパーン ∧_∧ ∩ ( ・∀・)彡☆ ⊂彡☆))Д´) >>96 ☆
101 名前: ◆QZaw55cn4c mailto:sage [2010/08/03(火) 23:46:04 ] >>72 codepad.org/CXzw36Wq CSVファイルの読み込みは適当です。もしうまく読めなかったら、そのCSVファイルの一部を張って教えてください。
102 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 23:46:55 ] >>99 コテつきで codepad へどうぞ。
103 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 23:48:40 ] 麻呂の円やかなクソースが出そうです ><;
104 名前:デフォルトの名無しさん mailto:sage [2010/08/03(火) 23:56:42 ] >>101 4ケタは番号だけにかかるものだろ、常識的に考えて
105 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 00:01:09 ] >>104 が何をいってるのかわからない、とおもってソースを見たらこれはひどい。 曲解する流れに乗ったのか? あと、単純ソート。
106 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 00:01:46 ] >>101 #define BUFFLEN 5 struct data { int num; char name[BUFFLEN]; char name2[BUFFLEN]; char pref[BUFFLEN]; char address[BUFFLEN]; char tel[BUFFLEN]; }; こりゃねーわ やっぱ読解力ないよこの人 電話番号が4桁で済むわけねーじゃん
107 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 00:05:15 ] お前ら苛めちゃイカン。苛めちゃ・・・ぷっ、ぷぷぷ、ブリッ あっやべっ、漏れた
108 名前:デフォルトの名無しさん [2010/08/04(水) 00:11:06 ] >>106 そこまで長いのかくなら、回答コードを書いてやれよ
109 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 00:16:44 ] >>108 cじゃなくてperlとかのほうが楽だろ、これ。
110 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 00:23:27 ] >>109 アルゴリズムの実装が主だからなぁ。 見つけるだけ、ソートするだけならそれぞれコマンドひとつなわけで。
111 名前: ◆QZaw55cn4c mailto:sage [2010/08/04(水) 00:28:06 ] >>72 codepad.org/Ua20QLc9 たしかに電話番号その他の情報を入れ込むには、ちと領域長が短すぎましたね。テスト用に短く設定したまま忘れておりました。 多数からのご指摘、感謝いたします。 あと、シェルソートを標準ライブラリの qsort() と同じインターフェースと同じになるようにしておきました。 要素の交換のために内部で malloc() しているのが、ちょっとまずいのですが、いつか直す機会があればいいですね。 問題がまだ残っておればご指摘いただけると嬉しゅうございます。m(_ _)m
112 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 00:31:58 ] 麻ー呂っくでおじゃるか、さすが目の付け所が違うでおじゃる。
113 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 00:34:53 ] for (h = 1; h < n; h = 3 * h + 1) ; h = (h - 1) / 3; エラーは出ないだろうけど、 ここ何?
114 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 00:41:51 ] >>113 シェルソートでの、比較&交換間隔 h を決めています。 ここでは、h(n+1) = 3 * h(n) + 1 (1, 4, 13, 40, ... ) という数列を使用しています。 要素数が 15 なら最初の h は 13 にして、以下 4, 1, と変化させます。 要素数が 50 なら最初の h は 40にして、以下 13, 4, 1 とします。 ‥‥‥というつもりですが、いかがでしょうか?
115 名前:89 mailto:sage [2010/08/04(水) 00:52:19 ] >>95 作成していただいたプログラムをコンパイルしたのですが、問題文の主旨とは 異なる動作をしてしまいました。 どなたか>>89 のプログラム作成をお願いできませんでしょうか?
116 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 01:46:04 ] >>111 エラーチェックは大してなくともいいだろうけど、宿題的には4桁の数字ぐらいのチェックをしておくといいと思う。
117 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 01:56:21 ] 4桁だけあって湿気た
118 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 01:58:42 ] >>116 たしかに第一要素の数字については、特に 4 桁限定としては書いていませんね。これも文字列にしておいたほうがよかったかなあ。
119 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 02:05:31 ] >>89 , >>115 codepad.org/9SJ5m2xK 上の問題ではprint1,下の問題ではprint2を使う
120 名前:デフォルトの名無しさん [2010/08/04(水) 03:13:00 ] [1] 授業単元: C++プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10909.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio 2008 [3.3] 言語: C++ [4] 期限: 8月6日(金) 23:59まで [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 最後の問題だけが解けませんでした。よろしくお願いします。
121 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 04:07:42 ] #include<iostream> using namespace std; struct test{ char name[21]; int score; }; int main(){ test t[5], tmp; int i, j; for( i=0; i<5; i++ ){ cout << "name" << i+1 << "?"; cin >> t[i].name; cout << "score" << i+1 << "?"; cin >> t[i].score; cout << "-------------------\n"; } for( i=0; i<4; i++ ){ for( j=i+1; j<5; j++){ if( t[i].score < t[j].score ){ tmp = t[i]; t[i] = t[j]; t[j] = tmp; } } } for( i=0; i<5; i++) cout << t[i].name << ":" << t[i].score << "\n\n"; return 0; }
122 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 04:09:43 ] 文字数エラーチェック必要なら自分で入れろw あと標準ライブラリ使わないって無理でしょw STLが無理と勝手に解釈したからw
123 名前:デフォルトの名無しさん [2010/08/04(水) 07:34:26 ] ここまで未解決の質問って >>52 と>>53 だけ? >>52 はビットフラグとかシフトとか、バイトオーダーはスワップで何とかなるのかな >>53 は問題の意味がよく理解出来ないけど、ダイクストラ法の問題?
124 名前:89 mailto:sage [2010/08/04(水) 08:26:56 ] >>119 ありがとうございました!
125 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 13:50:15 ] [1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク):以下の2つのプログラムを作成せよ。 1)3×3の行列AとBを標準入力から読み込み、その和を計算し、表示するプログラム 2)3×3の行列AとBを標準入力から読み込み、その積を計算し、表示するプログラム [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年08月04日18:00まで [5] その他の制限:2次元配列を使って作成してください 今日の18:00までなのでどうぞよろしくお願いします
126 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 14:51:11 ] どのレベルの出力が求められてるんだ?w #include<stdio.h> int main(void){ int i, j, a[3][3], b[3][3]; for( i=0; i<3; i++){ for( j=0; j<3; j++){ printf("入力:"); scanf("%d", &a[i][j]); printf("入力:"); scanf("%d", &b[i][j]); } } printf("行列の和\n"); printf(" | %3d %3d %3d |\n", a[0][0]+b[0][0],a[0][1]+b[0][1],a[0][2]+b[0][2]); printf(" |%13c|\n",' '); printf(" | %3d %3d %3d |\n", a[1][0]+b[1][0],a[1][1]+b[1][1],a[1][2]+b[1][2]); printf(" |%13c|\n", ' '); printf(" | %3d %3d %3d |\n", a[2][0]+b[2][0],a[2][1]+b[2][1],a[2][2]+b[2][2]); return 0; } こんな感じでいいのかな?
127 名前:デフォルトの名無しさん [2010/08/04(水) 16:31:33 ] [1] 授業単元: 情報科学U [2] 問題文(含コード&リンク): 出席番号と数学,英語,国語,理科,社会の点をキーボードから読み込み, 各人の合計点,平均点と共に表示するプログラムを作成しなさい. 1)出席番号,各教科点数,合計点,平均点を格納する配列を使ったプログラムを作る. 2)構造体を使ったプログラムを作る. 3)成績の良い学生から順に表示するプログラムにする. ・キーボードからの入力 10001 90 83 75 82 66 10002 73 64 56 47 52 10003 87 65 59 52 73 ・画面出力 学籍番号 英語 数学 国語 理科 社会 合計 平均 10001 90 83 75 82 66 396 79.2 10002 73 64 56 47 52 336 67.2 10003 87 65 59 52 73 292 58.4 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Visual Studio 2010 [3.3] 言語: C/C++どちらでも可 [4] 期限: 2010年8月20日12:00まで [5] その他の制限: stdio.hでお願いします どうぞよろしくお願いします
128 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 17:28:10 ] >>127 1問目 #include<stdio.h> int main(void){ int attend_num[3], eigo[3], suugaku[3], kokugo[3], rika[3], syakai[3], total[3],i; float ave[3]; for( i=0; i<3; i++){ scanf("%d %d %d %d %d %d", &attend_num[i],&eigo[i],&suugaku[i],&kokugo[i],&rika[i],&syakai[i]); total[i] = eigo[i] + suugaku[i] + kokugo[i] + rika[i] + syakai[i]; ave[i] = total[i] / 5; } printf("学籍番号 英語 数学 国語 理科 社会 合計 平均\n"); for( i=0; i<3; i++) printf( "%-8d %-4d %-4d %-4d %-4d %-4d %-4d %-4.1f\n",attend_num[i],eigo[i],suugaku[i],kokugo[i],rika[i],syakai[i],total[i],ave[i]); return 0; }
129 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 17:29:22 ] >>127 3問目 #include<stdio.h> struct test{ int attend_num, eigo, suugaku, kokugo, rika, syakai, total; float ave; }; int main(void){ int i, j; test t[3], tmp; for( i=0; i<3; i++){ scanf("%d %d %d %d %d %d", &t[i].attend_num,&t[i].eigo,&t[i].suugaku,&t[i].kokugo,&t[i].rika,&t[i].syakai); t[i].total = t[i].eigo + t[i].suugaku + t[i].kokugo + t[i].rika + t[i].syakai; t[i].ave = t[i].total / 5; } for( i=0; i<2; i++ ){ for( j=i+1; j<3; j++){ if( t[i].total < t[j].total ){ tmp = t[i]; t[i] = t[j]; t[j] = tmp; } } } printf("学籍番号 英語 数学 国語 理科 社会 合計 平均\n"); for( i=0; i<3; i++) printf( "%-8d %-4d %-4d %-4d %-4d %-4d %-4d %-4.1f\n",t[i].attend_num,t[i].eigo,t[i].suugaku,t[i].kokugo,t[i].rika,t[i].syakai,t[i].total,t[i].ave); return 0; }
130 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 17:31:31 ] >>126 ありがとうございました
131 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 22:39:20 ] だんだんとパターン化してきたみたいで結構 C言語の練習問題など100問程度で充分 ただしもう少し精選は必要かもだけど 140代にも到達し一歴史を築いたとも言える このスレ、そろそろ精選問題回答集Wikiでも 作ってそこに誘導してあげることを考える時期 かもな
132 名前:デフォルトの名無しさん [2010/08/04(水) 22:44:19 ] あぁそれ、前にも提案されて言いだしっぺのお前がやれみたいなことを言われたたよw 自分も提案したけど、何かまとめサイトもあったけど、まだまだ不十分だと思ったが それから全く発展してないなw
133 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 22:52:04 ] まとめサイトがあったとして、 教えてクンならぬ宿題丸投げクンがそれを読むと思うかね? 宿題をテンプレに沿って示すことが出来ないやつすらいるのに。 たすけてー(ただしなんの努力もしませんw テンプレも読みませんw ぐぐりもしませんw) が基本だし、さらに答えるほうもヒマでしゃーないから、 そのヒマが急になくなる事もないだろう。2ちゃんもヒマ人も永遠だ。
134 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 22:53:41 ] このままパターン化すると麻呂のトイレになることは必須
135 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 22:56:15 ] 麻呂のクソースじゃ話にならんw しかも模範として載せられないw
136 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 22:56:50 ] 解きたい人も毎年ある程度増えるだろうから 古参はとっとと引退して 新しい回答者がよくある落とし穴にはまる様を 黙って見てればいいじゃない
137 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 22:58:21 ] いやぁ引退なんてしていいんたい?
138 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 22:59:27 ] >>137 (゚∀゚) ?
139 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 23:06:33 ] パンパーン!! ∧_∧ ∩ ( ・∀・)彡☆))Д´) >>117 ⊂彡☆))Д´) >>137
140 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 23:22:48 ] まぁありきたりなもの、パターンはテンプレ化しておk。 素数、ソート、カレンダー、組合せ、階乗、平方根、リストなど。
141 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 23:24:40 ] あと、別パターンも作っておk。閏年を求めるルーチン、モジュールも 高速化できるものとか。
142 名前:デフォルトの名無しさん mailto:sage [2010/08/04(水) 23:42:59 ] 鯖移転記念
143 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 01:11:01 ] どーせならうpローダーと、CodePadみたいなのとWikiを 融合させた新しい鯖アプリ作るってのも面白そう
144 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 01:28:23 ] 俺らでイカタコウィ(ry
145 名前:デフォルトの名無しさん [2010/08/05(木) 03:27:56 ] >>143 言いだしっぺが作るべ
146 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 04:14:23 ] Cプログラマには無理だろ それぐらい複雑だとCGI系じゃ辛い ServeletとかJSPレベルにしないと厳しいような
147 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 04:26:25 ] 本格的にやるんなら有料レンタルサーバ借りないといけなくね 無料のとこでもウザい広告とか出ないで容量も速度もじゅうぶんなところが今はあるのかな
148 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 04:32:28 ] そもそもお決まりのパターンのコードのサンプルなんて まとめるのに大規模なものでなくてもおk。そこまでする必要があるかどうか?
149 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 04:33:39 ] まっ、ままままま、麻呂の肛門、封鎖できません ><; スパゲッティーミートクソミソースが漏れそうです ><;
150 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 11:35:56 ] まとめるならmain関数は int main(/*void*/) { return /*0*/; } で統一しようぜ
151 名前:デフォルトの名無しさん [2010/08/05(木) 12:46:18 ] コマンドライン引数がある場合はどうするんだよ?
152 名前:デフォルトの名無しさん [2010/08/05(木) 12:48:10 ] >>150 統一するならこうだろ int main(int argc, char* args[]) { 〜 return 0; }
153 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 12:53:40 ] wiki使ってくれよ >>140-141 素数とかソートとかカレンダーとかすでにあるよ 無いのはぜひ追加してくれ
154 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 13:26:40 ] >>152 統一するならこうだろ int main(int argc, char **argv) { 〜 return 0; }
155 名前:デフォルトの名無しさん [2010/08/05(木) 13:35:16 ] 君たち、今や海栗が標準なんですが....
156 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 14:46:19 ] C++ならreturn 0;を省略しますのでそのつもりで
157 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 17:01:47 ] こんなどうでもいいことでさえ統一できないことが欠陥言語の象徴だなw
158 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 17:02:22 ] >>154 **argv > *argv[]
159 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 17:26:29 ] えっ…
160 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 18:19:25 ] [1]プログラミング演習 [2]ttp://www.comm.info.eng.osaka-cu.ac.jp/~sugi/C_lang2/C6.htmlの [問題6-2]はこのページの本文の指示通りにやるとどうなるのでしょうか? [3.1]Linux環境 [3.2] gcc [3.3]C言語 [3.4]今日の午後9時 よろしくお願いします
161 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 19:17:04 ] >>160 #include<stdio.h> #include<stdlib.h> struct TIME{ int day, hour, minute; }; TIME time_add(TIME t1, TIME t2){ if( t2.day<0 || t2.hour<0 || t2.minute<0 ) exit(1); t1.day += t2.day; t1.hour += t2.hour; t1.minute += t2.minute; while( t1.minute > 60 ){ t1.hour++; t1.minute -= 60; } while( t1.hour > 24 ){ t1.day++; t1.hour -= 24; } return t1; } int main(void){ TIME t1 = {0} , t2; while(1){ printf("(day, hour, minute)? "); scanf("%d %d %d", &t2.day, &t2.hour, &t2.minute); t1 = time_add(t1, t2); printf("sum = %d %d %d\n", t1.day, t1.hour, t1.minute); } return 0; }
162 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 19:42:55 ] >>160 こうなるんじゃね? (day, hour, minute)? 3 12 44 sum = 3 12 44 (day, hour, minute)? 1 22 54 sum = 5 11 38 (day, hour, minute)? 8 21 0 sum = 14 8 38 (day, hour, minute)? -1 -1 -1
163 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 19:53:15 ] >>162 結果は間違えてないよね。 何に疑問持ったのか分かんない。
164 名前:デフォルトの名無しさん [2010/08/05(木) 19:59:37 ] 間を取って public static void Main (String[] args) で
165 名前:デフォルトの名無しさん mailto:sage [2010/08/05(木) 22:12:02 ] サンプルコード
166 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 19:51:15 ] 曜日を求める課題が出てたよな・・・ってことは、発展系で 閏年、カレンダーの課題もクルー!
167 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 21:21:51 ] さぁこい、年収1千万円程度の貧乏人の俺でも多少は生活に余裕が持てるようになった。 今の俺は無敵ではないが、どんな課題でも解けそうな気がするぅ〜あると思います。
168 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 21:54:06 ] 年収1000万って、手取りに換算するとあんまり大したこと無いよね。 これが手取りで1000万だと結構すごいと思うけど。
169 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 21:58:38 ] >>167 >>52-53 をどうぞ
170 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 22:33:31 ] >>168 いや手取りで。確かに大したことないからまだまだ貧乏人と言っているんです。
171 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 22:54:42 ] >>167 コテ(トリ)つけて codepad にあげてごらんよ。
172 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 06:07:14 ] 【文化】インターネット掲示板『2ちゃんねる』で大人気のアスキーアート・キャラクター「麻呂」が大増殖中 kamome.2ch.net/test/read.cgi/newsplus/1281100346/
173 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 16:57:09 ] >>167 どんな課題も解けないよ
174 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 18:03:47 ] >>173 > 解けそうな気がするぅ〜あると思います。 日本語が読めない人って困りますねw
175 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 20:26:53 ] スレチかもしれないのですが、 柴田さんの明解C言語の入門編と前橋さんのポインタ完全制覇を 一通りやったのですが、この後にオススメな本はなんでしょうか? もしよろしかったら答えていただけると嬉しいです。
176 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 20:28:12 ] まずは忘れる事だ
177 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 20:28:43 ] >>175 ・256倍シリーズ ・最新アルゴリズム辞典
178 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 20:53:54 ] >>175 このスレで遊ぶのはどうでしょうか?楽しいですよ。 >>176 至言ですねえ。 >>177 アルゴリズム辞典は持っていて損はないのですが、あー、やっぱりいちからよむものですかやっぱりそうですか
179 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 22:11:27 ] >>178 どんな本でもそうだけど、頭から尻まできっちり全部読んでおいて 詳細は忘れてもいいからなにが書いてあったかだけ覚えておけ。
180 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 04:19:25 ] で?カレンダー、双方向リストまだー?
181 名前:デフォルトの名無しさん [2010/08/08(日) 10:01:33 ] この時期になっても出てこないならもう出ないだろ
182 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 10:23:48 ] でてもとけないだろう。
183 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 11:20:53 ] 何でだよ、毎年解いているのに今さら解けない訳ねーだろw
184 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 11:25:11 ] >>183 うらやましい。俺なんか過去にといた問題と同じものが出たとしてもとける気がしない。 毎日が新鮮でいいのかもしれないが。w
185 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 21:12:21 ] [2] 問題文(含コード&リンク):2つの数列の相関係数を求めるプログラムを作成する。 [3] 環境 [3.1] OS: Mac OSX 10.6 [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:[2010年8月9日まで] [5] その他の制限:できるだけ簡単なプログラムでお願いします。
186 名前:デフォルトの名無しさん mailto:sage [2010/08/08(日) 21:15:47 ] >>184 日本語でおk。このスレに何しにきてんですか?
187 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 01:17:24 ] >>185 codepad.org/W9xfYypJ
188 名前:デフォルトの名無しさん [2010/08/09(月) 10:16:34 ] [2] 問題文:任意のウェブページ(ここではイントラページ)を、既定設定されているブラウザで表示させる [3] 環境 [3.1] OS: Windows, Mac, Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: どちらでも可 [4] 期限: 2010年8月11日15:00まで [5] その他の制限: スパゲティックな感じでも構わないので、読みやすい感じでお願いします。後学の為にできるだけ理解したいので。
189 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 12:25:27 ] 読みやすいスパゲッティってあるのか
190 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 12:51:00 ] >>188 問題文が、C言語の範疇を越えてるよ
191 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 12:55:32 ] windows限定なら system("open hogehoge.fugafuga "); だけで桶
192 名前:デフォルトの名無しさん [2010/08/09(月) 15:31:08 ] アリアリアリアリアリアリアリアリアリアリ
193 名前:デフォルトの名無しさん [2010/08/09(月) 15:35:30 ] (;゚;ж;゚; )ブッ
194 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 19:51:11 ] [2] 問題文 実数 -1.0 ~ 1.0 の範囲をもつ任意の長さの数列を、下記の条件でヒストグラムとして 表示するプログラムを作成せよ。 ~ -0.95 (x < -0.95) -0.95 ~ -0.85 (-0.95 <= x && x < -0.85) -0.85 ~ -0.75 (-0.85 <= x && x < -0.75) -0.75 ~ -0.65 (-0.75 <= x && x < -0.65) -0.65 ~ -0.55 (-0.65 <= x && x < -0.55) -0.55 ~ -0.45 (-0.55 <= x && x < -0.45) -0.45 ~ -0.35 (-0.45 <= x && x < -0.35) -0.35 ~ -0.25 (-0.35 <= x && x < -0.25) -0.25 ~ -0.15 (-0.25 <= x && x < -0.15) -0.15 ~ -0.05 (-0.15 <= x && x < -0.05) -0.05 ~ 0.05 (-0.05 <= x && x < 0.05) 0.05 ~ 0.15 (0.05 <= x && x < 0.15) 0.15 ~ 0.25 (0.15 <= x && x < 0.25) 0.25 ~ 0.35 (0.25 <= x && x < 0.35) 0.35 ~ 0.45 (0.35 <= x && x < 0.45) 0.45 ~ 0.55 (0.45 <= x && x < 0.55) 0.55 ~ 0.65 (0.55 <= x && x < 0.65) 0.65 ~ 0.75 (0.65 <= x && x < 0.75) 0.75 ~ 0.85 (0.75 <= x && x < 0.85) 0.85 ~ 0.95 (0.85 <= x && x < 0.95) 0.95 ~ (0.95 <= x ) 数列の各値を、上記の範囲ごとに振り分けるようなプログラムをお願いします。 [3] 環境 [3.1] OS: Mac [3.2] コンパイラ名:gcc [3.3] 言語:C [4] 期限:[2010年8月10日まで] [5] その他の制限:なるべく難易度の低いプログラムでお願いします。
195 名前:デフォルトの名無しさん mailto:sage [2010/08/09(月) 22:45:23 ] >>194 ttp://codepad.org/yJqUZTR6
196 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 01:24:38 ] 自分が解きたい問題を解く、何が悪い?俺が解きたいと思わない課題は お前らにくれてやるから、俺が解きたい課題は俺より先に出すなよ、な!
197 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 01:27:28 ] ああ、それでいいよ だがおまえはコテハンつけて、といてる問題を宣言するんだ そして少なくとも5分ごとにスレをチェックしろ 最低でもそれを守れ
198 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 01:37:05 ] そして質問者は複数の回答の中から自分にとって良いものを選んで 提出すれば良い。その中に自分が習っていないものが入っていたり 題意に沿った回答で無い物を選んでも評価されない。 まぁここはそんな出題者の都合なんて知ったこっちゃ無い場所だがねw
199 名前:デフォルトの名無しさん [2010/08/10(火) 08:22:14 ] すみません、以下のプログラムを、C++ではなくC言語に直してほしいです。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10913.txt
200 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 09:09:54 ] コピペ乙
201 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 09:10:41 ] ほとんどCで書かれてるじゃんwwww 甘え過ぎ。ただ書き直すだけの作業をやるほどお人好しはいないと思うw 楽しくないからな。
202 名前:194 mailto:sage [2010/08/10(火) 16:55:37 ] >>195 ありがとうございます。 しかし、実行してみたところ値を分ける条件は21個あるのに結果は20個しかありませんでした。 これを直すにはどうすればよいのでしょうか? また、あとからになって申し訳ないのですが、条件の書き方を間違えていたので、 修正したものを以下に書いておきます。 ~ -0.95 (x <= -0.95) -0.95 ~ -0.85 (-0.95 < x && x <= -0.85) -0.85 ~ -0.75 (-0.85 < x && x <= -0.75) -0.75 ~ -0.65 (-0.75 < x && x <= -0.65) -0.65 ~ -0.55 (-0.65 < x && x <= -0.55) -0.55 ~ -0.45 (-0.55 < x && x <= -0.45) -0.45 ~ -0.35 (-0.45 < x && x <= -0.35) -0.35 ~ -0.25 (-0.35 < x && x <= -0.25) -0.25 ~ -0.15 (-0.25 < x && x <= -0.15) -0.15 ~ -0.05 (-0.15 < x && x <= -0.05) -0.05 ~ 0.05 (-0.05 < x && x < 0.05) 0.05 ~ 0.15 (0.05 <= x && x < 0.15) 0.15 ~ 0.25 (0.15 <= x && x < 0.25) 0.25 ~ 0.35 (0.25 <= x && x < 0.35) 0.35 ~ 0.45 (0.35 <= x && x < 0.45) 0.45 ~ 0.55 (0.45 <= x && x < 0.55) 0.55 ~ 0.65 (0.55 <= x && x < 0.65) 0.65 ~ 0.75 (0.65 <= x && x < 0.75) 0.75 ~ 0.85 (0.75 <= x && x < 0.85) 0.85 ~ 0.95 (0.85 <= x && x < 0.95) 0.95 ~ (0.95 <= x ) (−領域の<,<=が逆になったのと-0.5~0.5の部分が両方とも<になりました。) 申し訳ないですが、以上の内容で再度お願いします。
203 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 22:04:09 ] >>202 ttp://codepad.org/zG6XgLPj
204 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 22:55:07 ] codepad落ちてるな
205 名前:デフォルトの名無しさん mailto:sage [2010/08/10(火) 23:40:30 ] 天罰じゃ〜天狗の仕業じゃ〜〜
206 名前:デフォルトの名無しさん mailto:sage [2010/08/11(水) 01:39:20 ] >>202 codepad.org/8lMNCDEZ
207 名前:デフォルトの名無しさん mailto:sage [2010/08/11(水) 20:24:01 ] >>203 やっぱりひとつたりない。codepad の出力をみてください。
208 名前:207 mailto:sage [2010/08/11(水) 20:25:37 ] アンカーミス失礼 >>206
209 名前:デフォルトの名無しさん mailto:sage [2010/08/11(水) 20:32:29 ] >>207 具体的に、どこの範囲が足りていないのでしょうか。 こちらの環境では私の書いた>>203 は足りています。 足りないのは>>206 の方です。 それと、>>203 はcodepadでは結果が出力されていません。 あなたの見間違いです。
210 名前:206 mailto:sage [2010/08/11(水) 22:13:31 ] >>207 ,209 すまん、clangでやっていた。 #include <stdio.h> int main(int argc, char *argv[]) { double max = 1.05; double min = -1.05; double delta = 0.1; double x; printf("(max - min) / delta) = %f\n", (max - min) / delta); printf("(int) ((max - min) / delta)) = %d\n", (int) ((max - min) / delta)); printf("(int) (x=((max - min) / delta))) = %d\n", (int) (x = ((max - min) / delta))); return 0; } # gcc : 21.00000 20 21 # g++ : 21.00000 20 21 # clang : 21.00000 21 21
211 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 04:26:21 ] 俺は天才、ファンディアスだ!
212 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 08:22:28 ] >>210 んー、コンパイラによって結果がかわるのはどうして? bcc32 (max - min) / delta) = 21.000000 (int) ((max - min) / delta)) = 20 (int) (x=((max - min) / delta))) = 20 lsi-c (max - min) / delta) = 21.000000 (int) ((max - min) / delta)) = 20 (int) (x=((max - min) / delta))) = 20 msvc 2008 (max - min) / delta) = 21.000000 (int) ((max - min) / delta)) = 21 (int) (x=((max - min) / delta))) = 21
213 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 09:24:48 ] >>212 そもそも 1.05 を double の変数に代入した時点で、 丸めが起きて 1.05 では無くなってるんだよ。 こういう誤差が演算の過程でどのように変化するかはC言語の規定外。 誤差の範囲で値が変わるのは問題ない。 こういうふらつきのある値を int に強制的にキャストして、 小数点以下を切り捨てるようなコードに問題がある。 はっきり言ってバグ。コードを修正すべき。
214 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 10:08:06 ] >>213 ンな事言ってたらCで小数の比較なんてナンセンスじゃん 数値計算にC使うなってな話になんぞ?
215 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 10:10:13 ] >>214 笑
216 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 10:20:35 ] double d; int intvalue; d=(double) intvalue; はおk しかし intvalue=(int)d; という書き方する人一杯いるけど、このキャストは しないほうが良い。上のように処理系依存性が増える。 だからといって処理系のライブラリ関数(round,floor,etc)を 使えというわけじゃないが、ライブラリは同一環境なら処理系間で使 い回せる可能性が若干ある。ソースがあれば完璧
217 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 10:20:37 ] たとえば a = 0.04999999 みたいな数字があって 0.5 が誤差のために実質 0.04999999 だったら a < 0.5 が true にならないってことですよね?
218 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 10:24:12 ] >>217 それは起こりえる。そしてFORTRANだろうがCだろうがJavaだろうが 言語によらず浮動小数点実数を使う限り宿命的に発生する。 BCD実数とか使うしかない。
219 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 10:33:20 ] 浮動小数点計算は有効数字分だけ合ってれば良いので 無効数字部分をどのように取り扱うかは確か定義され ていない筈。これが丸め誤差とか桁落ちとかの原因 ライブラリ(処理系組み込みを含む)作成者の裁量が 大きく左右する。
220 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 10:36:01 ] んじゃあグダグダいってねーで ソースあげろよ
221 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 10:56:56 ] なるべく難易度が低い という条件からは浮動小数点誤差回避の技法はスレ違い
222 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 11:02:24 ] >>221 × スレ違い ○ 私は無能です
223 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 11:04:03 ] >>216 >ライブラリは同一環境なら処理系間で使 >い回せる可能性が若干ある。ソースがあれば完璧 ソースがあっても、そもそもからして浮動小数点実数 の内部型は処理系の裁量じゃね?別にIEEEに準拠する 必要まで強制されてるの?ライブラリのソースなど そういった内部型の構造に強く依存してたり関連ライ ブラリグローバル関数とか使ってたりして競合が発生 しやすいんであったところでそのまま使えるケースは 稀
224 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 11:05:51 ] 少数の計算はどこまでいっても不満と不安がつきまとう。 できるもんなら関わりたくないものだ。
225 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 11:16:00 ] >>210 1 printf("(max - min) / delta) = %f\n", (max - min) / delta); 2 printf("(int) ((max - min) / delta)) = %d\n", (int) ((max - min) / delta)); 3 printf("(int) (x=((max - min) / delta))) = %d\n", (int) (x = ((max - min) / delta))); 2と3が異なるgccが手元に無いんだが、どういう素姓のgccだ? 本当に2と3が異なるのか?
226 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 13:13:04 ] >>216 sizeof float==sizeof intな環境で float f=1.0; int i; i=(int)f; while(i==1); このコードを実行させたところ一瞬で終わる環境も あり得るし、無限ループになる環境もあるってこと ですね。勉強になりました。(皮肉)
227 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 13:25:18 ] >>216 は典型的なシッタカ。放置推奨。
228 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 13:30:07 ] wktk
229 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 13:34:17 ] (sizeof long long ==sizeof double) とする。 long long l; double d; d=1.0; l=(long long)d; は memcpy(&l,&d,sizeof(long long)); と等価じゃないんだ?
230 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 13:38:33 ] >>226 は何が言いたいのかわからん。 キャストにsize関係ないし、1.0に誤差が発生する環境なんてない。
231 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 13:41:40 ] そういったトラブルの続出でC++ではReInterrupt castとか Dynamic Castという概念が生まれ区別されるようになった わけです。Cでもこれは真似したほうがいいかもしれません。 つまりキャストする場合はコメントにそう明示するわけです。 処理系を変えておかしくなる場合はこのあたりに原因がある ことも少なく有りません。改修作業の苦痛が大幅に軽減され ます。
232 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 13:45:03 ] >>229 当たり前だろ。バカ。お前はバトルへの参加資格なし。
233 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 13:47:20 ] >>229 処理系によって変わります。(但しその処理系の正統性は無視です。 正統な処理系だけが稼働しているわけではありません。)
234 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 14:57:55 ] >>216 のようにバイト列レベルで見て単純な複製じゃなく コンパイラが何らかの方法で変換ルーチン(ライブラリ関数 じゃない可能性のほうが大)を自動コールするといったレベ ルのキャスト(これが正統)を禁止するのはちょっとね。 ただライブラリ関数のコンバート系関数でも同等のことが 出来るし、ライブラリ関数を多用する場合はむしろこちら のほうが純正性が良いかもしれない
235 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 16:23:25 ] バカが多いな。浮動小数点形式が同一なら、浮動小数点から整数へのキャストで 処理系依存性が出るはずが無い。 C99 6.3.1.4 Real floating and integer When a finite value of real floating type is converted to an integer type other than _Bool, the fractional part is discarded (i.e., the value is truncated toward zero).
236 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 17:04:10 ] >>225 Windowsでは cygwin / gcc 4.3.4.20090804
237 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 18:06:54 ] クオリティ・パフォーマンス・エレガンス:純正>>>>正統 トータルな意味での信頼性:正統>>>>純正 ってところか どんな分野でもこれはある程度言えるんじゃ?
238 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 18:15:19 ] >>235 お前が馬鹿だろ、整数へのキャストは小数部の切り捨てしか起こらん。 問題はその前の代入や演算での丸めによる誤差の取り扱いなんだよ。 要するに演算後 21.000... となる処理系と 20.999... となる処理系が存在しうる。 これを整数にキャストしたら前者では 21 となるし、後者では 20 となる。 まともなプログラマなら演算後の double を int にキャストする場合は i = (int)(d + .000000001) とか書くよ。
239 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 18:30:49 ] 一方、別のまともなプログラマは有理数クラスを使った >>238 こういうのはバッドノウハウだよな 速度が求められるとか特別な理由が無い限りやめたほうがいい
240 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 18:33:52 ] 正統でも純正でもない方法(でも場合に依っては有効かも)
241 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 18:41:12 ] >>238 >i = (int)(d + .000000001) とか書くよ。 死ね
242 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 18:43:24 ] 利息計算の場合は、切り捨てて欲しくないなあ^^
243 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 18:46:07 ] >>237 純正な有名ライブラリのソース(マルチプラットフォーム対応)を 沢山見てきたが、エレガントに記述されているものなど皆無。 むしろすんごく泥臭いことやってる。パッチだらけで作者じゃな ければ読めたものじゃないってことも稀じゃない。 正統(某かの規格書に厳密に準拠した文法で書かれており、使うこと だけでなく見せることも目的に入ってる)志向が強いコードのほうが 強烈にエレガントさを求めるんじゃねぇの?
244 名前:デフォルトの名無しさん [2010/08/12(木) 19:53:30 ] >>238 そんな話はしていない、文脈読めないバカは死んでしまえ。 キャストかライブラリかと言う話だ。
245 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 20:25:04 ] >i = (int)(d + .000000001) とか書くよ。 こういうことしちゃう人がいるから嫌なんだよな。 あー少数のない世界へ行きたい。
246 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 20:31:40 ] 四捨六入っていうのがあってだなあ
247 名前:デフォルトの名無しさん mailto:sage [2010/08/12(木) 21:22:41 ] ライブラリはマルチプラットフォーム対応で作るのだろうから コンパイラの解釈に依存するようなキャストを使わず 自前でコンバート関数とか用意するだろうし、それを 使って他のライブラリ関数とかテストしてるんだろうから ライブラリ関数を中心的に使う場合は、可読性は低くなるかも 知れないけどあんましキャストはしないほうがいいと思います。
248 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 01:17:21 ] アホか。キャストは四則演算と同じく作用が定義されている演算子だ。 キャストがコンパイラの解釈に依存するから使えないのならば、同じく、 四則演算子も使えねーな。 浮動小数点定数も変換が処理系に依存するから、使えねーな。ww
249 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 01:36:15 ] 別のCコンパイラでコンパイルしたライブラリコードを 平気でリンクできてしまうのがよくもわるくもC処理系 の特徴であり歴史的事実(それがC固有であり本源的とまで は言わないが) 厳格に言えば整数演算、文字列演算以外のキャストや 四則演算はこういった性格から信頼性が落ちる場合が あるってことか。
250 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 02:48:29 ] Cじゃなくてアルゴリズムの話なんだけど、アルゴリズムのほうが超過疎なのでこちらで聞きます [1] [2] グラフG(V,E)の各エッジに0〜1.0間の数値で確率がランダムで与えられている。 各ノードに到達するまでの確率の積が最大となるような木を作りたい。 別の表現をすると、一般的なダイクストラ法の条件1.リンクコストが非負、2.コストの和が最小の経路を求める というのを、1'.リンクコストは0〜1の実数、2'.コストの積が最大の経路を求める に変えて考えたいです。 ダイクストラのアルゴリズムをちょこっと変えるだけで、この問題を解くアルゴリズムは書けますか? [3] 指定なし [4] できるだけ早く [5] コードじゃなくてアルゴリズムがほしいです
251 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 02:57:55 ] スレチだろ
252 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 04:12:50 ] 鼬買い 数学遺体毛
253 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 09:26:07 ] >>245 コンパイラによって結果が変わるコード書く奴の方が100倍は嫌だよ。
254 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 09:30:58 ] 複数回通る事を禁止していないので明らかに解が無い。
255 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 10:02:33 ] >>250 とありあえず、大学、学部が何処かを言ってくれ。 それによって回答のレベルが変わるから。
256 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 10:10:23 ] 複数回通る事を禁止しなくてもよくないか? 2回目に同じノードを通過するときの確率は1回目の確率以下にしかならない
257 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 10:18:56 ] >>250 ダイクストラ法は理解してるのか?理解してたら簡単に書き換えられると思うんだが。 >>255 どう解答のレベルが変わるんだよw
258 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 11:24:44 ] >>257 手取り足取りになるのか ヒントだけで済むのかによって 変わるんじゃないかな
259 名前:250 mailto:sage [2010/08/13(金) 14:10:58 ] >>255 個人情報ですから回答できません。 >>257 簡単でないから質問してるのですが・・・ その方法を具体的に書いてください。話はそれからです。
260 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 14:14:04 ] 大学と学部は個人情報じゃないよ
261 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 14:20:46 ] ↑質問に答えられないくせに・・・うざいなこいつ
262 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 14:23:15 ] 質問スレではどういう態度で発言すべきか学習してから出直す事だな。 1年もすればほとぼり冷めるだろう。
263 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 14:34:37 ] ↑質問の意味すら理解できない馬鹿wwww
264 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 14:57:32 ] 宿題は自分で考えないと意味がないだろ
265 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 21:06:53 ] >>259 たとえばコストを計算するときに一般的なダイクストラ法では、cost = node.cost + costs[i];とかするわけじゃん これをcost = node.cost * costs[i];にすればいいでしょ あとはcostがでかくなるように経路を確定していけばいいじゃん すごく簡単だと思うんだけど、どこが簡単じゃないのか具体的に書いてください。話はそれからです。
266 名前:デフォルトの名無しさん mailto:sage [2010/08/13(金) 23:52:39 ] ほう・・・新しいキチガイパターンだな 大学と学部を聞き出そうとするなんて
267 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 02:54:59 ] [1] 授業単元: アルゴリズム論1 [2] 問題文(含コード&リンク): if文を用いないで2つの整数から最大値を求めるプログラムを作る [3] 環境 [3.1] OS: Windows [3.2] gcc 4.3.4 [3.3] 言語: C [4] 期限: 無期限 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 標準ライブラリのmax、及び三項演算子は使用禁止でお願いします
268 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 03:08:55 ] #include<stdio.h> int main() { int a,b; a = 3; b = 2; for(;a >= b;){ printf("%d",a);break;} for(;a < b;){ printf("%d",b);break;} return 0; }
269 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 03:18:38 ] #include<stdio.h> int main() 笑
270 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 03:20:53 ] あ?なんか文句あんのか?
271 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 03:29:04 ] いえ、ありませんが、ISO、ANSI準拠()笑
272 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 03:32:50 ] すくなくともC99には外れてねえぞ?
273 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 04:13:10 ] [1] 授業単元: Cコーディング初級 [2] 問題文(含コード&リンク): プログラムを実行した日がその年の第何週目にあるかを終了コードとして整数で返す [3] 環境 [3.1] OS: Windows [3.2] gcc 4.3.4 [3.3] 言語: C [4] 期限: 8/16 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) time.h を使います 週の頭は日曜から始まります 1月1日を含む週に4日以上ある場合に第1週となります つまり1月1日が日曜から始まっているときはその週が第1週ですが 1月4日が日曜から始まっているときはその週が第1週になります
274 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 04:16:30 ] batじゃなかったのか?
275 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 04:58:30 ] 標準スタイル云々はどうでも良い。 >>268 のコードが稚拙。もう少し捻りなさい。
276 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 08:44:12 ] void main(void)厨は>>273 どうやって解くの?
277 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 09:04:43 ] >>267 #include <stdio.h> #include <stdlib.h> int main() { int a, b; a = 10; b = 1; printf("%d\n", (a + b + abs(a - b)) / 2); }
278 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 10:15:53 ] >>272 どうでも良いよ、そんなの。int main() 笑
279 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 11:22:01 ] >>273 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10914.c
280 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 11:35:29 ] >>269 C99 にははずれていないし、C89 ならもっとはずれていないのですけれども。
281 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 11:50:12 ] なんかひどい状況になってますなw
282 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 11:55:50 ] うん、文法的にはint main() {笑;}が正しいね。>>278 は文法を知らないようだ。
283 名前:デフォルトの名無しさん [2010/08/14(土) 12:00:18 ] >>282 何勝利宣言しているのか知らないがISOの標準スタイルについては解決済み。 文法とかではなく、標準スタイルを知らないのはお・ま・え。 この話は終了。自分が知らないことを相手が自分が思ったことを 理解していないで解決している内は、まだまだ情報弱者だという自覚がないようだな。 もしお前が学生ではなく教える立場の人間なら、お前が育てた生徒は碌なのがいない。
284 名前:デフォルトの名無しさん [2010/08/14(土) 12:46:04 ] >>282 > 文法的にはint main() {笑;}が正しい 文法について言うならコードの中に注釈// や /* */ を使用せず 全角文字{笑}なんて書いたらコンパイラが通さないんだが・・・ まぁお前のコンパイラはその 笑 すらコードの一部として通すかもしれないが。 文法で言うならお前の方こそ無駄口を叩いたせいで間違えてるぞ。 そういうの墓穴を掘る、蛇足って言うんだよ。 要らん反論するなよ。お前が無駄口叩いて自分こそが間違えたんだから。
285 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 12:48:58 ] int main() のintに突っ込んでいるのか、()に突っ込んでいるのか、どちらだ?
286 名前:これが和訳できないなら黙ってろ mailto:sage [2010/08/14(土) 12:51:49 ] >>282 >>280 C99がどうとかではないんだが・・・ ttp://www.bohyoh.com/CandCPP/FAQ/FAQ00042.html 5.1.2.2.1 Program startup < ”プログラムの開始”を”main関数”とすることに関する記述 [#1] The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with no parameters: int main(void) { /* ... */ } < 根拠 or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared): int main(int argc, char *argv[]) { /* ... */ } or equivalent,9 or in some other implementation-defined manner.
287 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 12:53:25 ] >>282 > うん、文法的にはint main() {笑;}が正しいね。 どこが?何その {笑} の 笑 は?ふざけてんのか? > >>278 は文法を知らないようだ。 ブーメラン・・・お前は民主か?w
288 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 12:56:03 ] >>282 は標準スタイルだけでなく文法も基本ルールも知らないようだ。 ""で囲うなり注釈などで全角文字は通るが、基本は半角文字を使うのに やはり独自の環境を使用しているのか、コードの一部に全角が入っても 通るような環境を使っている人は言うことが違うぜw お前が講師ならお前が育てた生徒は不適切な知識を得て卒業するだろう。 お前が学生なら知ったか無知の未熟者。将来C言語で商売をしようと思わないことだな。
289 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 12:59:14 ] >>282 負けを認めろ。C99の標準スタイルでもISOは プログラムの開始をmain関数とし、引数が無い場合は int main(void) と提唱しているんだよ。ただ、これはあくまでも 標準スタイル。従わなければいけないものではない。 独自の環境を使用している場合は「その限りではない」と 前スレでもしつこく説明したんだがねぇ。お前新参? だったら出過ぎた真似をせずに人の話は聞いてな。 未熟者の意見なんて、社会じゃ聞いてもらえないどころか 意見したことで上から目をつけられて干されるよ。
290 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 13:00:32 ] それから前スレのログを提示しておく。 これ以上の議論は無駄なんで他所でやってくれ。 2bangai.net/read/d17c5b92871645cd16b0d4d4f6cb164865880a01053bdce9b7eff5642a1418ec/901
291 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 13:01:36 ] シェルから呼び出す時ならint mainで良いんじゃない? あと、ループさせないならforは不適。 if推奨。
292 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 13:05:04 ] あっ自分のスタイルは int main() 笑 という個人的な話はもう不要ですよ。 あんたがそうしたいなら書けば良いだけ。しかし、正式な場所に出てそんな 記述をしたら笑われますからw こいつ無知だ、自己流だ、世の標準を知らない 情報弱者とな。
293 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 13:07:28 ] 独自スタイルを何がなんでも認めてもらおうなんて意見は要りませんよ。 あくまでも世界的な標準を決めているISOの提唱に関する話だから。 世の中がお前基準に動いてないことくらい、早く理解してくださいね。 お前も所詮、権力者でもなければ単なる一般人、国籍のある国民の一人に過ぎませんから。 お前一人が自分がそうするから世界で認めろ!なんて言っても、それなりの 立場の人間でなければ受け入れられませんから。 あと、C言語に限らずプログラム言語は何も、個人や学校以外でも 普通に世の製品で用いられていますから。そういうことも理解して下さいね ♥
294 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 13:20:30 ] バカしかいねぇw
295 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 13:26:41 ] 自分の目で5.1.2.2.1を全部見ろよ ちゃんと通る書き方だってのに
296 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 13:56:19 ] Cが欠陥言語だからこんな不毛なレスが出てくるんでしょう
297 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 14:06:41 ] Cの場合は規格が後から作られたようなものだから、少々のズレはあるんだ。 逆に後付け設定のくせになにいってんだって感じだよ。
298 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 14:18:15 ] >>289-290 つまり、int main(void)は正しいという事だな。めでたく終了。 901: 900 2010/07/31(土) 12:58:41 >>899 ああー、なるほど。 【 899 】: デフォルトの名無しさん 2010/07/31(土) 12:39:42 >>897 できた(値の範囲チェックはしていない) #include <stdio.h> int main(void) { int busstop[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 4, 3, 2, 1};
299 名前:デフォルトの名無しさん [2010/08/14(土) 14:19:12 ] とりあえず、一番最初にケチつけたヤツの模範解答希望。 理屈じゃなくてプログラムで。
300 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 14:31:27 ] >>273 main云々の話には加わっていないが。 #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { time_t now; struct tm *ltm; int r; time(&now); ltm = localtime(&now); r = abs(ltm->tm_wday - ltm->tm_yday) % 7; r = (ltm->tm_yday - r) / 7 + 1 + ((r > 3) ? 1 : 0); /* printf("%d\n", r); */ return r; }
301 名前:267 mailto:sage [2010/08/14(土) 15:18:22 ] >>268 >>277 ありがとうございました 助かりました
302 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 15:23:44 ] さすがにISO準拠すら知らない情報弱者が言う反論は根拠がない 自分が勝手に決めたスタイルで笑えるw 一生、公の場でそんな主張をしてみろ。まぁお前が日頃 活動している場所が閉鎖的で、世界だけでなく日本国内でも 無名の小さな会社なんだろうけど。世の中で名のある企業は 何かと安全面でもISO準拠だよw 分かったか?ISOは意味も無く標準化を提唱しているんではないと。 それなりに全体の流れ、能率、効率を考えて取り決めされているんだよ。 口説いようだが、独自の環境を使用している場合はその限りではない。 この但し書きすら理解できないようだなw 別にお前個人が問題ないと思うならそのスタイルを押し通せば良い。
303 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 15:25:52 ] ただの宿題スレでやけに必死な奴がいるな^^;
304 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 15:28:07 ] int main() がどーのこーの、 return 0 がどーのこーので永遠に罵り合える連中です。
305 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 15:39:18 ] ISOだけが正統と考えるのはイクナイ ANSIだってJISだってそれに匹敵できる正統性を主張 できるくらいのコストをかけて標準作りに勤しんでる筈
306 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 15:41:02 ] rubyなんざ標準化されてないもんな。 C/C++は標準化されてるだけマシと考えるべき。
307 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 15:42:37 ] int main() が C99 で ISO 準拠であることを、前スレで ISO/IEC9899 まで引用して説明したんですけど、その議論自体に反証をしめすわけでもないんですね。 議論の仕方をしらないようで、こまったものです。 >>286 >or equivalent に注目してください。これに、ISO/IEC9899 6.7.5.3 14 を適用すれば int main() が ISO 準拠であることがわかるでしょう。 前スレで該当する箇所を貼り付けてくださった方がおりますので、ご要望があれば再度貼り付けます。 残念ながら www.bohyoh.com/CandCPP/FAQ/FAQ00042.html は、この or equivalent の部分が抜けています。
308 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 15:44:50 ] もはやスレチの領域
309 名前:デフォルトの名無しさん [2010/08/14(土) 16:23:56 ] もう自分がISO準拠でなかったスタイルを長年継続したせいか 今さら変えたくなくて涙目なんでしょwwwwwww イイヨイイヨー、別にISO準拠を押し付けたりしないから。 ただ、反論してもそれは個人に対してではなく ISOに対して意見しているんだと自覚して下さいね ♥
310 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 16:24:48 ] >>307 >議論の仕方をしらないようで、こまったものです。 ここは議論の場ではありません
311 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 16:31:57 ] 場のわきまえ方を知らないようで、こまったものです。
312 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 16:33:07 ] >>311 年寄りが若者に対していう言葉ですね。
313 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 16:36:57 ] 年寄りが馬鹿者に対して言ってる言葉ですが?
314 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 20:18:24 ] >>273 2009年1月3日は第0週なのか。それとも第一週か。
315 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 20:23:24 ] 週の頭は日曜から始まります 1月1日を含む週に4日以上ある場合に第1週となります つまり1月1日が日曜から始まっているときはその週が第1週ですが 1月4日が日曜から始まっているときはその週が第1週になります
316 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 21:16:41 ] 「1月4日が日曜から始まっているときはその週が第1週になります」 という状況のときの1/1, 1/2, 1/3は未定義と表示させればいいのか?
317 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 21:22:45 ] 1月1〜3日は三が日で休みとして、何か仕事に関わる スケジュールのつもりか?とりあえず1日が木曜日の場合 0週で良いんじゃね?
318 名前:デフォルトの名無しさん [2010/08/14(土) 21:29:55 ] 前年の最終週でしょう
319 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 21:32:26 ] 0時/24時みたいに0週目/53週目で考えると 「その年の何週目」だから0週目なんだろうなやっぱり
320 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 21:36:41 ] 今年の何週目かでなんで去年の話になる?w
321 名前:デフォルトの名無しさん [2010/08/14(土) 22:07:08 ] vbsだが Option Explicit WScript.Echo DatePart("ww", "2010/1/1" , vbSunday , vbFirstFourDays)
322 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 22:53:52 ] >>321 スレチ
323 名前:デフォルトの名無しさん [2010/08/14(土) 22:58:38 ] プログラマ板的にわかりやすく根拠書いただけだろ
324 名前:デフォルトの名無しさん mailto:sage [2010/08/14(土) 23:43:51 ] age厨うぜぇ〜ぞ、お前の主観で根拠とか言われても 全然説得力ないから。他所でやれ。
325 名前:デフォルトの名無しさん [2010/08/14(土) 23:57:37 ] どこまで馬鹿なんだこいつは
326 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 15:53:34 ] 宿題ないですねえ。
327 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 15:57:33 ] >>326 夏休みだからなぁ。
328 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 15:58:26 ] ナツナツナツナツココーナーッツ♪
329 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 16:19:47 ] 学生諸君、コピペリポート見破りソフトあるぞ ttp://headlines.yahoo.co.jp/hl?a=20100815-00000207-yom-soci 学生のリポート作成で、インターネット上の資料をそのまま引き写す 「コピー&ペースト(コピペ)」の横行に、大学側が悩んでいる。(読売新聞) このスレ\(^o^)/オワタ
330 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 16:27:39 ] このスレはオワテないよ。なぜなら、適当に変数名、数式の書き方などを 適当に個人スタイルに書き直せば良い。丸写しで提出する奴は本当にバカだし そんなんで理解したと評価されるのはおかしい。 なんなら、暗号化と復元を利用してネットでアップする文字列は 意味不明なものにしても良い。
331 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 17:00:10 ] 多く出現する変数名いくつかの名前変えるだけで、60%近く変化しそうだな。
332 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 17:03:33 ] コピペかどうか分からなくするソフトつくれしw 単なる難読化じゃなくて、それっぽく、識別子を置き換え、 for(;;)やwhile(1)なんかも交換可能なリストを持っておいて、 統一した流儀で書き換える。インデントも。
333 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 17:08:21 ] >>332 よし卒論はそれでおkだな
334 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 17:09:13 ] カンタンなわりに強力なソフトができるな。 カンタンと言っても、実装はそれなりに複雑だろうけど。
335 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 18:34:41 ] >>273 自分もやってみた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10915.c
336 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 18:38:50 ] 教官が毎年問題をコピペしてたら、どうする?
337 名前:デフォルトの名無しさん mailto:sage [2010/08/15(日) 19:06:19 ] よろこぶ
338 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 02:01:40 ] int main()でreturnを書かないのが標準なの?
339 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 02:07:48 ] >>338 もうその話は他所でやれw C++ならそれでおk。
340 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 03:34:24 ] 何かつまんねぇなぁ。おいっ、どこぞの低レベルの学校の講師、見てっか? パズルゲームくらい課題にしろ。数独や16ゲームとか、時間が掛かるけど 1年間あればそれくらい作れる人材を育成しろ。
341 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 17:14:09 ] >>255-265 ありがとうございます。望んでいる通りに動きました。 一つ心配だったのは、ダイクストラってコスト最小の全域木という保証があるけど 積にして、かつ最大をとるっていうアルゴリズムってコスト積最大の全域木になるのかどうかがわからなかったのです 普通に考えてみれば自明ですよね・・・ ちなみにFらんですすいません
342 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 18:37:01 ] >>341 大学をきくやつの頭がどうかしている。がんばれ。
343 名前:デフォルトの名無しさん mailto:sage [2010/08/16(月) 20:55:20 ] >>267 2つ以上の整数の場合 #include <stdio.h> #include <stdlib.h> int main(void) { int a,b,c,n,i; printf("入力する整数の個数を入力して下さい:"); scanf("%d",&n); printf("1個目の整数:"); scanf("%d",&a); for (i=0;i<n-1;i++){ printf("%d個目の整数:",i+2); scanf("%d",&b); c=(a+b+abs(a-b))/2;a=c;} printf("入力された整数の最大値は%dです",a); return 0; }
344 名前:343 mailto:sage [2010/08/16(月) 22:02:24 ] cはいらんね、失礼w
345 名前:デフォルトの名無しさん mailto:sage [2010/08/17(火) 07:57:53 ] if文は使えないが比較演算子が使えない訳ではないのなら楽だが
346 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 01:16:12 ] >>340 数独の問題1つ、総当たりなら1年も掛からず作れそうだけど、ちゃんとした問題作成の方法があるんですか?
347 名前:346 mailto:sage [2010/08/18(水) 01:17:06 ] 問題作るのに1年じゃなくて、問題作成ソフトに1年掛からなそう
348 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 05:03:19 ] 何もC言語を知らない生徒がいきなり作るのは難しいだろうし 1年を通して最後に提出する課題として、出しておけば良いだけ。 その問題を回答するのに、1年かけなければいけないわけではない。
349 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 11:35:39 ] for文まで習えば問題作成も回答も汚いコードだけどできるよね for文のネストが81できることが前提だけどCの仕様ではどうなってる?
350 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 17:49:08 ] 規格では特に何も言ってないと思う
351 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 18:07:04 ] またまたご冗談を
352 名前:デフォルトの名無しさん mailto:sage [2010/08/18(水) 18:51:07 ] 仕様や規格以前に、81もネストするプログラムって何だよ
353 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 03:53:16 ] コードの自動生成でもそこまで酷くならないよな。 そもそもそんなにネストして実用的な速度がでるとは思えない。 でも再帰の展開すればそれぐらい行ったりするのか?
354 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 08:01:09 ] ひんと キャッシュ
355 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 08:21:36 ] 誰か数独の問題を作り、あるパターンを与えられたら 自動的に解答してくれるコードを書いてちょっ!
356 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 08:56:17 ] 禿死苦概出
357 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 10:46:02 ] >>356 参照無しに言うとかw
358 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 10:49:33 ] www.google.co.jp/search?q=2ch+%E6%95%B0%E7%8B%AC+%E5%AE%BF%E9%A1%8C
359 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 10:49:47 ] >>357 C/C++の宿題片付けます 135代目 pc12.2ch.net/test/read.cgi/tech/1269438098/
360 名前:child [2010/08/19(木) 11:38:57 ] xlsファイルを出力するよう言われたのですが、今までプログラムを扱ったことがなく困っています。 どなたか教えていただけないでしょうか?
361 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 11:40:36 ] キミには無理です。
362 名前:child [2010/08/19(木) 11:42:04 ] 自分でも難しい事は十分に承知です。周りにもできる人がいないためここに来ました。 どうかよろしくお願い致します。
363 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 11:42:36 ] お願いされても無理です
364 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 11:43:42 ] >>362 csv じゃダメなんですか
365 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 11:49:43 ] xlsとかいきなり言われても、MSの製品だし
366 名前:child [2010/08/19(木) 11:50:39 ] csvでも大丈夫です。 どうぞよろしくお願いいたします。
367 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 11:51:52 ] >>360 excel のマクロでやれよ
368 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 11:53:51 ] >>366 #include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp; fp=fopen("hoge.csv", "w"); if(fp==NULL) exit(1); fprintf(fp, "1,2,3,4,=a1+c1\n"); fclose(fp); return 0; }
369 名前:child [2010/08/19(木) 11:59:36 ] 質問なんですが、 FILE *fp; fp=fopen("hoge.csv", "w"); if(fp==NULL) exit(1); fprintf(fp, "1,2,3,4,=a1+c1\n"); fclose(fp); と言うのは言葉で説明すると何をしているのでしょうか? 全く分からないもので申し訳ないです。
370 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:00:21 ] >>369 本屋へGO!
371 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:03:41 ] >>369 なんだろう、こいつには絶対答えてやりたくない。
372 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:19:21 ] だから、キミには無理って言ってるでしょ。 実際のプログラムは>>368 の数百倍複雑。 キミは>>369 のような質問を数百回繰り返して作るつもりか?
373 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:22:46 ] 1から100まで教わろうとする姿勢。 まさにエクストリーム教えてクン。
374 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:34:54 ] 100までの素数を求めよ
375 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:38:44 ] 1からか?
376 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:40:32 ] 1が素数ではない事を知らない素人は回答禁止。
377 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:41:15 ] 素数だと100に到達できないしなw
378 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:42:42 ] >>374 #include <stdio.h> int main(int ac, char **av) { int i; for(i = 1; i <= 100; i++){ printf("1から100までの素数を求めます\n"); } return 0; }
379 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:43:27 ] 問題文不適切で回答不能
380 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:47:39 ] 100以下のソースを求めよ
381 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:52:11 ] 100円ショップにある
382 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:54:51 ] 1から100までに含まれる全ての素数を求めよ こういう問題文にしろってこと?
383 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 12:56:44 ] マイナスで素数とか
384 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 13:01:25 ] いくつから始めるか書いてなければ、解答者が好きに決めていいのか?99からだと、解なしだよな
385 名前:child [2010/08/19(木) 14:09:00 ] 素数は1より大きな自然数だと定義されています。 ここはこんな基本常識すら知らない人の集まりなんですね。 まともな回答を期待した私が馬鹿でした。
386 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 14:19:07 ] またまたご冗談を
387 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 14:24:05 ] まぁ素数って言ったら正の整数で求めるのが一般的ですな。
388 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 14:27:29 ] ここはプログラム板、数字板じゃない
389 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 14:32:24 ] 0は整数でないとして 整数で 1のみが素数で、他は擬素数、擬素数の積が合成数 他は負数 という表現方法もあるが、教科書に書いて広めることは 禁止とまではいかないが圧力をかけられる おはしを持つ手が右手 と教えられるのと一緒
390 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 14:35:44 ] プログラミング言語は文法の固まりみたいなもので 文法の殆どは、「おはしを持つ手は右手」の類いのもの しかしだからといって余りそのバリエーションが増えす ぎるとカオスになる。 逆に極端に一つに統一されてもまた大変になる。 難しいですなw
391 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 14:39:05 ] このスレは淡々と宿題をやってればいい。議論はいらないよ
392 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 15:48:41 ] アルゴリズムなど知らぬ凡人が作ってみたお(´・ω・`) #include<stdio.h> int main(void){ int i = 3, j, k; printf("1〜100までの素数\n"); printf("%2d %2d ", i-1, i); i += 2; while( i < 100 ){ k = 0; for( j=3; j<i/2; j+=2){ if( !(i % j) ){ k++; break; } } if( !k ) printf("%2d ", i); i += 2; } printf("\n"); return 0; }
393 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 16:00:24 ] 複素数は素数の一種ですか
394 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 16:07:45 ] いや、全然意味が違うし。どちらかというと素数が複素数の一部に含まれる。 数学的な話は数学板で。まぁあの板、結構気質が悪いけどな・・・ ところで、暇な君達に有難いコードを伝授しよう。 for(;;);
395 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 16:36:09 ] なんで complex number の日本語訳が 複素数 になったんだろう
396 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 16:41:55 ] 虚部と実部の2つ(複数)の要素(元)が存在する数だから とか言ってみるテスト
397 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 16:48:11 ] 複虚数とか複合数とかなら分からんでもないが「素」数にしてしまったのが意味不明なんだよな
398 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 16:49:18 ] 複元数がしっくりくるな
399 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 16:49:59 ] 宿題以外で沸きすぎだろこのスレ 頭わいてんのか?
400 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 16:58:14 ] でも複元数というとtritanion, quatanionを想像してしまう まぁ、quatanionは複素数を拡張しただけなんだけどね
401 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 17:14:20 ] 何で宿題スレで関係ない話を延々としてるの?
402 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 17:19:26 ] いつものことです
403 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 17:53:26 ] そんなに暇なら宿題出そうか?
404 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 18:10:15 ] >>385 申し訳ないが、Gaussian integer における素数というものもありますよ。
405 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 18:12:49 ] >>385 きみは ばかだなぁ
406 名前:デフォルトの名無しさん [2010/08/19(木) 18:18:01 ] >>404 >>405
407 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 18:22:33 ] >>406 複素数の世界にも素数という概念はあるのですが。 (参考文献)www.amazon.co.jp/dp/4000051717/
408 名前:407 mailto:sage [2010/08/19(木) 18:24:03 ] いや、こっちだ www.amazon.co.jp/dp/4320010019/
409 名前:デフォルトの名無しさん [2010/08/19(木) 18:24:30 ] >>407 ???俺は複素数の世界に素数が無いなんて一言も言ってないが??? >>404-405
410 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 18:25:37 ] [2] 問題文 以下の関数を記述しなさい。 long Shuffles(int nCards, int iCut); この関数は、以下の処理の解を返す。 1.n枚の全て異なるカードがAに置かれている。 2.上からi枚目までを取り、右隣Bに置く。 3.Aの山の一番下からカードを取り、Cの上に置く。 4.Bの山の一番下からカードを取り、Cの上に置く。 以下、3と4を何れかの山が無くなるまで繰り返す。 5.残った山のカードをCの上に置く。 6.Cの山をAの位置に移動する。 カードが初期の並び順に戻るためには、この操作を何回繰り返せば良いか。 引数、nCardsはカードの枚数、iCutは2の操作時に分ける枚数を指定する。 回答は作成したソースと、 正しく動いている証として、Shuffles(1001,100)の実行結果を書きなさい。 [3] 環境 [3.1] OS:問わない [3.2] コンパイラ名とバージョン: 問わない [3.3] 言語: C [4] 期限: 一週間くらい?
411 名前:デフォルトの名無しさん [2010/08/19(木) 18:26:39 ] >>408 自分が他人に説明できる知識として知りもしないのに ある学者がそういうことを言っている、みたいな引用で 知ったかぶるのは無知も同然ですよ? 知らない人は知らない、しかし存在しないと言っていない以上 否定はしていない。貴方は今この世に存在しているから 誰も貴方の存在は否定できませんが、貴方も私も お互いに知らないでしょうね。知らないからといって存在しない 訳ではない、そういうことです。もう少し 柔軟な考え 頭 を持ちましょう。 で、貴方自身が何か研究なさっているんですか?学業でそういった ことを取り扱っているんですか?
412 名前:デフォルトの名無しさん [2010/08/19(木) 18:27:55 ] >>404-405 (・∀・) スレタイも読めないバカは数学板に帰れ
413 名前:デフォルトの名無しさん [2010/08/19(木) 18:28:36 ] >>408 amazon(笑) レビュー(大爆笑)
414 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 18:28:41 ] >>409 >>385 >素数は1より大きな自然数だと定義されています。 >>405
415 名前:デフォルトの名無しさん [2010/08/19(木) 18:29:55 ] >>414 >>404-405 お前らはまず日本語から勉強を始めろ 相手にまともに説明できる知識を持ち合わせてないから
416 名前:デフォルトの名無しさん [2010/08/19(木) 18:31:59 ] このスレで出される素数を求める問題と、素数そのものを数学的に考えるのと 一緒くたにされても・・・そういうプログラムが必要なら自分でコードを書けば? >>404-405
417 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 18:37:58 ] 一般的には素数は自然数、正の整数の範囲で求めるものばかりだから これ以上、大学で研究するような専門的なあまり知られていない様な 話はこれくらいにしとけ。相手に理解力がなければいくら説明しても 理解されないのは当然。自分は知っている、だから何?としか思われないよ。 そこまで言うなら、確実に証明できる形で、まずご自分の身元を明かして どこの誰でどこで研究しているか、活動しているかを明かして数学板で議論をなさっては? 数学板は妙に気持ち悪い、数学を知った気になって初歩的なミスをしている癖に 持論を展開している奴らが多いからなw 所詮2ちゃんねる。 社会的に、世界的に認められた場所でもないから。
418 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 18:42:51 ] >>417 いつもながらの無意味に長い長文乙 getchar() の返り値は int でとりこみましょうね?
419 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 18:56:21 ] >410 LIAR GAMEでもやるか 数学的な考察をあたえないと僕はプログラムを書く気になれない
420 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 19:26:43 ] >>419 わからないなら黙ってればいいおw
421 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 20:14:16 ] >>410 330回?
422 名前:410 mailto:sage [2010/08/19(木) 20:15:46 ] >>419 設問に、「効率的なロジックを組めば数秒〜1分のオーダーで結果が返る」とありました。 某社のプログラマ採用試験で使われた問題です。 簡単そうに見えますが、まともに組もうとすると、1日かかっても処理が終わりません。
423 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 21:02:23 ] >>421 一緒の答えが出た >>422 1000回繰り返して 1.8秒 だった 桁間違えてない?
424 名前:デフォルトの名無しさん [2010/08/19(木) 21:22:45 ] >>422 Pythonで問題文そのままで組んでみたけどすぐに結果でた codepad.org/gg8kAyjv >>421 >>423 同じく330回
425 名前:422 mailto:sage [2010/08/19(木) 21:27:43 ] 済まん、問題文間違えてるかも知れない。ちょっと調べてみるね。時間もらいたい
426 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 22:20:42 ] 夏休みだから自由課題 (n>=1) n枚のカードの束がある。上から1枚目を一番下に移動、次の1枚を捨てる。 これを繰り返すと、最後に残る1枚のカードは最初、上から何枚目にあったカードか求める。 例えば5枚ある場合 1 2 3 4 5 -> 3 4 5 1 -> 5 1 3 -> 3 5 -> 3 となり上から3番目のカードが残ることになる。 また、1〜n枚目のそれぞれの結果をが、どういう法則かもまとめよ。
427 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 22:29:23 ] >>410 同じく330 >>426 郡数列面倒だから一般項は求めてない codepad.org/IfDGUk5Z
428 名前:デフォルトの名無しさん mailto:sage [2010/08/19(木) 22:50:20 ] >>426 int hoge(int n) { int x; for(x=1;x*2<=n;x<<=1); return (n-x)*2+1; }
429 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 00:00:12 ] >>426 codepad.org/5nsJuQgb
430 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 03:04:00 ] [1]ヒマ人向け [2] 問題文 以下の関数を記述しなさい。 long Shuffles(int nCards, int iCut); この関数は、以下の処理の解を返す。 1.n枚の全て異なるカードがAに置かれている。 2.上からi+1枚目から下を取り、右隣Bに置く。 3.Aの山の一番下からカードを取り、Cの上に置く。 4.Bの山の一番下からカードを取り、Cの上に置く。 以下、3と4を何れかの山が無くなるまで繰り返す。 5.残った山のカードをCの上に置く。 6.Cの山をAの位置に移動する。 カードが初期の並び順に戻るためには、この操作を何回繰り返せば良いか。 引数、nCardsはカードの枚数、iCutは2の操作時に分ける枚数を指定する。 回答は作成したソースと、 正しく動いている証として、Shuffles(1001,100)の実行結果を書きなさい。 [3] 環境 [3.1] OS:問わない [3.2] コンパイラ名とバージョン: 問わない [3.3] 言語: C [4] 期限: 今日の朝10:00迄
431 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 04:23:37 ] www.google.com/search?q=long+Shuffles (int+nCards%2C+int+iCut) 元ネタはShuffles(1002,101)らしいけどいいの? まあ32ビットじゃおさまらないけどさ
432 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 07:42:30 ] >>430 12025860回 で 73秒 になった
433 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 07:50:28 ] なるべく手順どおりに実装する方法で 53秒 までは短縮したけど 根本的にアルゴリズムを考え直さないと数秒ってのは無理っぽいね
434 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 07:53:13 ] そうですか・・・残念です。
435 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 07:58:27 ] だから、数独の問題を作る。与えられた問題を解くコードを書いてみ。 各行、列に数字は1〜9が1つずつ、さらに対角線も1〜9が1つずつ。
436 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 08:13:41 ] ある方法を使って 0.2 秒になった けど、あたえられる数値によってものすごく処理時間に幅がありそう
437 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 08:40:34 ] >>431 count=5812104600 109.109[sec]
438 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 08:48:34 ] ハノイの塔でも解きやがれぇ〜、再帰でな
439 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 09:40:11 ] 探索系問題は(アルゴリズムが既に知られておりメモリ使用量の見積もり が十分できるものを除いて) Cで書くのは個人的には敬遠したいところ 出来る出来ないの問題じゃなくて
440 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 10:07:00 ] >>439 逆にCだろ
441 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 11:00:54 ] ハノイの塔について 最初に A B C のうちの A に N 段あったとして それを全部 B に最短手順で移動させたい場合 最初の一手を B に置くか C に置くかを N の値によって求めなさい
442 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 11:07:55 ] >>441 int hoge(int N) { return (N&1)?'B':'C'; }
443 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 11:28:01 ] ハノイの塔はN枚を最短で移動するには 2^N - 1 回動かさないといけないんだぞー 仮に1枚を1秒で動かしたら、25枚動かすのに1年以上掛かるんだぞぉ〜 31枚で約68年。一生をハノイの塔の移動で過ごすかい?
444 名前:デフォルトの名無しさん [2010/08/20(金) 11:33:10 ] じゃあ一般化したハノイの塔の最小手順を 円盤枚数をd,ペグの本数をnとして求めなさい
445 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 12:53:48 ] インドで62枚のハノイの塔をやり続けている方がいるはず。終わると世界は消滅するとか。
446 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:11:12 ] 62枚では1枚1秒ペースだと1462億年以上掛かりますがな 生きてねーよ、それだけ動く肉体がもたねーよw
447 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:18:45 ] 別に一人で作業する必要はないだろ つかゲームについてきた「伝説」は64枚な
448 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:35:42 ] A:1 4 B: 2 5 C: 3 6 9 を 1: 2: 3:1 2 3 4 5 6 に出来る?最小何ステップで? 一番左の数字を別の文字の先頭に移動できる。 ただし数字は常に左のほうが小さいようにならんでなければならない
449 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:37:21 ] >>448 A:1 4 B:2 5 C :3 6 A: B: C:1 2 3 4 5 6 ね
450 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:43:54 ] >>447 動かせる範囲からして大勢でやっても効率よくならんし 確かに一人でやるとは言っていないが、1枚1秒ペースでやっても 1462億年以上ですよ?w もはや作業する人の一生がどうとかってレベルじゃねーぞw
451 名前:デフォルトの名無しさん [2010/08/20(金) 13:47:16 ] 131215と6回動かして A:1 2 3 4 B: C:5 6 残りは4枚のハノイの塔だから4**2-1回動かす 6+15=21回
452 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:48:02 ] っつか、はっきりとは分からないが人類誕生から約46億年だっけ? それが終わるまでに地球ごと消滅してんじゃね? 1秒で10枚動かせたとしても、1枚1秒ペースの1/10にしかならん。 100倍のペースにしても、世代を受け継いでも、物理的に現実的に 実現するのは容易いことではないのは言うまでもない。
453 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:50:27 ] しかも、1枚1秒ペースというのは全体を通しての平均だから 途中で休憩を入れるなり、常にそうでなくても、開始から終了まで 常にそのペースを保っていなければならない。1年間もそうしていられるかね? そんなことのために?人間の寿命だって人それぞれだし。 馬鹿馬鹿しい。何の為に生まれてきたのかw
454 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:50:49 ] 14 25 36 4 125 36 34 125 6 34 25 16 234 5 16 1234 5 6 1234 - 56 4 123 56 - 123 456 - - 123456
455 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:51:24 ] >>450 >>452 >>453 終わると世界が消滅するだけで、終わるまで世界が消滅しないとはどこにm(ry
456 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:55:53 ] 人類じゃなくて地球誕生から46億年か。 人類はたかが数千万年。それも最初は猿程度の下等のものから。 人間の一生はともかく、その作業をそのペースでやった場合 それだけの時間が掛かる作業だということ。
457 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 13:57:26 ] よくできました じゃ調子にのって次いこう A: 1 5 9 13 17 B: 2 4 6 8 10 12 14 16 18 C: 3 7 11 15 => A : B : C: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
458 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 14:08:34 ] 1462億回以上、円盤を動かす訳だろ?その労力だけでも相当なもんだよ。 作業全体を通してどれだけの負担か、それをどれだけの人数で分散するかで 一人当たりの負担は変わるけど、少なくともそんなことに時間を費やせる人が どれだけいるか?現実的ではないな。もっと他に楽しめる人生があるだろ。
459 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 14:20:37 ] >>458 宗教なんてそんなもんだよ つか「伝説」だって
460 名前:デフォルトの名無しさん [2010/08/20(金) 15:19:36 ] それより数独の問題を作る、与えられた問題を解答するコードを頼むよ
461 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 15:24:53 ] gascon.cocolog-nifty.com/blog/2007/05/post_c2c3.html
462 名前:デフォルトの名無しさん [2010/08/20(金) 15:37:05 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10916.txt[3] 環境 上記の誤ったプログラムをデバッグしてください。 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年08月23日 18:00まで [5] その他の制限:特に無いです。 よろしくお願いします。
463 名前:デフォルトの名無しさん [2010/08/20(金) 15:49:40 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10916.txt [3] 環境 上記の誤ったプログラムをデバッグしてください。 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年08月23日 18:00まで [5] その他の制限:特に無いです。 リンクミスりました・・よろしくお願いします。
464 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 18:55:57 ] >>463 どこが誤ってるの? デバックってなにすりゃいいの? 宿題の問題見せてよ
465 名前:463 [2010/08/20(金) 20:06:29 ] このプログラムは、プログラム中で指定された年・月の授業予定表を出力するものである。以下の仕様を参考にしてデバッグを行うこと •年・月の指定は冒頭のマクロで行い、2010年6月を指定している (他の年月でも正しく動作するか確認したい場合は、これらの値を変更すればよい)。 •以下のユーザ定義型を使用している。 構造体のメンバの意味はソース中のコメントを参照。 ◦wday_t: 曜日を表す列挙体型 ◦period_t: 時限の期間(第何時限〜第何時限まで)を表す構造体型 ◦course_t: 授業の情報を表す構造体型 •各授業の情報は course_t 型の配列 course に格納され、それぞれの授業の開講曜日および開講時限を含んでいる。 •予定表は、指定月の1日〜月末最終日までの各日について、 その曜日の開講科目を調べ、該当する時限の位置に出力する。 実験などのように3時限以上にまたがる科目は、 「---->」のように矢印で範囲を示す。 •関数 get_last_day() は、指定年の指定月が何日まであるかを求める。 具体的には、大の月・小の月による判定(4,6,9,11は30日)に加え、 閏年の判定により2月の日数(28日または29日)を求めている。 •関数 get_wday は、指定した年月日が何曜日であるかを求める。 この計算には、以下のツェラーの公式を用いている。 ◦Y 年 M 月 D 日の曜日は、以下の式で表される(各除算の結果は小数部切り捨て)。 W = Y + Y /4- Y /100+ Y /400+(13* M +8)/5+ D ◦W を7で割った余りが0, 1, 2, ..., 6のとき、 それぞれ日、月、…、土。 ◦ただし、1, 2月については、 それぞれ前年の13, 14月として計算する (例: 2010年2月は2009年14月とする)。 正しく直すとこう出力されます。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10917.txt
466 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 20:10:18 ] これはエロい
467 名前:デフォルトの名無しさん [2010/08/20(金) 20:10:37 ] ttp://homes-cp.jp/nanmon/index.html これを解くコードを書いてくれw
468 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 20:17:22 ] >>463 カッコが閉じられてなかったり、 構造体じゃないもののメンバを参照してたり、 インクリメントが++じゃなくて+だけになってたり、こりゃ大変だな。
469 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 21:20:01 ] >>463 codepad.org/MbqIW42n
470 名前:デフォルトの名無しさん mailto:sage [2010/08/20(金) 23:35:37 ] >>457 codepad.org/ddcoMxrB
471 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 07:55:38 ] 【質問テンプレ】 [1] 授業単元: プログラム入門 [2] 問題文(含コード&リンク): リアルタイムで更新する3軸グラフを描画せよ。 X軸Y軸の範囲は100で固定し、 Z軸の値は-100から100までの範囲を取る乱数とする。 乱数の更新間隔は100ms毎とする。 [3] 環境 [3.1] OS: Windows [3.2] VisualStadio2008 Starndard [3.3] C++ (MFC) [4] 期限: 2010年8月23日18時に提出(15時) [5] その他の制限: MFC or SDK限定(C++/CLI禁止) VS2008Stanndard以外の有料の物は使用禁止 100ms毎に乱数をZ[X][Y]のような形で100*100の配列に 格納するところは簡単にできたのですが、 TIMERは作ったことがあるので、100msで更新はなんとかなりそうです。 その先の3軸グラフを描画するところが全くわかりません。 MSDN、汎用LIB、フリーのLIBから引っ張るのかな〜と思っているのですが、 どれを使うのか、そして使い方もわかっていません。
472 名前:デフォルトの名無しさん [2010/08/21(土) 09:25:48 ] だから誰か、数独の問題を作るコードと 与えられたパターンから解くコードを!
473 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 09:38:56 ] >>472 google使えないお子様はクソしてネロ ttp://www5.airnet.ne.jp/tomy/cpro/etc17.htm
474 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 09:44:12 ] >>430 自信作だよ 早いよ long long Shuffles(int nCards, int iCut){ int *A, *B, *C, A_idx, B_idx, C_idx, i, match_count=0; long long ret, x=1; A=malloc(sizeof(int)*nCards);B=malloc(sizeof(int)*nCards);C=malloc(sizeof(int)*nCards); for(i=0;i<nCards;i++) A[i]=i; for(i=0;i<nCards-iCut;i++) B[i]=A[i+iCut]; A_idx=iCut-1; B_idx=nCards-iCut-1; C_idx=nCards-1; while(A_idx>=0 && B_idx>=0){ C[C_idx--]=A[A_idx--]; C[C_idx--]=B[B_idx--]; } while(A_idx>=0) C[C_idx--]=A[A_idx--]; while(B_idx>=0) C[C_idx--]=B[B_idx--]; memcpy(A, C, sizeof(int)*nCards); for(ret=x;;ret+=x){ for(i=0;i<nCards;i++) if(A[nCards-1-i]!=nCards-1-i) break; if(i>=nCards) break; if(match_count<i){ x=ret; match_count=i; memcpy(C, A, sizeof(int)*nCards); } for(i=0;i<nCards;i++) B[i]=A[C[i]]; memcpy(A, B, sizeof(int)*nCards); } free(A);free(B);free(C); return ret; }
475 名前:デフォルトの名無しさん [2010/08/21(土) 09:46:13 ] >>473 googleは使えるがおまえ自身がコードを書けない癖に 他人のを見て知ったかぶっているお前こそ糞だろw
476 名前:デフォルトの名無しさん [2010/08/21(土) 09:47:55 ] >>473 なげーよw
477 名前:デフォルトの名無しさん [2010/08/21(土) 09:57:24 ] ユーザID不正送信騒ぎの『JaneStyle』がバージョンアップ!2ちゃんねるサイドは冷静 www.yukawanet.com/archives/2832559.html
478 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 10:03:16 ] >>475 数独関係なんてほとんどネットにあるじゃん それを知らないなんて知能が低いのか? わざわざこう言うスレで聞くまでもない位の質問だぞ 数独 まずは上のURLのコードみてそれの理解から始めましょうね 夏休みは残ってるからきちんと勉強するんですよ アフォの子ちゃん
479 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 11:19:38 ] >>430 例えば n=5, i=2 のとき、この操作は対象群 S_5 の元ひとつ ( 1 2 3 4 5 ) ( 3 4 1 5 2 ) になる。 あとはこの元の位数を求めればいいだけじゃない? GAPつかってみるのも面白いかもな
480 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 12:52:32 ] [1]夏休み自由研究 [2]ルービックキューブを解く(6面をあわせる)プログラムを書いてください [3] [3.1]出来る限りOS非依存で [3.2]出来る限りコンパイラ・バージョン非依存で(C99くらいから) [3.3]出来る限りCで(C++で作る場合は必ずクラスを使ってください) [4]8/27 [5] Cで作る場合は 各面の色の状態を 3x3 の配列で表し 全体を 6x3x3 で表してください C++で作る場合は 面の状態ではなくキューブの物理的構造をクラス化してシミュレーションしてください
481 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 12:55:55 ] >出来る限りCで(C++で作る場合は必ずクラスを使ってください) 矛盾に気が付いているのだろうか。
482 名前:デフォルトの名無しさん [2010/08/21(土) 13:16:24 ] 【行政】 コンピューターウイルスを作成した段階で処罰できる「作成罪」などを新設 法務省、刑法改正案再 kamome.2ch.net/test/read.cgi/newsplus/1281937853/ 下手なプログラムを作れば、ウィルス認定されて処罰されるよw
483 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 17:15:23 ] >>481 矛盾はしてないと思う
484 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 17:16:55 ] >>482 下手じゃないプログラムでも逮捕される世の中だしな 【速報】岡崎市立図書館へのサイバー攻撃、図書館のソフト不具合だった【絶対に許さない】 kamome.2ch.net/test/read.cgi/news/1282338089/
485 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 17:19:41 ] >>484 そもそも何を根拠に「ウィルス」認定するかが問題になるしね。 本来、ユーザにとって有害でもないプログラムも、類似するものによって ウィルス認定されかねない。
486 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 18:17:24 ] >>467 数独のヒントは7桁の郵便番号かね
487 名前:486 mailto:sage [2010/08/21(土) 19:33:36 ] 白抜きのとこ2277778になったわ 郵便番号じゃなさそうだね
488 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 20:43:08 ] C/C++言語内に、実行ファイルを組み込むことが出来るんでしょうか? たとえば、 henkan input.bmp output.bmp でinput.bmpを二値画像に変換するような実行ファイルがあったとき、 これを他のプログラムの内部に組み込みたいと考えているのですが… henkanという実行ファイルのソースが分からないので…
489 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 20:52:57 ] system
490 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 20:53:13 ] 変わった宿題だね
491 名前:デフォルトの名無しさん mailto:sage [2010/08/21(土) 21:12:05 ] >>489 これで出来るみたいですね、ありがとうございました。