facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 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ではコピペ荒らしは禁止されています

ここまで見た
  • 754
  • アルゴリズム
  • 2014/03/25(火) 08:21:30.02
中々この問題は面白いですね
移動が可能かどうかという問題は解決可能なんですか?
全ての状態を割り出して、その中に移動可能かどうか調べたい状態が無ければ移動不可能
という事になると思いますが、全ての状態を割り出したかどうかどうやって判断するんでしょうか?

ここまで見た
  • 755
  •  
  • 2014/03/25(火) 08:31:00.39
>>754
まず前提として初期値が設定されています。ある状態に対する操作は有限個であるので、はじめの状態から一回操作した状態がわかるので
それを記録します。以下繰り返していき、すでに記録された状態に辿り着いたらその分岐はおしまい。
すべての状態の数は有限なので、操作していった時の状態の分岐はいつか終了するので、初期値から変化可能な状態が全て割り出せます。
状態Aから状態Bへたどり着けるかはわかりませんが、状態Aからたどり着けるすべての状態をグループ化できます
そのグループに状態Bが含まれていれば到達可能であり、
そうでないならば先のグループとは別の、状態のグループが存在しているということになります

ここまで見た
  • 756
  •  
  • 2014/03/25(火) 08:45:38.35
>>754
ヨー・ロール・ピッチに3段
片方向1づつなら9通り、2手目以降も同様
その他ならなら18通り、2手目以降は15通り
完成状態から全列挙しちゃうのが最も簡単な方法なのではないかな?

ここまで見た
  • 757
  •  
  • 2014/03/25(火) 10:02:12.13
また自分にとって難しい話になったww

初期値Aとして
A→B→C→D→A→E
こういう場合もあるんじゃないでしょうか?
同じ状態が途中にないような操作をしないとダメなんでしょうか?

ここまで見た
  • 758
  •  
  • 2014/03/25(火) 10:16:14.31
>>757
その場合は最初のA→Bの時にA→Eも判明するだけ

ここまで見た
  • 759
  •  
  • 2014/03/25(火) 11:32:14.30
4つの正方形で右・左まわり

こういう場合、適切な操作は難しいですね
全ての状態を列挙とか可能なんでしょうか

ここまで見た
  • 760
  •  
  • 2014/03/25(火) 11:42:49.14
1 2 3
4 5 6
7 8 9

を上下横交換で全てのパターンを列挙せよ
この場合は、横を一回、上を一回を繰り返せばいいだけですか?

ここまで見た
  • 761
  •  
  • 2014/03/25(火) 11:52:00.33
ちょっと自分でやってみます。昨日からスレ独占してすいませんでした。

ここまで見た
  • 762
  •  
  • 2014/03/25(火) 15:20:52.88
これだからCはやなんだよ

ここまで見た
パリティ(偶奇性)とか気になるけど,実際どなんでしょう?

ここまで見た
  • 764
  •  
  • 2014/03/25(火) 20:11:54.20
おまえがどうかまず言え、ぼけ

ここまで見た
  • 765
  •  
  • 2014/03/25(火) 20:23:01.89
アルゴリズムは専門書読んだら気が狂いそうになるな
グラフが出てきたら瞬間で詰む
基本的な事だけ万遍なく覚えて精神を満たすのが良いな

ここまで見た
>>764
しらんがな‥‥

ここまで見た
  • 767
  •  
  • 2014/03/26(水) 05:33:13.14
>>765
おまえみたいなアホがcでやるような仕事なんてないだろうから
アルゴリズムを学ぶだけ時間の無駄じゃない?

ここまで見た
  • 768
  •  
  • 2014/03/26(水) 06:38:28.83
>>765-767
院生が「勉強は大変だ」と愚痴っているのを見かけた小学生が
「勉強なんて簡単だよ!」とたしなめている光景が思い浮かんだ。

ここまで見た
  • 769
  •  
  • 2014/03/26(水) 10:51:00.49
