C言語なら俺に聞け(入門編)Part 125 [sc](★0)
-
- 1
- 2014/02/16(日) 01:49:14.42
-
C言語の入門者向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 124
http://toro.2ch.net/test/read.cgi/tech/1389096769/
★過去スレ
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++の宿題片付けます 166代目
http://toro.2ch.net/test/read.cgi/tech/1381909900/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
ttp://codepad.org/
ttp://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
【重要】
当たり前の事ですが、2chではコピペ荒らしは禁止されています
-
- 658
- 2014/03/23(日) 03:23:39.52
-
???の部分、
この数字の管理をそのままプログラムにしたいんです。
-
- 659
- 2014/03/23(日) 03:23:57.26
-
>>652
何の話?
windowsがセキュリティ気にし出したのはxpのSP2くらいからだろ
-
- 661
- 2014/03/23(日) 03:55:41.39
-
へえ、モンテカルロ法っていうギャンブル必勝(?)法があるのか。
乱択数値シミュレーションしか知らんかったわ。
まあ動的配列 malloc reallocあたりでググれ
-
- 662
- 2014/03/23(日) 04:20:46.72
-
自己参照型構造体を使ったリスト構造を自作するしかないね
C++だったらSTLで余裕なんだが
javaでもコレクション?とかあるよね
無理にCでやる理由がないなら他言語でやった方が楽だと思うが
-
- 663
- 2014/03/23(日) 04:41:39.79
-
はぁ?リングバッファを必要に応じてreallocするだけじゃん
アホが「〜しかないとか」断言すんなよ
-
- 664
- 2014/03/23(日) 04:50:39.94
-
何故にリング?
-
- 665
- 2014/03/23(日) 04:51:02.65
-
reallocだと領域大きくする度にコピーが発生してパフォーマンス悪くなるんだけど
-
- 666
- 2014/03/23(日) 04:57:54.03
-
話にならんなw
せめてrealloc時の末尾横断分移動の必要性の指摘ぐらいしろよ
-
- 667
- 2014/03/23(日) 05:00:38.52
-
>>665
行読み込みの話題が続いているという認識でレスすると。
リングバッファやら全角英数字をナチュラルに使うような人の意見(偏見だが)はまず論外だが
reallocは必要でしょ?
どうやるの?
c++でのvectorなどは倍々allocだよね?
他にどんな手があるんだろ?
-
- 668
- 2014/03/23(日) 06:52:27.16
-
また昼間の奴らに深夜の奴らは基地外だらけだと言われッツォ
-
- 669
- 2014/03/23(日) 07:33:05.42
-
>>656
https://ideone.com/yHxSWe
-
- 670
- 2014/03/23(日) 08:23:09.52
-
>>668
「昼間の奴ら」とやらの助けを借りるにしても
基地外とするレスにはアンカーつけて
自前の意見をしっかり提示しきっちりと反論する。
この当たり前の段階を踏まないと説得力はないぞ。
-
- 671
- 2014/03/23(日) 09:38:39.77
-
>>639
この辺かな?
http://www13.plala.or.jp/kymats/study/MULTIMEDIA/ScreenCapture.html
-
- 672
- 2014/03/23(日) 15:11:13.01
-
ゴミはゴミなりにゴミコードを提示してください
-
- 673
- 2014/03/23(日) 17:10:17.83
-
>>656 >>669
ごめん、間違いがあったので訂正しておく https://ideone.com/c87fZq
-
- 674
- 2014/03/23(日) 17:15:07.65
-
>>656
まず、「要素数が無限に増える」は実装不可能です。
メモリなどの物理的な制約があるので。
ある程度の所で制限を設ける必要があると認識してください。
制限をつけた場合、その大きさで配列をとれば疑問は解決するはずです。
この制限があまりにも大きく、使うことが少ない場合等で無駄だと感じたのなら、
可変長にするのが無難です。
頻度などを考慮して、拡張する方法を決めるとよいでしょう。
-
- 675
- 2014/03/23(日) 18:03:48.10
-
C言語を知らないゴミが一斉に発狂しだしてるな
誰も解決できない問題だから安心しろ
無駄だ、ゴミには不可能
-
- 676
- 2014/03/23(日) 18:11:27.48
-
>>675
いや、そんなことより早くWindowsの解説してくれよ。
-
- 677
- 2014/03/23(日) 18:32:47.22
-
無駄な抵抗はよせ
さっさと負けを認めろ
-
- 678
- 2014/03/23(日) 18:40:09.37
-
キチ○イなんか相手にせず ID:LwVxNWuC をNGにぶち込んどけ。
-
- 679
- 2014/03/23(日) 21:05:39.29
-
充分にヒントを頂いて、ものすごく感謝しています
動的配列は使ったことがないので勉強してみます
難しそうなら>>674の言うように制限を付けて配列使います
確かに、大きめに要素を用意しておけばはみ出ることはほぼないですね
これ以上何も望みません、というか初心者過ぎて恥ずかしいです
ほんとありがとうございました
-
- 680
- 2014/03/23(日) 21:20:40.51
-
ものすごく感謝しています(笑)
よかったね、馬鹿しかいないスレだから相手してもらえたんだよ
-
- 681
- 2014/03/24(月) 06:53:36.52
-
>>656
学校の宿題じゃないならboostの乱数ライブラリ
-
- 682
- 2014/03/24(月) 11:12:28.50
-
QZバレバレの回答キター
-
- 683
- ◆QZaw55cn4c
- 2014/03/24(月) 18:58:49.11
-
>>679
>>673 に回答例を挙げておいたから,暇だったらみてね
>>681
そのモンテカルロ法じゃないそうだ
>>682
毎日大変ですね頑張ってください http://hissi.org/read.php/tech/20140324/aU4rT3l1TUo.html
-
- 684
- 2014/03/24(月) 19:02:46.76
-
今、縦3横6計18セルある長方形に1〜18までの要素を1個ずついれて、
下の状態が整列されている状態とする。
1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
整列されていない状態の例は以下である。
9 18 3 4 5 13
7 8 1 10 11 6
12 14 15 16 17 2
-
- 685
- 2014/03/24(月) 19:05:01.32
-
任意の整列されていない状態に対して、縦横隣同士を交換して
整列されている状態にする場合、どういうアルゴリズムが最適か?
という問題なんんですがどういうアルゴリズムがいいですか?
プログラムで書けるならそれも教えて下さい。
ソートを使うのがいいですが、隣同士なので体系的なソートの場合
バブルソートしか使えません。
僕の考えは横でバブルソート、縦でバブルソートしか思いつきません。
-
- 686
- 2014/03/24(月) 19:09:29.37
-
QZバレバレの自演質問キター
まじでくっせえなこのスレ
-
- 687
- 2014/03/24(月) 19:12:05.91
-
それはソートというよりパズルだな。
開いてる箇所が一箇所あって絵柄を揃えるやつとか、ルービックキューブとかの類似物。
-
- 688
- 2014/03/24(月) 19:15:38.56
-
>>685
整列完了までの「時間」を競うのか「操作の数」を競うのかどっち?
-
- 689
- 2014/03/24(月) 19:15:39.15
-
まず要素を6個ずつ3つのグループに分けてグループごとにソート
-
- 690
- 2014/03/24(月) 19:20:01.29
-
縦横隣同士を(比較)交換して整列
A(i,j) に対して比較・交換が許されるのは A(i-1,j) A(i+1,j) A(i,j-1) A(i,j+1) だけか
-
- 691
- 2014/03/24(月) 19:22:30.32
-
Cグラマーのゴミ回答キター
ゴミは目障りだから消えろよ
-
- 692
- 2014/03/24(月) 19:23:11.81
-
6で割った余りの大小で行をソート
ただし余り0は6として
列は数字の大小でソート
これ繰り返せば良いんじゃないの
-
- 693
- 2014/03/24(月) 19:24:05.56
-
逆だ、全体をソートして3つのグループに分けるだった
-
- 694
- 2014/03/24(月) 19:24:35.53
-
CPUの種類が分からなきゃ演算の向き不向きがわからんから回答不能だろ
-
- 695
- 2014/03/24(月) 19:28:35.11
-
おいQZ自演はやめろよ
見苦しいぞ
-
- 696
- 2014/03/24(月) 19:30:13.44
-
変な移動縛りのせいで
収束しない可能性があるね
-
- 697
- 2014/03/24(月) 19:32:28.70
-
>>688
走査の数ですよ
元々整列されている配列ほど走査数は少ないような方法も欲張るなら
求めたいです
-
- 698
- 2014/03/24(月) 19:35:36.37
-
>>692
回答ありがとうございます
なんで6で割った余りなんですか?
直接要素同士を比較しないんですか?
-
- 699
- 2014/03/24(月) 19:37:56.84
-
左右の数値比較後 上下の比較で効率的に並ぶからか?
ラディックスソートっぽくうごかせるね
-
- 700
- 2014/03/24(月) 19:39:16.65
-
操作の数で競うのなら総当たりで全ての組み合わせを試して最も操作数が少なかった手順で交換すればいいだけだろう。
-
- 701
- 2014/03/24(月) 19:40:04.26
-
全く分からない…
18と6を比較するのに何故18mod6と6mod6を比較するのでしょうか?
-
- 702
- 2014/03/24(月) 19:41:56.74
-
例えば最初はバブルソートでも何でもいいから一度正解を見つける。
その次にそれにかかった手順数以下で可能なすべての操作の組み合わせを総当たりで試し
最も少ない操作数で達成できたものを最終的な回答として採用する。
こうなるだけだが…。問題設定がおかしいとしか思えん
-
- 703
- 2014/03/24(月) 19:42:36.82
-
アルゴリズムまじで頭の良し悪しが分かる…
全く思いつかない
-
- 704
- 2014/03/24(月) 19:44:38.07
-
「縦3横6計18セルある長方形に1〜18までの要素を1個ずついれて」
なんだから、最適化された処理は
const static ans[3][6] = { { 1,2,3,4,5,6},{7,8,9,10,11,12},{13,14,15,16,17,18}};
だと思うんだけど。固定値だよね?
-
- 705
- 2014/03/24(月) 19:45:33.50
-
行でソートの場合
6
3
1
をソートしたら
1
3
6
になって6は1行目最終列なのに、遠のく事にならないでしょうか?
-
- 706
- 2014/03/24(月) 19:45:34.95
-
>>701
整列されている状態を6で割った余りにしてみろ
縦横バブルソートだと
12...
34...
56...
ってなったら積む
-
- 707
- 2014/03/24(月) 19:47:18.04
-
>>704
与えられた要素をその整列された状態にするのに「上下左右の交換」が最低何回必要かって問題だから
ソートした結果を答えろという問題ではない
-
- 708
- 2014/03/24(月) 19:50:16.45
-
そもそも整列された状態から交換を繰り返さないとダメですね
適当に配置した標本だと元通りできないですね…
>>706
全く分かりません、余りだと詰むんでしょうか?
このページを共有する
おすすめワード