C言語なら俺に聞け(入門編)Part 114

このエントリーをはてなブックマークに追加
902デフォルトの名無しさん:2013/05/12(日) 14:35:56.83
これはID表示派の卑劣な策略
903デフォルトの名無しさん:2013/05/12(日) 14:37:30.20
そういうレトリックもIDが出ればできなくなるね。
904デフォルトの名無しさん:2013/05/12(日) 14:44:42.53
>>873は悪意があるか、そうでなければ日本が不自由な間抜け
質問者に対してなりすまし妨害しといて謝らないしね
905904:2013/05/12(日) 14:45:49.60
くそ、文字落ちしやがった
s/日本/日本語/
906デフォルトの名無しさん:2013/05/12(日) 14:45:50.20
Perlスレの恨み
907デフォルトの名無しさん:2013/05/12(日) 14:48:07.97
2ちゃんねる検定3級:不合格 >>904
908デフォルトの名無しさん:2013/05/12(日) 14:57:13.65
>>894
そんなこたぁない
909デフォルトの名無しさん:2013/05/12(日) 14:57:24.40
バカバカバカバカwww
910デフォルトの名無しさん:2013/05/12(日) 14:58:10.37
CといいWin32といいPerlといい役目を終えた言語の末路か
911デフォルトの名無しさん:2013/05/12(日) 15:03:18.41
無能ゴミスレ
912デフォルトの名無しさん:2013/05/12(日) 15:04:28.57
>>897
配列と同じじゃないの?
913デフォルトの名無しさん:2013/05/12(日) 15:08:01.85
ポインタと配列は似て非なるもの。
914デフォルトの名無しさん:2013/05/12(日) 15:32:08.76
よろしければ添削してほしいのですが書き出してもいいでしょうか?
短いプログラムなのですが初心者なものでどうにもわからないのです
915デフォルトの名無しさん:2013/05/12(日) 15:33:56.06
コンパイルタイムとランタイムの違いについて検索サイトなどを
使って調べて見るとわかるかもしれない。

必読書:エキスパートCプログラミング
アマゾンで調べればすぐ出てくるので注文して読みましょう。
916デフォルトの名無しさん:2013/05/12(日) 15:36:37.36
917デフォルトの名無しさん:2013/05/12(日) 15:40:40.39
*y = malloc(sizeof(int)*10);
だろ
918 忍法帖【Lv=2,xxxP】(1+0:5) :2013/05/12(日) 16:14:03.53
プロセスに子プロセスがいるのってどうやって確かめるの?
919デフォルトの名無しさん:2013/05/12(日) 16:29:42.48
そういう質問はこっち。

★初心者以前の質問に雪崩のように答えるスレ★
http://toro.2ch.net/test/read.cgi/tech/1331930031/
920デフォルトの名無しさん:2013/05/12(日) 18:15:13.03
int cubic[9];
cubic[0]=x1.........cubic[8]=x9;
xkは1〜9のどれか。
インデックス3個ずつで1行として

326
459
781

という3次正方配列を想定するとする。

このとき縦横隣り合ってる2つを選んで入れ替えて
できるだけ少ない回数で

123
456
789

にしたいです。
どういうアルゴリズムがいいですか?
10×10にも適用できるような凡庸なアルゴリズムがいいです。

3×3の場合は
クイックソート3回でできると思うんですがどうでしょう?
921デフォルトの名無しさん:2013/05/12(日) 18:19:55.58
ぼんようなアルゴリズム
隣り合ってるものを交換するのにクイックソート

ふざけすぎだろwww
922デフォルトの名無しさん:2013/05/12(日) 18:21:19.53
すいませんww
頭混乱しててw
クイックソートは無理ですよね

どうすればいいですかね?
バブルソート以外無理ですかね?
923デフォルトの名無しさん:2013/05/12(日) 18:22:23.79
特に取り柄のないアルゴリズムがいいんだろ?
924デフォルトの名無しさん:2013/05/12(日) 18:24:06.57
最速のアルゴリズムがいいです。
まず水平方向をバブルソートして
縦方向をバブルソートすれば3×3の場合は(3+3)×3^2/2回数で
済むと思うんですけどもっと効率的な方法ありますかね?
925デフォルトの名無しさん:2013/05/12(日) 18:25:54.47
1〜nが連続してるなら3x3だろうが10x10だろうが
N番目にNをいれるだけ
元々入っている数字もソートも一切関係ない
ひっかけ問題だな
926デフォルトの名無しさん:2013/05/12(日) 18:28:58.51
>>925
パズルとして考えて欲しいです。
その論理だと数独だってそうでしょ?
927デフォルトの名無しさん:2013/05/12(日) 18:29:33.66
縦横に分ける必要ないじゃん
928デフォルトの名無しさん:2013/05/12(日) 18:33:17.67
要素を走査して並び替えると考えれば
N番目にソートした値列[N]が入る、にかわるだけで
同じことだよ
929デフォルトの名無しさん:2013/05/12(日) 18:38:03.53
数独の問題解くのってまじでどうやってアルゴリズム作ってるの?
あれ凄くないか?
930デフォルトの名無しさん:2013/05/12(日) 18:41:31.82
総当り9×9×9の恐ろしい数の計算をこなせばできる
931デフォルトの名無しさん:2013/05/12(日) 18:41:49.57
数独の第一人者といえばこの人。