適当なスペースの入れ方どうしています?
制御文
1.if(a>0){...}
2.if( a>0 ){...}
3.if ( a > 0 ) {...}

関数
1.function(argment1, argument2,[ ..].){...}
2.function( argment1, argument2, [ ...] ){...}
3.function ( argment1, argument2, [ ...] ){...}

ここまで見た
  • 770
  •  
  • 2014/03/26(水) 11:06:21.80
3。
あと中括弧は次の行に入れると決まっている

ここまで見た
  • 771
  •  
  • 2014/03/26(水) 12:00:33.25
括弧悪い……

>>769
if (a > 0) {
...;
}

type function(type arg1, type arg2, ...)
{
...;
}

ここまで見た
  • 772
  •  
  • 2014/03/26(水) 12:06:32.13
if(a > b){
TAB...;
}

type *func(type *arg, type gra, type rag[], ...);

ここまで見た
  • 773
  •  
  • 2014/03/26(水) 12:28:57.83
if(式)
{
...
}

func(引数){
...
}

ここまで見た
  • 774
  •  
  • 2014/03/26(水) 12:32:10.47
俺は>>771。でelseは
if (a > 0) {
...;
}

else {
...;
}

ここまで見た
  • 775
  •  
  • 2014/03/26(水) 13:00:51.54
括弧の内側にスペース入れるなとだけ言っておく

ここまで見た
  • 776
  •  
  • 2014/03/26(水) 13:08:45.68
if ( a >= 0 ){

}else if ( b == 0 ){

}else if ( ( c > 4 )&&( d < 5 ) ){

}else{

}

int func( int a , char *b , long c )
{

}

for( x=0;x<100;x++ ){

}

switch( xxx ){

}

ここまで見た
  • 777
  •  
  • 2014/03/26(水) 19:25:14.63
>>771>>773の人がセンス的に俺のに一番近いが、
if (a > 0) {
[TAB]...;
} else if (a == 0) {
[TAB]...;
} else {
[TAB]...;
}

type function(type arg1, type arg2, ...) {
[TAB]...;
}

ここまで見た
  • 778
  •  
  • 2014/03/26(水) 19:26:35.60
>>777訂正
>>771>>774の人だったね。

ここまで見た
  • 779
  •  
  • 2014/03/26(水) 19:32:09.75
>>776の人のは、カッコが他とくっつき過ぎてちょっと俺的には見にくいわ

for (int i = 0; i < 100; i++) {
[TAB]...;
}

switch (i) {
case 0:
[TAB]...;
[TAB]break;
case 1:
[TAB]...;
[TAB]break;
}

ここまで見た
  • 780
  •  
  • 2014/03/26(水) 19:36:47.51
>>777
>>779
俺も全く同じくだわ。

ここまで見た
  • 781
  •  
  • 2014/03/26(水) 20:06:06.20
>>777
>771と>774は別人よ。
そんな私(>771)はelse周りは>777と一緒。

ここまで見た
  • 782
  •  
  • 2014/03/26(水) 20:46:03.99
if (a > 0) {
[TAB]...;
} else if (a == 0) {
[TAB]...;
} else {
[TAB]...;
}

type function(type arg1, type arg2, ...)
{
[TAB]...;
}

struct str {
[TAB]...;
};

for (int i =0; i < 10; i++) {
}
a = function(100);

ここまで見た
  • 783
  •  
  • 2014/03/26(水) 20:50:44.47
自由にかけるのがCの魅力だ

ここまで見た
  • 784
  • KAC
  • 2014/03/26(水) 20:57:03.42
読み手にどう読んでほしいかによって書き方変える。
変化をつけるってのは、注意を引くための手法の一つ。

ここまで見た
  • 785
  •  
  • 2014/03/26(水) 20:59:31.27
オイラは { 〜 } の中身の具合によって違うな。

ここまで見た
  • 786
  •  
  • 2014/03/26(水) 21:03:58.84
こういうのってIDEとかで変換できないの?
できたら個人が好きなように書いて、読み手によって表示変えたりとか

