1 名前:デフォルトの名無しさん [2007/05/08(火) 19:39:26 ] C言語の入門者向け解説スレです。 ・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 11 pc11.2ch.net/test/read.cgi/tech/1176800483/ 過去スレ Part 1 ttp://pc8.2ch.net/test/read.cgi/tech/1146700389/ Part 2 ttp://pc8.2ch.net/test/read.cgi/tech/1153818463/ Part 3 ttp://pc8.2ch.net/test/read.cgi/tech/1160682950/ Part 4 ttp://pc8.2ch.net/test/read.cgi/tech/1162999861/ Part 5 ttp://pc8.2ch.net/test/read.cgi/tech/1165022193/ Part 6 ttp://pc10.2ch.net/test/read.cgi/tech/1167325490/ Part 7 ttp://pc10.2ch.net/test/read.cgi/tech/1170064980/ Part 8 ttp://pc11.2ch.net/test/read.cgi/tech/1171946674/ Part 9 ttp://pc11.2ch.net/test/read.cgi/tech/1173284217/ Part 10 ttp://pc11.2ch.net/test/read.cgi/tech/1174290325/ 関連スレ C/C++の宿題を片付けます 86代目 pc11.2ch.net/test/read.cgi/tech/1176996941/ くだすれC言語(初心者用) Part.2 pc11.2ch.net/test/read.cgi/tech/1172099763/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/l50 はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/l50 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
897 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:42:59 ] こいつの脳内計算機では「値」ってのと文字とが区別されてるんだよ、きっと。 メモリにタグビットかなんかがついてて。
898 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:44:51 ] ttp://okuyama.mt.tama.hosei.ac.jp/unix/C/slide19-1.html > 次は,エスケープ文字です。 > \a ビープ音(警報) 略 > # [例1]'\0':ナル文字 > # [例2]'\x00':ナル文字 エスケープ”文字”です。おまけにシングルクォートつきで '\0' ナル”文字” どこにも値なんて書かれていましぇ〜〜〜ん。'\0'と敢えて表記するなら なおさらナル”文字”であって値じゃありましぇ〜〜〜ん。そして 僕は死にましぇ〜〜ん、C言語あるから!
899 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:44:58 ] >894 malloc&freeを忘れてもらっては困るな
900 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:45:19 ] こういう奴は議論してる最中は絶対に認めないけど、 数日経つと「そんなの当たり前じゃないか」とか言い始めるタイプ。
901 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:46:20 ] >>898 >>875
902 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:46:26 ] >>897 お前の低レベルな頭じゃ文字と値の違いがなくて、数字の0として扱われている0も 値の0なんだろうねwwww 文字と値の違いが分かってないから、数字が入ったとき 数値との区別がついてねーようだな。お前、文字と数字の入り混じったデータを 扱ったこともない素人だろw
903 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:46:56 ] おまえら夜通しやってたのか?
904 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:47:26 ] このスレはかまってくれる人が多いね。 宿題スレじゃもう誰も相手しなくなったのに。
905 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:47:45 ] 面白いオモチャだからいじってみた。
906 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:48:30 ] >>901 いや、モロニ表現って書いてあるやん。ところでさぁ、話をそらすなよ。 きゃつは敢えてシングルクォートをつけて '\0' を値といったんだぞ?w JIS規格じゃもろにそれをなる文字の表現とされているんだが?w お前の場合、Aも値とか言いそうで怖いわ。Aは16進数では確かに値として 扱われることもあるが、文字と値をごっちゃにしてたら、Fまで値になって E以降が文字になってそうだなw
907 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:51:55 ] 〃∩ ∧_∧ ⊂⌒( ・ω・) はいはいそのとおりそのとおり `ヽ_っ⌒/⌒c ⌒ ⌒
908 名前:JIS規格の逆斜線の話を持ち出した大ボケの最初の定義 mailto:sage [2007/05/15(火) 07:53:22 ] 747 名前:デフォルトの名無しさん 投稿日:2007/05/15(火) 03:30:52 なんか変な方向に行ってるみたいだな。 1. ヌル文字の値が '\0' なのは規格で決まってる。 2. \0 という特別なエスケープシーケンスは規格で用意されておらず、 これは 8 進数の値を直接埋め込むエスケープシーケンスでしかないので、 '\0' の値はどの環境でも厳密に 0 になる。 (そもそもそんな特別なエスケープシーケンスを用意してしまったら、 8 進数で 0 を埋め込むことが不可能になってしまう) これでいいだろ、もう。 1. ヌル文字の値が '\0' なのは規格で決まってる。 ^^^^^^^^^^^^^^^ 表現はJIS規格でそうだが、値とは書かれていない。強いて値というならそれは0。 割り当てられている文字コードが0。あくまでも\にも0も文字、組み合わせてもそれらは 文字列という解釈はされど、C言語ではそれをエスケープシーケンスで使われる 表示できない文字を代用した文字コードが使われているって話であって それらは値ではない。んじゃ、アラートとして使われるアラートの値は'\a'って言うかね? こいつは \ の後ろに 0 があったんで、その数字に目がいってしまい、値と言ってしまったんだろうけど それは0という文字であって値ではないんだよ。んじゃ、\a が値になるんかね? これはどう見ても文字列であって、その組み合わせを代用して表示できない文字をあるように 使っているのさ。それが理解できないから大学未満レベルって言われるんだよw
909 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:53:26 ] #include <stdio.h> char itoc(int i) { if (i >= 0 && i <= 9) return '0' + i; else return '\0'; } int ctoi(char c) { if (c >= '0' && c<= '9') return c - '0'; else return -1; } int main() { int i = 9; char c = '8'; printf("i(char):%c c(int):%d", itoc(i), ctoi(c)); return 0; }
910 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:54:10 ] 「文字として存在するか、数値として存在するか」なら計算機の中ではどちらも数値として存在していて、 「文字として扱うか、数値として扱うか」ならプログラム上での扱いによる
911 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:59:12 ] コンピュータ的には状態として存在しているような気もするが。
912 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 07:59:29 ] \a ビープ音(警報) \b バック・スペース(後退) \f フィード(書式送り) \n 改行 \r キャリッジ・リターン(復帰) \t 水平タブ \v 垂直タブ \' シングル・クォーテーション ' \" ダブル・クォーテーション " \? ? \\ バックスラッシュ \ さぁ、これらもそれぞれ 改行の値は '\n'、水平タブの値は '\t'って言うかね? 表示できない、エスケープ文字って俺は言うね。そう、それらには表示できる文字が 存在しないから、便宜上代用されているんであって、別にその\との組み合わせが値 って言うものにはなっていないんだよ。強いて値って言うなら、割り当てられている文字コードに 対してなら理解は出来るが。実際のところ、整数型の値として文字コードが格納されているしな。 文字そのものは数値としては存在しておらず、文字コード表から該当する、登録されている文字を 表示させる仕組みがあるんであって、実態は数値なのさ。だから敢えて文字コードを参照する ソースを書いてやったのに、理解していないなんて・・・だめだな。 お前じゃ汎用電子計算機の仕組みについて学ぶのは無理だ。その仕組みの原理にのっとって プログラムだって作られているんだが・・・
913 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:00:24 ] 感じとしてはわかったけど、その「値」はCの規格票で 定義された用語ではないな。
914 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:03:52 ] もちっと 制御 文字について理解しましょーね、大学未満さんw さて、今日は休みだがお前らには付き合ってられん。悔しかったら どこでも良いとは言わないが、施設の整った大学にくらい通って勉強してみろ。 実際にその原理について習う実験や研究をした人間とじゃ格が違うぜ。 もちっと電子計算機の基本原理を理解してから出直せ。 文字データそのものは数値としては存在しないよ。文字だって人間が使っている文字みたく 見えるように視覚的にコンピュータが実装している範囲内の表現能力を用いて構成されてんだから。
915 名前:ここでフレーム投下 mailto:sage [2007/05/15(火) 08:04:14 ] printf("??[foo]??");としたら、期待通りの出力になりませんでした。 期待通りに出力させるにはどうしたらいいでしょう。
916 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:11:06 ] >>912 別にお前のポリシーなんて誰も聞いてないよ
917 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:11:55 ] #include <stdio.h> int main() { char str[] = "abcdefghijk"; for (unsigned int i = 0; str[i] != '\0'; ++i) printf("%p:%x ", str+i, str[i]); return 0; }
918 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:13:58 ] ( ´ω`)
919 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:15:36 ] (´ω`)
920 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:16:42 ] どっかのブログでも書かれてたが、ほんと質問者置いてけぼりで言い争いが続くなw
921 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:17:31 ] こっち見んな
922 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:18:16 ] \0の0が数値に見えちゃったんだろうね。これはその他の\aや\tのごとく 数値ではなく数”字”だから。\の後ろに数値を参照していると思ったんだろうね、可愛そうに。 どう考えてもそれも含めて\と組み合わされた文字列をエスケープ文字として代用しているだけです ありがとうございますた。
923 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:19:10 ] >>920 fj的フレームですらないのが困り物だな。manだの規格書だの読めば済むことをグダグダと・・・
924 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:23:32 ] #include <stdio.h> int main() { int chs[] = {'\a', '\b', '\f', '\n', '\r', '\t', '\v', '\'', '\"', '\?', '\\', '\0' }; for (unsigned int i = 0; chs[i] != '\0'; ++i) printf("%x ", chs[i]); putchar('\n'); int j = 0; while (chs[j] != '\'') ++j; while (chs[j] != '\0') printf("%c ", chs[j++]); return 0; }
925 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:26:52 ] あほが一人だと哀れなだけだが、 あほが二人だと始末に負えないな
926 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:27:58 ] あほが三人集まったらどうなるんだろ
927 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:27:57 ] >>568 が始まりか… こんなに長文を書きながら密度がスカスカの議論を延々と…
928 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:36:24 ] 延々と「俺的『値』の定義」を読まされるスレはここですか?
929 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:36:57 ] >>923 void に向かって``半角''の一言をだして, 引き際失った奴を思い出したよ... # fj だけじゃないけどな, void + ``半角''
930 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:40:29 ] まぁエスケープシーケンスの話はもう良いや。はいはい、'\0'はナル文字の値ってことで良いよ。 俺も今後'\0'はナル文字じゃなくてなる文字の値って言ってあげるから。 それよりもさぁ、最近、里田まいが気になるんよ。俺、別に今までハロプロだのモー娘。だの まったく興味がなったんだけどさ、クイズヘキサゴン2に出ている里田まいを見て なんかこう、キュンッときたんよ。辻と違ってまだ処女だったらええのになぁ〜なんて 期待しつつ、プログラミングをしているわけだ。そんな俺ってどうよ?C言語ならぬ Cまでいけそうかな?
931 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 08:40:53 ] もまいら思い出してくれ。 文字と数値がメモリ上でも区別されてると思い込んでる人種がいるだろ。 COBOうあなにをするタテイスカンナニラセ@「
932 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:14:23 ] (´ω`)
933 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:25:34 ] こいつらが何か意味のある議論をしている・したがっていると勘違いするから混乱するんだよ。 レスを付けて何か返ってくるというリアルワールドでのコミュニケーションの代償行為をほぼ唯一の生きがいとしているだけなのに。
934 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:30:03 ] 俺の周囲の場合リアルワールドの会話はこれより遥かにつまらんから困る 人の噂話、悪口、武勇伝等の自慢話ばっかりでうんざり 2chが悪口ばっかりとか生産性の無いネタばっかりって言える人は幸せ者
935 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:31:40 ] これは釣りに対して全力で釣られてみる遊び。 素人にはオススメできない。
936 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 09:32:56 ] おまいらじゃせいぜい2ちょんねるだな。日本語で
937 名前:デフォルトの名無しさん [2007/05/15(火) 11:54:24 ] だめだこいつら…はやくなんとかしないと
938 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 12:01:11 ] >>1 乙
939 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:04:21 ] 昨日今日あたりで一気にスレを消費しちまったな
940 名前:デフォルトの名無しさん [2007/05/15(火) 13:20:05 ] 開発環境はvc++2005 OSはxpです。現在研修でコマンドラインから 取得した引数で四則演算を行うプログラムを作成しているのですが、 オーバーフローのチェックで悩んでいます。 加算、減算については出来たのですが、乗算のオーバーフローチェックが 分かりません。limits.hをインクルードして2147483647〜-2147483648 までの数値を扱っています。どのようなコードを書けばよいのでしょうか? よろしくお願いします。 扱っている変数は int lop; // 左のオペランドに入力する値 int rop; // 右のオペランドに入力する値 int result; // 計算結果 int mod; // 除算の余り int max = INT_MAX; // 表現可能な最大値 int min = INT_MIN; // 表現可能な最小値 char *check; // 変換不可能な文字を格納 char op; // 入力する演算子 これらになります。ファイル名lop op ropの形式で 実行します。
941 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:29:02 ] long long 使っていいならラクチンなんだがなあ。
942 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:32:03 ] >>940 lop*rop (lop>0 rop>0)について調べる場合 lop>INT_MAX/rop のときオーバーフロー 負数とか考えると面倒だね
943 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:40:23 ] インラインアセンブラ使いてーなー。
944 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:42:04 ] 掛け算のオーバーフローは難しそうだな。 n周まわって 結果が正のまま とかありえそうだし
945 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:48:36 ] >>940 マルチ乙。 加減算も自分でやったんじゃないんだろ?w Hackmem とかhacker's delight で調べてみ。 日本語訳も出版されている。
946 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:51:21 ] 掛け算だけにマルチ いやスミマセン
947 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:53:30 ] 掛け算を足し算のループに変えてオーバーフローを検出くらいしか思い浮かばん… 負数は先読み計算で。
948 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 13:59:21 ] MSBのbit位置テーブル作っといてlookupすりゃええんちゃうの?
949 名前:デフォルトの名無しさん [2007/05/15(火) 14:02:51 ] レスありがとうございます。確かにlongが使えるといいのですが、使っちゃ駄目みたいです。ちなみに先ほどのコードを使用して動かしてみました。全ては試していないのですが、 -2147483648 * -1 = -2147483648や 2147483647 * -1 = オーバーフローと なってしまいます。上はオーバーフローに下は -2147483647になるようにしたいのですが、中々上手くいきません。 どうすればよいでしょうか?よろしくお願いします。
950 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 14:21:43 ] 2進数のまま手計算してみれば? 途中経過のビットも出力して確認しながらやれよ。
951 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 14:28:25 ] これでダメな場合って lop==0 の時以外にあるかな? result=lop*rop; if(result/lop!=rop) オーバーフロー
952 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 14:54:12 ] >>951 っ lop=-1 rop=INT_MIN
953 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 14:56:41 ] >>940 加減算のオーバーフローチェックはどうやったの?
954 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:04:30 ] >>952 これやったら落ちてビビった (MacOSX 10.4.9 Intel Core 2 Duo)
955 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:11:19 ] >>954 >>952 で同じく落ちた (Win98SE C7 600MHz) なんと言うか恐ろしい計算だw
956 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:29:19 ] >>952 これ反則だよなあ。普通の計算でも起こり得りそうで困る。
957 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:40:55 ] gccで落ちたコードの核になる部分だけ抽出。 -- movl $-2147483648, %eax movl $-1, %ecx idivl %ecx -- うーん、-1で割っているだけなのに。
958 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:49:53 ] これは勉強になった。
959 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:53:22 ] >>952 C#でも落ちるかなと思ったけどOverflowExceptionが出るだけだった。
960 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 15:57:11 ] >>959 Exception をキャッチしてないからCだと落ちる っつーことっしょ
961 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:04:16 ] Instruction Set Reference の idiv の項を見てみた。 例外 #DE (divide error) 1. 除数が 0 の場合 2. 商が大きすぎる/小さすぎる場合 の、2. に引っかかってるみたいね。 アセンブラレベルで QWORD で使うなら十分起こりうる状況だけど、 int でやってる限りは -2147483648 / -1 でしか起こらないよね、これ。 こりゃ盲点だわ。
962 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:07:44 ] 実数でも同じことできる?
963 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:14:23 ] どうでもいいけど、Linuxだと"Floating point exception"って出るんだよな。 どこがFloatingPointなんだか。
964 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:15:41 ] gcc@MacOSX でもそう出る。 イミフ。
965 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:15:56 ] >>962 起きなかった
966 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:18:14 ] 実数は普通の演算で例外起きたっけ?
967 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:19:32 ] もう面毒せーから1/0=πという数学体系を新たに定義しようぜ
968 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:22:10 ] 移項すると 1 = π × 0 になるんだけど
969 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:23:16 ] その定義上ではその移項自体がまた特殊な扱いになるのか。
970 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:47:17 ] >>963 English WikiからSIGFPEの項より >Although SIGFPE does not necessarily involve floating-point arithmetic, there is no way to change its name without breaking backward compatibility.
971 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 17:50:56 ] 可換環じゃなかったら最早普通の計算に使えないなw
972 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:17:22 ] 次のような関数を作っていて、test3の直前でセグメントエラーが 出てしまい困っています。 R[]はintのポインタの配列で、疑似二次元配列です。 R[i]とy[]のなかで共通する数をR[i+1]に代入して、 最後に0を入れる関数です。 どうしてエラーが出るのか、誰か教えてください。 void katu(int *R[], const int i, const int y[]){ int a=0, b=0, k=0; for(a=0; a<N; a++){ for(b=0; b<N; b++){ if(R[i][a] == y[b]){ print("test1\n"); realloc(R[i+1], sizeof(int)*(k+2)); printf("test2\n"); R[i+1][k] = y[b]; printf("test3\n"); k++; } if(y[b] <= 0) break; } if(R[i][a] <= 0) break; } R[i+1][k] = 0; return; }
973 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:20:50 ] >>972 reallocの戻り値捨ててどうするんだよ。 reallocが成功したら元の領域はアクセスできなくなる。
974 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:22:18 ] >>972 realloc()の使い方を勉強しろ。 それはさておき、一文字変数は判り難いだけだから止めた方がいいぞ。 #特に引き数iなんて、誤解してくれと言わんばかりだ。
975 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:24:42 ] i は for ループのカウンタ以外では使わないほうがいいかもw
976 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:32:47 ] 一文字変数はカウンタくらいしか使わないな
977 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:32:48 ] aとかbをループ変数にするのはなんかいやだな。
978 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:34:57 ] (滅多に使わない)数式の実装ではまんま1文字変数使うこと多い # コメントで参考書名+page 書いとくが
979 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:37:50 ] 数式をコメントに入れておくなあ、そういう場合。
980 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:40:42 ] >>979 数行オーダーの数式なら、そうするほうが多いけどね。 RGB⇔HSV変換とかの 条件付な式だとコメント書きにくいねぇ (で、リファレンス書いて終了w)
981 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 18:48:04 ] こういうアルゴリズムでーす後はググれって感じでコメント書く。
982 名前:972 mailto:sage [2007/05/15(火) 19:18:53 ] >>973-974 ありがとうございます。 realloc(R[i+1], sizeof(int)*(k+2)); を、 R[i+1] = realloc(R[i+1], sizeof(int)*(k+2)); にしたら無事に動くようになりました。 結果が正しいかはこれから検討する所でありますが。 今回初めてreallocを使ってみたので、本当に間抜けなことをしていました。 重ね重ね、ありがとうございます。 変数についてですが、どうにもうまい名前の付け方が思い付きませんorz。 他の方のソースを読んで勉強していくしかないのでしょうか?
983 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 19:24:18 ] >>982 変数名を思いつけないと言うことは、書いているものが理解できていないか説明できないかのどちらかだろう。 前者は問題外だが、後者も社会人として必要な能力だ。「相手に伝える」ことを念頭に入れて、 変数の説明をする積もりで名前をつけてみるといい。
984 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 19:35:27 ] 例えばこんな感じですね int i int love, you
985 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 19:39:59 ] >>984 あーそれは、愛のあるいい変数名だね。 って、違うでしょ。
986 名前:972 mailto:sage [2007/05/15(火) 19:42:35 ] >>983 「相手に伝える」ですか。心がけてみます。 どうもありがとうございます。
987 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 19:52:03 ] 変数名なんて、それが何を入れとくための奴なのか分かるんならなんでもいいよ
988 名前:デフォルトの名無しさん [2007/05/15(火) 19:58:41 ] VisualC++.NETならばC言語で.NETを使えますか?
989 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:11:54 ] いいえ。 VS2003ならMC++, VS2005ならC++/CLIでのみ.NETを使えます。
990 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:12:27 ] いいえ、専用に構文が拡張されたC++になります。
991 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:17:00 ] 自前でホスティングすれば使えなくもないだろう。
992 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:28:25 ] // 次スレテンプレ C言語の入門者向け解説スレです。 ・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 12 pc11.2ch.net/test/read.cgi/tech/1178620766/ 過去スレ Part 1 ttp://pc8.2ch.net/test/read.cgi/tech/1146700389/ Part 2 ttp://pc8.2ch.net/test/read.cgi/tech/1153818463/ Part 3 ttp://pc8.2ch.net/test/read.cgi/tech/1160682950/ Part 4 ttp://pc8.2ch.net/test/read.cgi/tech/1162999861/ Part 5 ttp://pc8.2ch.net/test/read.cgi/tech/1165022193/ Part 6 ttp://pc10.2ch.net/test/read.cgi/tech/1167325490/ Part 7 ttp://pc10.2ch.net/test/read.cgi/tech/1170064980/ Part 8 ttp://pc11.2ch.net/test/read.cgi/tech/1171946674/ Part 9 ttp://pc11.2ch.net/test/read.cgi/tech/1173284217/ Part 10 ttp://pc11.2ch.net/test/read.cgi/tech/1174290325/ Part 11 ttp://pc11.2ch.net/test/read.cgi/tech/1176800483/
993 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:29:05 ] 関連スレ C/C++の宿題を片付けます 86代目 pc11.2ch.net/test/read.cgi/tech/1165718021/ くだすれC言語(初心者用) Part.2 pc11.2ch.net/test/read.cgi/tech/1172099763/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/ はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/ 関連リンク C 関数検索 man on WWW www.linux.or.jp/JM/ 初心者のためのポイント学習C言語 www9.plala.or.jp/sgwr-t/ // ここまでテンプレ
994 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 20:32:34 ] 984 differ:char 5,6,7,8,9 line 4 !(Φ_Φ+){level}
995 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 20:33:11 ] Cスレ乱立しすぎ こっちへ吸収されていいと思う 【初心者歓迎】C/C++室 Ver.37【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1178432985/l50 くだすれC言語(初心者用) Part.2 pc11.2ch.net/test/read.cgi/tech/1172099763/l50
996 名前:気まぐれアナスイ mailto:お腹いっぱい@気まぐれアナスイ [2007/05/15(火) 21:57:37 ] 吸収も良いですが? スレを、そちらに変更?
997 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:13:54 ] 実行の様子をテキストファイルとして作成する方法を知りたいのですが、windowsの場合どうすればいいのでしょうか? Linuxなら./program > text.txtとするらしいのですが、windowsの場合がわかりません
998 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:15:03 ] >>997 同じ事やってみた?
999 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:17:13 ] なぜ試さない?
1000 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:17:54 ] 1000ゲット
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。