http://www.pro.or.jp/~fuji/
932デフォルトの名無しさん:2013/05/12(日) 18:46:27.06
>>929
各マスの候補を順に消していけば、計算量を少なく出来る。
制約プログラミングのやり方を応用。
933デフォルトの名無しさん:2013/05/12(日) 18:49:15.53
>>932
アルゴリズム何行?
何行くらいですむん?
934 ◆QZaw55cn4c :2013/05/12(日) 19:55:06.16
>>920
普通に幅優先探索(横型探索)でしらみつぶしがいいでしょうね
935デフォルトの名無しさん:2013/05/12(日) 20:37:51.96
>>920
これって有名なアルゴリズムがあるんじゃないのかね。
4x4パズルをさくっとといてドヤ顔してる人を見たことあるけど。
936デフォルトの名無しさん:2013/05/12(日) 23:32:37.99
Cじゃなくて関数型なら1画面だが
937デフォルトの名無しさん:2013/05/13(月) 15:28:21.90
データベースってどうやって作るの?
今世の中の有名DB、PostgreSQLやMySQLを超える高速DBを作って公開して自己顕示欲を満たしたいので教えてくださいお願いします。
938デフォルトの名無しさん:2013/05/13(月) 15:33:50.70
まず高速化のアイデアを書きなさい
939デフォルトの名無しさん:2013/05/13(月) 15:41:03.74
今までのDBって省メモリで作られてるだろうから
16ギガのメモリ搭載前提で作れば高速なのが作れそう
940デフォルトの名無しさん:2013/05/13(月) 15:46:59.41
アイデアも何もDBがどういう仕組みで動いてるのか知らないんですよ。
だからそれを知って改善ポイントを見つけようって寸法です。
なんかキャッシュらしきものがあるとか、レコードの削除も実際には削除せずに削除フラグ立てるだけとか
4KB単位のブロックで記憶領域を確保して頻繁に領域の拡張が起きないようにするとか、そういうことしか知らないです。
俺が使える言語の中ではCが一番速いのでここに来ました。
941デフォルトの名無しさん:2013/05/13(月) 15:50:57.14
>>939
16GBってこのご時世業務用鯖なら普通に積んでてもおかしくないですな。
いけそういけそう。
ところで何で16GBなんですかね?
942デフォルトの名無しさん:2013/05/13(月) 15:55:47.74
ソフトって必須(最低)動作環境ってあるけど、
あれはどうやって調べるの?
943デフォルトの名無しさん:2013/05/13(月) 15:57:48.81
>>942
調べるってマニュアルに書いてあるよ。
944デフォルトの名無しさん:2013/05/13(月) 16:12:14.01
ソフトの開発者がどうやって検証しているかって意味の質問だと思うんだが。
C スレだし、開発者の立場だろ。
945デフォルトの名無しさん:2013/05/13(月) 16:18:22.66
>>942
必須(最低)動作環境を最初に決めてから、それに合わせて作るというアプローチもある。
946デフォルトの名無しさん:2013/05/13(月) 16:36:18.01
>>945
それが普通なんじゃないの?
想定せずに作って、できてからどのくらいの低スペックまでなら動くか調べるとかしないと思うけど。
947デフォルトの名無しさん:2013/05/13(月) 16:54:02.00
sqlite なら丸パクリでも問題ないから
まずソースを読んではどうか
948デフォルトの名無しさん:2013/05/13(月) 16:55:47.38
>>946
最低想定をCPU2GHz、メモリ1GB、HDD2GBで作ったとするだろ?
でも完成してみたら1.4GHz、512MB、1GBでも動くかもしれないだろ?
そういう環境だけど欲しい客がいるかもしれないだろ?
「動くとは思いますが自己責任でお願いします^w^」ってみすみす客を逃すのか?
949デフォルトの名無しさん:2013/05/13(月) 17:02:10.48
>>948
1.4GHz、512MB、1GBの客が欲しければ
最初から最低想定をそれで作るのが普通
と思うが
950デフォルトの名無しさん:2013/05/13(月) 17:09:33.11
完成してからゴリゴリ、ストレステストしながら、最低スペックの限界を調べるとか普通はしないな。
951デフォルトの名無しさん:2013/05/13(月) 17:11:03.04
別に数独の9x9x9くらい一秒も掛からんから総当りでいいよ。
952デフォルトの名無しさん:2013/05/13(月) 17:18:17.37
じゃあ素人製作のフリーソフトなんかは基本的に
自分のPC == 開発環境 == テスト環境 == 最低想定
ってことになると思うけど、
あの人たちは自分のPCスペックを書いてるわけ?
953デフォルトの名無しさん:2013/05/13(月) 17:21:05.25
必要メモリはタスクマネーシャで使用量見れば分かるだろ