ここまで見た
  • 787
  •  
  • 2014/03/26(水) 21:58:03.18
VSで自分の好みにフォーマットできるよ

ここまで見た
  • 788
  • KAC
  • 2014/03/26(水) 23:49:42.71
空白などの書き方や癖なんかも
他人のソースを読む上での重要な情報なんだよ。
それを機械で全部取り去るなんて愚の骨頂。

ここまで見た
  • 789
  •  
  • 2014/03/26(水) 23:58:30.98
indentコマンドでどうにかなるのでは?

ここまで見た
  • 790
  •  
  • 2014/03/27(木) 01:15:05.02
俺のeclipseのformatter
http://codepad.org/7h0NLM0k

ここまで見た
  • 791
  •  
  • 2014/03/27(木) 01:57:28.08
>>790
default: {
bar += bar;
break;
}
これって?

ここまで見た
  • 792
  •  
  • 2014/03/27(木) 02:26:30.90
>>784
>>788
小説じゃないんだから読み手に丸投げってのはありえないよ
伝えたい何かがあるならそれをそのままコメントに書けばいい

>>786
astyleが定番

ここまで見た
  • 793
  •  
  • 2014/03/28(金) 07:20:50.90
>>782 と全く同じだった

ここまで見た
  • 794
  • KAC
  • 2014/03/28(金) 15:09:52.87
>>792
"ソースを読む"って経験をもっと積めばわかる。
お前が思っている以上にソースにはいろんな情報が残されてるんだよ。
それを効率よく読み取れば他人のソースのデバッグも素早くできるようになる。

ここまで見た
  • 795
  •  
  • 2014/03/28(金) 22:47:50.13
などとスパゲティーソース職人が言ってます。

ここまで見た
  • 796
  •  
  • 2014/03/28(金) 22:59:10.26
理解できないソースを自分の主義に合わせて書き直したら理解できたことがあった。

ここまで見た
  • 797
  •  
  • 2014/03/28(金) 23:17:59.05
c言語のソースコードでデッドロックを実現するようなコードってかけますか?

ここまで見た
  • 798
  • KAC
  • 2014/03/28(金) 23:33:18.88
>>797
デッドロックを実現ってのが、デッドロックで処理を止めるって意味なら
別に言語に依存しない話だから、C言語でも書けるぞ?

ここまで見た
  • 799
  •  
  • 2014/03/28(金) 23:34:15.49
>>798
例えば?

ここまで見た
  • 800
  • KAC
  • 2014/03/28(金) 23:36:38.30
>>799
ん?
デッドロックってのがどういうものか理解してる?

ここまで見た
  • 801
  •  
  • 2014/03/28(金) 23:39:21.89
OSのシステムコールとか使わずにって意味じゃないか

ここまで見た
  • 802
  •  
  • 2014/03/28(金) 23:49:32.32
コテの方がマトモってのは珍しいな
いつもおかしいのに

ここまで見た
  • 803
  •  
  • 2014/03/29(土) 00:43:46.74
>>797
デッドロック(dead lock, 死のロック)という言葉のとおり、
デッドロックは意図せず起きてしまうロック、要するに「バグ」の一種
だから「(意図的に)デッドロックを実現する」という文章そのものが
意味不明になっている
解決したい課題を再考してから、質問をやり直した方がいいと思われ

>>798
物知り顔で質問者を惑わす回答は、良くない行為だよ
もともと頭が悪いみたいだからしかたないかもしれないけど、
コテが自己顕示欲だけの馬鹿ばかりという法則そのままだ

ここまで見た
  • 804
  •  
  • 2014/03/29(土) 01:11:17.81
だんだん良く分からない流れになってまいりました

ここまで見た
  • 805
  •  
  • 2014/03/29(土) 01:14:09.28
人工無能が吐き出したような抽象論でも当たることはあるってことが示された

フリックラーニング
フリック回転寿司
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email
おすすめワード