- 1 名前:デフォルトの名無しさん [2015/05/27(水) 06:15:55.14 ID:gRxCv8ae.net]
- C言語の入門者向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 127 peace.2ch.net/test/read.cgi/tech/1424244688/ ★過去スレ ttp://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 168代目 peace.2ch.net/test/read.cgi/tech/1408962564/ ★C++言語については避けてください。C++対応明記スレへどうぞ。 ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。 # サイズが大きい場合はアップローダ等を利用してください。 ttp://codepad.org/ ttp://ideone.com/ ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 【重要】 当たり前の事ですが、2chではコピペ荒らしは禁止されています
- 357 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:45:41.35 ID:BVqVeXIZ.net]
- >>350
このスレは文法的な話が多いしナチュラルなC言語の話がメインじゃないですか? 後 C言語規格で検索かけました。 アメリカはANSI 日本はJISが 規格に関して管理してるってことが分かりました。 どっちの権限が強いとかあるんでしょうか? Cって日本が開発したものじゃないからアメリカANSI の承認がないと自由に開発できない、変更できないとかあるんでしょうか? それとも並行して自由なCのタイプを作っていっていいとか。
- 358 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 23:08:27.15 ID:YYL+BoO/.net]
- 根本が間違ってて指摘も矯正も不可能です。
- 359 名前:351 mailto:sage [2015/06/24(水) 23:11:06.20 ID:BVqVeXIZ.net]
- 本気で気になってるので誰かCの規格や定義に詳しい人教えて下さい
- 360 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 23:17:53.88 ID:YYL+BoO/.net]
- 適当に読んどけ。
ttp://www.bohyoh.com/CandCPP/C/index.html ttp://www.comm.info.eng.osaka-cu.ac.jp/~sugi/C_lang2/C1.html#anchor265686 これ以上は専門書探せ。もう疲れた…。
- 361 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 23:26:38.68 ID:zNYvxzaB.net]
- 読んで理解をしないんだろうな
- 362 名前:351 mailto:sage [2015/06/24(水) 23:27:12.64 ID:BVqVeXIZ.net]
- >>354
ありがとうございます CもANSI本筋と傍流があるんですね
- 363 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 23:54:49.59 ID:5DYqddEm.net]
- 言語仕様と標準ライブラリの関係を言ってるんでしょ?
違う意味なら知らん
- 364 名前:351 mailto:sage [2015/06/25(木) 00:03:15.94 ID:sP9h+oqg.net]
- >>357
言語仕様の中で標準ライブラリが定義されてるんですよね? てことは言語仕様にないfork()やdrawcircle()はC言語の関数と言っては ダメじゃないんですか?
- 365 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 00:14:54.02 ID:0iBjMS7W.net]
- printf()やfopen()もアセンブラや別言語で書かれてるぞ。
- 366 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 00:16:51.58 ID:0iBjMS7W.net]
- 言語のなんたるかを決めるのはお前じゃないってことだ。
- 367 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 04:32:18.38 ID:Li5opHJV.net]
- だから関わるなと言ったのに
- 368 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 07:43:04.30 ID:cFsyQBWH.net]
- ヲタクプログラマーだからな。
- 369 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 09:28:35.57 ID:KIT3ByGG.net]
- ここの人間は以外とお人よしっつーか面倒見がいいよなw
- 370 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 09:46:28.93 ID:UIqr32+m.net]
- cdecl から調べた方が速そう
- 371 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 11:17:24.92 ID:U+zmiSvD.net]
- >>6
そんな苦労してまで、三項演算子使わなくても良いのに。
- 372 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 11:27:48.98 ID:U+zmiSvD.net]
- >>184
どんな言語でも、 文法としては正しくても、文章としては間違ってる事はいくらでもある。
- 373 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 11:55:06.12 ID:3kYUeLcc.net]
- そんな古い質問拾うなよ。また湧いて出てくるやん。
- 374 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:25:49.37 ID:sP9h+oqg.net]
- C言語ってある程度仕事でも詳しくなってもう余裕で分かるレベルになったら
次の楽しみって何になるんですかね?イマイチできる人のモチベーションがどこにあるか 分からないです。Cは一生かけても分からないくらい深いっていいますけど、未解決問題じゃあるまいし 単なる処理規則の集合なわけであって、どこらへんに奥深さがあるんでしょうかね。
- 375 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:32:37.30 ID:wU+kaldG.net]
- >>368
言語に奥深さは無い。まったくナンセンスな問題意識。
- 376 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:34:04.17 ID:gUXvHM4p.net]
- >>218
- 377 名前:デフォルトの名無しさん [2015/06/25(木) 22:07:39.16 ID:XxFekGl2.net]
- >>368
設計。 プログラミングが楽しいなんて言ってるうちは初心者。
- 378 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 22:15:45.28 ID:0iBjMS7W.net]
- >368
全ての仕事がそうだよ。所詮誰かがやったことの後追い。 それでもやったことが無いことを体験して、作ったことの無いものを作って、 満足できなかったものが少しだけマシになるのは楽しいよ。 自己満足といえばそう。 自己満足をポジティブに捉える人が楽しめ進められ、 ネガティブに捉える人は進まない。 あなたもあれは違う、コレはダメ、それはつまらないとネガティブで雁字搦めになってないで とりあえずやってみる、とりあえず進めてみて、経験を自分の糧にしてみなさい。
- 379 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 22:19:21.28 ID:Li5opHJV.net]
- 自分に害の及ばないものなら
他人の作ったもののテストも楽しい
- 380 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 22:21:02.82 ID:wU+kaldG.net]
- この人の場合、実践が伴ってないからへんてこなロジックに陥るんだろうな。
- 381 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 23:40:03.58 ID:/iOjq/uQ.net]
- スレがやたら伸びてるなーと思うと、いつもの人が暴れてると言う
- 382 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 23:45:44.08 ID:DMKfpdxo.net]
- >>368
高いお金をもらうのがモチベーション プログラミングはその手段の一つ 一つの言語を深くやるでも、多くの言語やるでもいいし、マネージメント、テストエンジニアリング、ドキュメンテーションでもいいし、自分の価値が上がる手段を増やせばいい 何も考えずに業務をこなすだけならやめた方がいい
- 383 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 00:27:42.12 ID:7ZHtA1tf.net]
- 複数の値を任意の数だけ入力させて結果を返すプログラムで、入力の終わりにctrl+zを押さなくても結果を表示できますか?
- 384 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 07:51:30.19 ID:58TwEZZ0.net]
- ctrl+zがいらない仕様にすれば出来るだろう。
- 385 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 08:56:47.59 ID:P2ouCsE5.net]
- 言葉ってある程度詳しくなってもう辞書引かなくても分かるレベルになったら
次の楽しみって何になるんですかね?小説とか書く人のモチベーションがどこにあるか 分からないです。言葉は一生かけても分からないくらい深いっていいますけど、未解決問題じゃあるまいし 単なる文字記号の集合なわけであって、どこらへんに奥深さがあるんでしょうかね。
- 386 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 09:25:10.82 ID:gBS6mhz7.net]
- >>377
空行を検出したら終了するように作るとか、任意の入力は必ずファイルから与えることにするとか、手は色々ある。
- 387 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 11:34:55.72 ID:P2ouCsE5.net]
- >>377
ありえない値(-1とか9999とか)を終端マークとして使うのが古典的な方法 最初の入力一件をデータ数とみなすとより無難
- 388 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 13:01:22.36 ID:HCrYWUwt.net]
- ポインタ使わず、配列の文字(ひらがな)操作出来ませんか?例 "あいう"→う だけ取り出す
- 389 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 13:18:07.33 ID:r1qkCt6W.net]
- >>377
(平均値のように) 入力値を一度きりしか使わず、即捨て出来る式で結果を表現できるなら 入力毎に結果を書く
- 390 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 13:46:28.74 ID:58TwEZZ0.net]
- >382
char mojiretu[]="あいう"; char kititori[4]={0}; kiritori[0]=mojiretu[4]; kiritori[1]=mojiretu[5]; printf("&s\n",kiritori);
- 391 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 14:48:37.18 ID:HCrYWUwt.net]
- >>384
文字コードが2バイトを使ったってことですね。気づきませんでした。まだやっていませんが多分出来そうです。ありがとう
- 392 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 16:25:25.05 ID:58TwEZZ0.net]
- >printf("&s\n",kiritori);
× &s ○ %s 何やってるんだorz
- 393 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 19:54:12.94 ID:oshtnfFs.net]
- C言語の文法やアルゴリズム自体は得意なのに
ライブラリなどのコードがいっぱいあると途端に読めなくなるのって どういった能力が欠如してるからですかね?僕の事です。
- 394 名前:デフォルトの名無しさん [2015/06/26(金) 20:02:28.58 ID:YZgXVwpx.net]
- 知識、経験。英語が得意なアメリカ人でもそれまで知らない英単語、ことわざはわからない。
- 395 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:11:34.53 ID:58TwEZZ0.net]
- 知らない関数、知らないマクロ、知らない構造体。
- 396 名前:デフォルトの名無しさん [2015/06/26(金) 20:12:11.42 ID:oshtnfFs.net]
- >>389
調べても書いてないんですよ そういう場合どうしたらいいですか?
- 397 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:38:50.73 ID:/lXarR0v.net]
- 知能が足りないんだと思うよ。
- 398 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:44:52.95 ID:oshtnfFs.net]
- >>391
向いてないんですかね… プログラマやめましょうか… 後仕事のプログラムって再帰ばっかりなんですよ 上司に聞いたら、再帰で複雑にしておいたほうが機密性が高くなるとのことです。 そんなことあるんでしょうか… 殆ど意味分からないんですよプログラムの内容が
- 399 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:56:10.89 ID:WXmHQpYf.net]
- おいらは再帰好きだよ
- 400 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:56:28.21 ID:oshtnfFs.net]
- しかも相互再帰…
相互再帰にしてほぼ解読不可能っていう… 趣味を仕事に持ち込むのは本当にやめてほしいです
- 401 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:57:03.78 ID:oshtnfFs.net]
- >>393
相互再帰もですか? 読みにくくなるだけで何のメリットがあるのかわかりません
- 402 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/06/26(金) 20:59:57.34 ID:xjgOsjgG.net]
- 多分、リバースエンジニアリング対策だろ
- 403 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 21:00:41.26 ID:oshtnfFs.net]
- 難読以外のメリットは、プログラムの書く量が減るから
プログラムの容量が小さくなることだそうです
- 404 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 21:03:03.00 ID:WXmHQpYf.net]
- 相互再帰は結構一般的ちゃうの?
個人的な意見だけど、再帰のが簡単にキレイにかける(ときもある) まあ、おいらはCもやるけどC専門じゃないからなぁ Cじゃ再帰は使わないお約束、みたいな感じだったらごめんね
- 405 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 21:04:00.77 ID:oshtnfFs.net]
- >>396
再帰は解読しにくいってことですね
- 406 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 21:11:35.75 ID:58TwEZZ0.net]
- >390
ヘルプを見る。解説を見る。 作ったやつ、使ったことのあるやつに聞く。 でなければサンプルソースを解析。 それでもわからなら後回しにするか、解らないまま変に弄らずに使う。俗に言う「おまじない」。
- 407 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:07:05.75 ID:gBS6mhz7.net]
- 結局のところ、末尾再帰でもなければ効率悪いコードしか吐かないから再帰で書くのはパフォーマンス要らんところだなぁ。
うちの場合は、パフォーマンスを上げるのが主目的であることが多いから難読性なんて肥やしにもならん。
- 408 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:07:51.27 ID:gBS6mhz7.net]
- >>381
げげ。
- 409 名前:デフォルトの名無しさん [2015/06/26(金) 23:13:37.04 ID:3MIHB1Go.net]
- 一昨日Cを勉強し始めたにわかなのですが
ttp://9cguide.appspot.com/13-q.html#S2 このサイトの 2-1 のプログラムについてわからないところがあります。 int i,sum = 0,avg; とありますがこれだとsumに0を代入して初期化することができてないのではないでしょうか? あらかじめavgに入っていた謎の値がそのままsumに代入されてしまうということではないのですか? もしそうならifの中で配列の合計を正しく求められないと思うのですが... どうかよろしくお願いします。
- 410 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 23:13:49.20 ID:oshtnfFs.net]
- クイックソートの再帰は末尾再帰じゃないですよね?
クイックソートの再帰は末尾再帰じゃないから分かりやすいんですが、 ハノイの塔の再帰はすごい分かりにくい
- 411 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/06/26(金) 23:21:05.76 ID:xjgOsjgG.net]
- >>403
C言語の文法は各演算子の結合の強さを決めており、文法上のあいまいさをなくしている。 int i,sum = 0,avg; のi,sum = 0,avgは、iとsum = 0とavgの3つに分解されて解釈される。
- 412 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/06/26(金) 23:31:03.25 ID:xjgOsjgG.net]
- >>404
再帰はスタックをFILOのように使って処理をしている。 関数呼び出しのときに戻り先と実引数をスタックに格納し、関数から戻る頃にスタックから解放される。 FILOのデータ構造を使えば再帰は非再帰に書き換えられる。
- 413 名前:デフォルトの名無しさん [2015/06/26(金) 23:53:28.51 ID:3MIHB1Go.net]
- >>405
なるほど、納得がいきました。ありがとうございました!
- 414 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 05:59:25.89 ID:svdtev72.net]
- >>405
ちげーよ。 そこで現れている,はカンマ演算子じゃない。 なので演算子の優先順位は適用されない。
- 415 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 06:25:17.74 ID:+UMgIw/2.net]
- カンマって微妙な存在だよね
- 416 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 07:41:18.81 ID:nRUZ97+m.net]
- >408
否定だけでなくちゃんと解説しろよ。
- 417 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 08:59:18.05 ID:culNkOYR.net]
- うっせー 俺はテスターだから間違いを見つけたらそれで終わりなんだよ
- 418 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 09:16:18.76 ID:KUf9kyhl.net]
- なんで「俺はコンパイラより頭が(・∀・)イイ!!」とか思うような奴ばっかりが
得意顔で自演するようなスレに成り果てちゃったの?(´・ω・`)
- 419 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 12:27:05.83 ID:svdtev72.net]
- >>410
元質問者の疑問は、,がカンマ演算子でない事で解決する。 バカにはわからなかったかな?
- 420 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 12:48:36.17 ID:XN+wGsW9.net]
- 「相手はxxxがyyyだと勘違いしてる」と思い込んでいる。
- 421 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:48:41.80 ID:svdtev72.net]
- それ以外に説明がつかないと言う事がバカにはわからないらしい。
- 422 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 18:16:17.50 ID:8NBUCr+K.net]
- 意味不明なところに拘って質問してくるやつ。
質問投げっぱなしで回答への反応がないやつ。 態度のでかいヤツ。 消えて欲しいよ。
- 423 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 18:42:50.69 ID:wwmv
]
- [ここ壊れてます]
- 424 名前:wXJ3.net mailto: 思ったんだけど複雑な思考してるときは脳ってそう活発になってないんですね
簡単なコミュニケーションや、簡単な計算してるとき活発になるらしい。 でもC言語のプログラム読んでて、難しいなって思って粘り強くコード見ていく事って 上達にかかせないですよね?じゃぁ頭を活発にしてC言語読むにはどうしたらいいんでしょう? 常に何かをひらめきながら読み進めるとか色々工夫あると思うんですがみなさんが心がけてることなんですか? [] - [ここ壊れてます]
- 425 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:age [2015/06/27(土) 19:19:00.59 ID:JmAIGVSo.net]
- 明日、俺が考えた究極の画像処理ライブラリーを発表する予定。まあ見ててな
- 426 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 20:59:39.13 ID:K06hVkJE.net]
- >>418
物凄いんですか?期待でワクワクします。
- 427 名前:片山博文MZ ◆T6xkBnTXz7B0 [2015/06/28(日) 12:49:26.79 ID:7OyeVowG.net]
- 画像処理ライブラリー「imaio」
katahiromz.web.fc2.com/imaio/ コンパイラーは、VC++ 2013、MinGW、BCC55に対応。 画像形式は、BMP, JPEG, GIF, PNG, TIFF, アニメーションGIFに対応。 よろしくね。
- 428 名前:デフォルトの名無しさん [2015/06/28(日) 13:50:10.46 ID:TJWf2eSN.net]
- codepad.org/XjhyZ0Oa
1 2 7 4 5 -5579872 -144112812 -144135884 -142922460 Exited: ExitFailure 11 マージソートのプログラムだけど、これどこがおかしいですか?
- 429 名前:デフォルトの名無しさん [2015/06/28(日) 13:51:28.84 ID:TJWf2eSN.net]
- 全く書き換えるんじゃなくて
このコードの部分で指摘していただければ嬉しいです。 @inの取り方も正しい A2回再帰を読んでる B作業用配列x,yも正しいはず 何故こんなおかしな結果になるんでしょう?
- 430 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:37:03.55 ID:4PA/u/+9.net]
- 間違いではないが
int a[9]; で for(i=0; i<=8; i++) と書く奴のプログラムなんて見る気もしないな・・・
- 431 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:39:21.94 ID:OeLQkQMR.net]
- >>423
君は素人だな。 本物のプログラマーはこう書くんだよ。 知らないのか?
- 432 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:45:18.81 ID:4PA/u/+9.net]
- 本物のプログラマーってドカタの人のことですよね
- 433 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 15:06:36.31 ID:T2p7HOxZ.net]
- よくわからんけどプロの人は
for(i=0; i<sizeof(a)/sizeof(int); i++) って書くんじゃないの?
- 434 名前:デフォルトの名無しさん [2015/06/28(日) 15:26:15.96 ID:O8XywhU9.net]
- とりあえず
-5579872 ← -144112812 ← -144135884 ← -142922460 ← 何故こういうエラーが出るんでしょう? aからx,y(左配列、右配列)に退避させてそこから x,yからbに敷き詰めていく 例えばx =1 3 4,y=2,5, 7なら 1,2,3,4,5,7とbに格納してるはず それなのに何故こういうエラーが出るのでしょうか?
- 435 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 16:18:39.59 ID:x/T4p/ZN.net]
- この手のデバッグは面倒なんでC#に直した
ideone.com/coXz7X ソートされてないし、配列の前半にしかデータが入ってない 後半のおかしな値はゴミだな
- 436 名前:デフォルトの名無しさん [2015/06/28(日) 19:13:28.63 ID:O8XywhU9.net]
- ideoneってc言語使えないの?
helloworldCでかいてrunかけてもエラー出るんだが… うっとうしいな、codepad落ちてるし… 氏ねって…
- 437 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 19:19:09.66 ID:jQw88VwY.net]
- >>429
runしない状態で、まず貼ってみて
- 438 名前:デフォルトの名無しさん [2015/06/28(日) 19:22:07.72 ID:O8XywhU9.net]
- >>430
>>421です。でも落ちてるんですよ、本当腹立つ…時間無いって言うのに… 何で落ちるんだよこういうときにかぎって…氏ね
- 439 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 19:48:13.59 ID:jQw88VwY.net]
- >>431
ideone.com/ 一番上の帯の new code をクリック コードを入力するテキストエリアの下の左、「Java ▲」をクリックし、 Cを選択 これでできませんか?
- 440 名前:デフォルトの名無しさん [2015/06/28(日) 20:05:11.93 ID:FN6ToZob.net]
- ttp://i.imgur.com/HE7najM.png
コンパイルはできたのですが実行すると性別を聞いてもらえません... どこがいけないのでしょうか? 読みづらいかと思われますがどうかよろしくお願いします。
- 441 名前:デフォルトの名無しさん [2015/06/28(日) 20:20:43.27 ID:a/YHn9n/.net]
- ideone.com/DV39vg
ideoneの場合 そもそもStandard input is emptyが出るんですが これ何ですか? inputなんてしないっつの… うっとうしいな
- 442 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:33:37.27 ID:jQw88VwY.net]
- いい加減な直し方ですまない。なるべくそのままで直した。
scanf("%s%c", data[i].name); scanf("%d%c", &data[i].old); scanf("%c%c", &data[i].sex);
- 443 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:33:48.76 ID:6vwCSsHC.net]
- >>428
ああ、こういうコードだったのね。元のコードは 503 が返ってくるからもやもやしてた。 これってこんな問題? ・41, 42 行で再帰呼び出しでソートしてるのに 49, 52 行でコピーしてるのはソート前の配列の値 ・57 行で比較してる配列のインデクスが、58, 60 行でインクリメントした結果、有効なデータより後の要素を示すようになる ※最初の呼び出しの m 関数の場合、x と y にはそれぞれ a 配列の 0-4, 5-8 番目の要素が入っているけど、 仮に 0-4 番目にすべて 5-8 番目の要素の値よりも小さな値が入っていれば 6 回目の比較で C では初期化されていない、C# の場合は 0 が入っている要素と比較してしまうため正しい結果が出ない 自分は関係ないけどちょっとすっきりした。
- 444 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 21:02:15.98 ID:tYSRI250.net]
- >>424
本物のプログラマがループカウンターに使うのはIだ。iなんて使うのはキッシュイーター。
- 445 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 21:34:14.33 ID:bg6lBFSS.net]
- >>435
%s, %d に %c を後付けするとおかしくなるのでは?
- 446 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 21:43:10.93 ID:bg6lBFSS.net]
- >>436
なるほど,こんな感じになおせばいいのか https://ideone.com/fiD3Wp >>431 もとのコードは 最初から r=0, l = 2 のタイミングで再帰コールをしたあとマージ作業ではじめて問題が出る x[] の有効なデータを使い切ったのに,また x[] から値を取り出してしまう
- 447 名前:デフォルトの名無しさん [2015/06/28(日) 22:22:40.69 ID:a/YHn9n/.net]
- >>439
なるほど、ってことは x[i]のインデックスを最終地点まで覚えておいてそれ以降はx[i]の値が -23432432とかになってるから代入しないとダメってことですね? だからif(x[xi]<0)even if(x[xi]<y[i])b[i]=y[xi]; ってことですか?
- 448 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:47:50.95 ID:D2RtZ38K.net]
- 配列版のマージソート見た事はあるけど自分で作ったのはリスト版とあと外部ランのソートだけ
ぐぐればいろいろ出てくるね
- 449 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:55:02.80 ID:DfNXErlF.net]
- 値にタイマーを付けてタイムアウトした順に並べる
- 450 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:57:58.71 ID:6vwCSsHC.net]
- てゆーか、x と y の有効なデータ数を覚えておいてそれ以降は比較なしにもう片方のをコピーすればいいやん。
そしてそれ以前にデータをグローバルな変数に入れて使い回すなよ。 再帰はそれでなくても追うのが面倒なのにこんなバグの度に余計に疲れるやろ。
- 451 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 23:10:33.93 ID:r22I8doO.net]
- >c言語のプログラムで、「xの95乗を323で割った余りを16進数に直す」というものを作りたいです
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11121105256d でベストアンサーになっているけど、もっとどうにかならないかな
- 452 名前:NAS6 ◆I4OWyGBdcY [2015/06/28(日) 23:55:57.87 ID:QnH82WnG.net]
- ttp://nas6.main.jp/secret/Mathematician.zip
筆記法による数値表現 答えは12A(16)でしょ この電卓でできるよ ソースも全部あるからね
- 453 名前:NAS6 ◆I4OWyGBdcY [2015/06/28(日) 23:57:33.04 ID:QnH82WnG.net]
- X=2の答えは12A(16)でしょ
- 454 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 00:04:36.27 ID:R4Z+rP4P.net]
- >>444
https://ideone.com/QEpJ2a >>445 それは x = 2 のときなのでは?
- 455 名前:NAS6 ◆I4OWyGBdcY [2015/06/29(月) 00:05:02.97 ID:6ujtYEpl.net]
- X=1234(10)の答えは11C(16)
- 456 名前:NAS6 ◆I4OWyGBdcY [2015/06/29(月) 00:30:20.77 ID:6ujtYEpl.net]
- >>445
のbinフォルダとreadme入れて再UPした
- 457 名前:NAS6 ◆I4OWyGBdcY [2015/06/29(月) 01:02:48.54 ID:6ujtYEpl.net]
- この電卓で計算
2(10)^157(10)=182687704666362864775460604089535377456991567872(10)
|

|