必要ディスク容量はインストールする全ファイルの合計容量見れば分かるだろ
954デフォルトの名無しさん:2013/05/13(月) 17:24:43.05
cpuはタスクマネーシャでそのアプリの瞬間最大使用率見てそのときの使用率で割ればよい
3.2ghzのcpuで瞬間最大10%使ってるなら320mhzあればよい
955デフォルトの名無しさん:2013/05/13(月) 17:27:37.99
>>952
むかしフリーソフトを公開したときは、2chで動作確認してくれる人を探してお願いした。
956デフォルトの名無しさん:2013/05/13(月) 17:27:56.95
957デフォルトの名無しさん:2013/05/13(月) 17:38:45.78
>>954
その発想はなかった。
# そして、全く意味がない。
958デフォルトの名無しさん:2013/05/13(月) 17:40:36.35
>>951
単なる総当たりでやる場合:

数字の重複などを全く考えない場合の組み合わせは、9^81通り。
さまざまな条件などを反映させた場合の組み合わせは、約54億通りになる。
(54億通り=5.4*1000*1000*1000)

1msあたり1000通りチェックできたとして(1秒間に1000*1000通り)、5400秒かかる。
(5400秒=1.5時間)

実際は、1秒あたり100万パターンもチェックできないので、適切なアルゴリズムとコードの最適化を
行わなければならない。
959デフォルトの名無しさん:2013/05/13(月) 17:43:13.65
バカには無理ですりんこ
960デフォルトの名無しさん:2013/05/13(月) 17:50:55.01
数独解くのって難しいのかな?

数独自動解法プログラム(ソースあり)
http://dogmap.jp/2009/09/10/%E6%95%B0%E7%8B%AC%E8%87%AA%E5%8B%95%E8%A7%A3%E6%B3%95%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/

数学のエキスパートが3ヶ月かけて作成した「世界一難しい数独」
http://gigazine.net/news/20100822_hardest_sudoku/
を食わせてみたんだが、一瞬で回答が出たけど。

ソースは見てない。
961デフォルトの名無しさん:2013/05/13(月) 17:57:10.99
>>960
総当りで解く分には凄まじく簡単だよ。人手でやると時間が掛かりすぎて話にならないけど。
逆に、真面目に理詰めで解こうとすると、仮に「世界一難しい」をLevel7とすると私が解けるのがLevel2かLevel3、
一般向けの数独のゲームソフトはLevel1程度で新聞のおまけなんかだとLevel0。
962デフォルトの名無しさん:2013/05/13(月) 17:58:03.75
>>958
全ての組み合わせをチェックする必要はさらさらないよ。バックトラックで充分。
963デフォルトの名無しさん:2013/05/13(月) 17:59:51.85
>>952
素人製作のフリーソフトなんか出したら
それこそ千差万別
964デフォルトの名無しさん:2013/05/13(月) 18:00:33.34
総当りはスペック良いパソコンでも結構時間掛かると思う
アルゴリズム考えないと
965デフォルトの名無しさん:2013/05/13(月) 18:01:17.08
>>954
CPUによって特殊機能に違いがあったりするからなぁ
966デフォルトの名無しさん:2013/05/13(月) 18:06:50.80
数独は、決まっている数字を消去法で消して、
残った未確定は候補のうちの数字をひとつ試しに入れてみて
矛盾が発生したら別の数字を入れて試して、
最後まで矛盾なく埋まったら完了。

