C言語なら私に聞け! Part 66

このエントリーをはてなブックマークに追加
「すぐに」を正確に定義してください。
じゃあちょっとだけ条件式の書き方を解説
まずorから攻めよ。
こういうときに条件を満たすってのをorで結んでいけばいいの。
この場合はまず (....) || (400で割り切れる)
次に制約、制限をandで結ぶ。
(4で割り切れる) && !(100で割り切れる)
これであってるよね・・・?

orが基本になるのです。
真になる条件を全部書き出してorで結ぶって方法もある。
使ったことないけど・・・・
954950:03/11/10 12:32

>まずorから攻めよ。

入門書の68ページ目を理解するのになんでそんなわけの分からん決まりごとを知っておかねばならんのだ?
自分で考える力が無いからそういう法則みたいなのにのに頼るんだろ?( ´゚c_,゚` )プッ
しょせん中卒の俺と同レベルw
むしろ当たり前のように反則技使うお前らよりは俺の方が素質は上だろうwww確実にw
てst
もう冬休みか?
>>954
構って欲しいなら、もう少し別のアプローチを選択した方がいい。

>>950
>みなさまはこれをすぐに条件式にできますか?
できるよ。つか、各条件が独立してるから
これは解り易い方だろ。

まず条件として
 [A] 4で割り切れるかどうか
 [B] 100で割り切れるかどうか
 [C] 400 で割り切れるかどうか
の3つがあることが判れば、あとは

  閏年かどうか = ([A] && ! [BB]) || [C]

となる。Cだと

  ! year%4 && year%100 || ! year%400

どーしても判らんかったら、フラグ用意してひとつづつ
判定汁。

char leaped = 0;
if (year % 4 == 0)
  leaped = 1;
if (year % 100 == 0)
  leaped = 0;
if (year % 400 == 0)
  leaped = 1;
ついでに。
もっと複雑な条件のときは真理値表を書いた方がいいだろう。
/* 元の条件が整理できるし、矛盾があればその時点で把握できる。 */
この例だと、

[A] [B] [C] 結果
 F  F  F  F
 F  F  T  T
 F  T  F  F
 F  T  T  T
 T  F  F  T
 T  F  T  T
 T  T  F  F
 T  T  T  T

結果が T になるのは

[A] [B] [C] 結果
 F  -  T  T
 T  F  -  T
 T  T  T  T

![A] && [C]、つまり
 「4で割り切れないのに400で割り切れる」
はありえないので除外すると、結局上のと同じになる。

つーかこれ、スレ違い気味だな。
自前のうるう年判定なんかやるから2000年問題がおきたんだよ
2000年問題と2000年2月29日問題は別なのだが
>>960
ネタはマ板で
>>963
クソレスはム板で
厨房死ね
C言語を習い始めてアプリケーションを作れるようになるには何日くらい必要ですか?
967911:03/11/10 19:06
3週間くらいじゃない?
次スレは?
次スレ

C統合・質問スレッド
http://pc2.2ch.net/test/read.cgi/tech/1068359871/
質問します。
配列を定義すると、要素がはじめから0になってるんですけど
明示的に0で初期化した方がよいんでしょうか?
する必要ないですか?
>>972
記憶クラスがstaticである変数(グローバル変数・ローカルなstatic変数)は
0で初期化される。
それ以外は保障されていない
わかりました。ありがとうごさいます。
自動変数でも、

 int a[10] = { 0 };

としただけで、全部 0 で初期化される。
ぞれは明示的に初期化していると言わないだろーか
WAVEファイルをfopenで"r"やら"rb"やらで開くと文字化けしたような結果になりますが、
「RIFF 01 11・・・・」
みたいなキレイな結果が返ってくるにはどうしたらいいのでしょう・・・?
>>977
WAVEファイルのフォーマット知ってるのか?
俺は知らんからとりあえず「RIFF 01 11・・・・」
を期待する部分を16進数で表示した結果を晒せ
>>976
a[0] は明示的に初期化してるけど、
他は暗黙に初期化してる。
>>977
fread で読んでるか?
>>977
まさか、プレーンテキストで返ってくる事を期待してないよな?
982デフォルトの名無しさん:03/11/14 13:02
>>977みたいな処理って、バイトを2進数を表す文字や16進数を表す文字に直さないとダメじゃないの?
>>982
その理由を聞きたい。
984デフォルトの名無しさん:03/11/14 18:29
>>983
だって、つまりファイルダンプしたいってことでしょ?
バイナリファイルを2進数や16進数の文字で表す場合
それしか方法ないと思うけど
>>983
釣るな
>>984
釣られるな
986デフォルトの名無しさん:03/11/14 19:12

    _____
    |キャンセル|
     ̄ ̄ ̄ ̄ ̄
>>977
一度,バイナリエディタという類のソフトを使ってみるといい。
16進ダンプとASCII(モノによってはUNICODEなども)は別々に表示される。

これは,ASCII文字とバイナリデータを区別する手段が無いため。
おまいも別々に表示しろ!
今日はじめてCやってみたけど、窓開けられねー
989パスカルの三角形がわかりません。:03/11/14 22:10
UNIXのC言語なんですけど数字を入力したら↓みたいになるプログラムがわかりません

   *
  * *
 * * *
* * * *
あと負の数字を入れたらこうなります。
−4
* * * *
 * * * 
  * *
   *
よろしくお願いします。
マルチ、止めれ。
マルチ氏ね
埋め立てなら私に聞け!
****
***
**
*
**
*
maruti
****
***
**
*
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。