で良いんじゃない?
967デフォルトの名無しさん:2013/05/13(月) 18:07:41.96
>>966
総当りと変わんないねそれ
968デフォルトの名無しさん:2013/05/13(月) 18:13:06.04
>>967
総当たりの組み合わせが、例えば
81!から80!に
ひとつ減るだけで81倍の速度になる。
81!から78!に
3つ減るのなら511920倍の速度になるのである。
969デフォルトの名無しさん:2013/05/13(月) 18:19:11.24
>>962
>>951が総当たりでいいとか言ってたので、総当たりでやった場合の計算量を示したまで。
970デフォルトの名無しさん:2013/05/13(月) 18:54:05.73
Cって宣言した変数使わないとエラー出るから苦手だわ
何回もシュミしてればいらん変数残したままだよな
971デフォルトの名無しさん:2013/05/13(月) 18:57:01.75
エラーは出ないだろ
972デフォルトの名無しさん:2013/05/13(月) 19:12:40.64
変数宣言して使わないとかたまにあるけどエラー出たことないわ
どんなマイナーコンパイラだよ
973デフォルトの名無しさん:2013/05/13(月) 19:22:11.26
使えばいいだけのはなし
974デフォルトの名無しさん:2013/05/13(月) 19:23:23.94
スクリプトって宣言してない変数使ってもエラー出ないから苦手だわ
スペルミスしても平気で空の値返してくるとか狂気の沙汰だよな
975デフォルトの名無しさん:2013/05/13(月) 19:27:01.33
実行エラーじゃなくてコンパイルエラーでしょ?
出してくれたほうが嬉しいわ
使わない変数消せると気持ちいい
976デフォルトの名無しさん:2013/05/13(月) 19:31:56.82
cもセグメンテーションフォールトがコンパイル時に出てこないから
かなりうざい
977デフォルトの名無しさん:2013/05/13(月) 19:37:50.66
>>974
それ思う
Perlもuse strict;付けないとデフォルトでその動作するからやってられない
バグがあっても発見するのは困難を極める
宣言なし言語は、スペルミス絶対しないとか、大量のコードの中からスペルの違うものを瞬時に見つけられるとか
そういうアスペ専用言語
978デフォルトの名無しさん:2013/05/13(月) 19:42:56.57
phpは変数宣言の必要ないスクリプト言語だけど
今まで使われたことのない変数呼び出すと普通に警告してくれる
979デフォルトの名無しさん:2013/05/13(月) 19:49:11.40
お前は今までに無視した警告の数を覚えているのか
980デフォルトの名無しさん:2013/05/13(月) 19:56:56.99
できるかぎり警告対象となったものは消す

CじゃなくてC++の話だけど、
テンプレート使うと一部の警告を無効化しなきゃうざいことになるんだよんぁ
981デフォルトの名無しさん:2013/05/13(月) 20:18:10.65
音声認識したらプログラミング早すぎワロタwww
はっきり発音すれば認識してくれるよ
printfはプリンまでいったら一番上の候補として出てくる
テトリス1時間かかったの10分で作れたわ
皆絶対やったほうがいい
982デフォルトの名無しさん:2013/05/13(月) 20:20:39.01
>>979
DIO乙
983デフォルトの名無しさん:2013/05/13(月) 20:34:42.09
次スレはよ
984デフォルトの名無しさん:2013/05/13(月) 20:36:58.69
ほいよ

C言語なら俺に聞け(入門編)Part 115
http://toro.2ch.net/test/read.cgi/tech/1368444993/
985デフォルトの名無しさん:2013/05/13(月) 20:42:20.14
>>981
平均的マなら普通に打ったほうが早い
986デフォルトの名無しさん:2013/05/13(月) 20:47:41.81
>>960
数独自動解法プログラムは昔俺も作った
一瞬で25x25のやつも解けるから
数独を手動で解くのとかバカらしいよね
987デフォルトの名無しさん:2013/05/13(月) 21:08:45.60
a
988デフォルトの名無しさん:2013/05/13(月) 21:10:51.41
うんこ
989デフォルトの名無しさん:2013/05/13(月) 21:37:31.47
あああ
990デフォルトの名無しさん:2013/05/13(月) 21:39:52.10
aaaa
991デフォルトの名無しさん:2013/05/13(月) 21:45:15.81
aaaaa
992デフォルトの名無しさん:2013/05/13(月) 21:53:34.12
ちんこ
993デフォルトの名無しさん:2013/05/13(月) 21:53:49.46
おちんしゅ
994デフォルトの名無しさん:2013/05/13(月) 21:54:14.28
しこしこきもちいいお
995デフォルトの名無しさん:2013/05/13(月) 21:54:44.57
ぐろまん
996デフォルトの名無しさん:2013/05/13(月) 22:09:14.14
>>970
×シュミ
◎シミュ
997デフォルトの名無しさん:2013/05/13(月) 23:11:29.09
まんまん
998デフォルトの名無しさん:2013/05/13(月) 23:53:24.14
数独天皇
999デフォルトの名無しさん:2013/05/14(火) 00:52:47.07
うめ
1000デフォルトの名無しさん:2013/05/14(火) 00:54:46.87
スレよさらば
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。