- 1 名前:デフォルトの名無しさん [2018/09/19(水) 17:56:50.83 ID:XSTNMnDwa.net]
- C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 147 mevius.5ch.net/test/read.cgi/tech/1534430162/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
- 809 名前:ニ同じ事になってる事にも気づいた方がいい。
お前らは完全に空回りしているんだよ。 ハロワも同じだろ。「何故世界中の誰も20年間それを修正しなかったのか」を理解出来ない癖に、 「俺のハロワ、凄いだろ」なんて言っちゃう辺りが痛い。 ただ、それは若さの特権だから、本当にそう思うのなら主張すればいいし、 ゴミなのを誰も褒めないんだから、ここのコミュニティもまだ正常、ってわけだ。 それで、話を戻すと、ゆとり流の無知と横暴は2chを潰すから止めろ、と言っている。 とはいえ、おそらくゆとりには悪気はない。これが話が通じない根本の原因だ。 しかし、2chにはゆとりを排除するシステム自体がなく、へばりつかれたらどうしようもない。 だから俺はゆとりを教育してやろうとしているわけでさ。2chに合う奴だけが2chに来ればいいのであってね。 笑顔で人を殺しても、殺人は殺人なんだよ。ゆとりはこれを理解出来てない。 同様に、どんなに上手に敬語を使っても、スレを毀損しているようでは駄目なんだよ。 ゆとりは乗っ取り行為が酷すぎる。しかもそれを自覚出来てないのが最悪。 [] - [ここ壊れてます]
- 810 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:33:14.11 ID:tgytymo80.net]
- お怒りは理解しますけど、長い。もっと簡潔に書こうよ
- 811 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:48:32.02 ID:+6TFZypL0.net]
- >>789
文句があるのなら、異常な流れになる前に、お前が何とかして終わらせておけ。 それも出来ず、やろうともせずに文句だけ言ってるのだから、お前も相当のゴミだぞ。
- 812 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:48:48.36 ID:4hMlWk5Ba.net]
- >>778
>>777だけを見て同じ方向を向く人たちには言われたくないなw
- 813 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:59:17.90 ID:tgytymo80.net]
- >>790
匿名掲示板なんて、誰が何書いても咎めようがないし そういうことで腹を立てても何も得しないと思うけど もっと大人になろうよ
- 814 名前:デフォルトの名無しさん [2018/10/18(木) 23:16:58.79 ID:THsg9J3q0.net]
- ハロワいけ
ハロワ
- 815 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:27:27.31 ID:+6TFZypL0.net]
- >>792
効果はあるんだよ。だから書いてる。 正確に言えば、効果がある奴には効果がある、だが。 はっきり言えば、君の考え方もズレてるんだよ。 コミュニティは、オンラインであれオフラインであれ、存続する為には新人を受け入れるしかないんだよ。 だから、ゆとり世代以降を全員閉め出す、というのもまた間違いだし、 後10-15年後にはゆとりが社会の主力になるんだから、 それまでに駄目なところを鍛え直すのは上の世代の責任でもあるんだよ。 (君の考えに関係なく、俺達はゆとり世代に未来を託すしかない) だから俺は俺なりの方法でやってる。それで成果も多少は出てる。 お前は何もしようともしてないのに文句だけ言ってるクズだよ。 ネットだから何をやってもいい、ではないんだよ。 同様に、ネットだから何もやらなくてもいい、でもない。 ネットだから咎めようがない、でもない。 まあ君には通じないとも思うけど。
- 816 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:31:27.22 ID:tgytymo80.net]
- 有益なことなら読んでいるが
長い文章書かれても、大概の奴は読まないだろ 読まれれば効果が有るかもしれないが、 読み飛ばされても文句は言えない事は理解しないと
- 817 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:55:16.65 ID:+6TFZypL0.net]
- >>795
> 読み飛ばされても文句は言えない事は理解しないと 理解してるぞ。というか、当たり前だろ。お前はアホなのか? まあお前も理解出来てないのだろうが、なんだかんだでみんな読んでるんだよ。 そのうち分かるようになるよ。 それ以前に、2chの『長文』ごときで無理な奴はプログラマは無理だし。
- 818 名前:デフォルトの名無しさん [2018/10/18(木) 23:56:44.20 ID:Mibooz+L0.net]
- たまに上から目線
- 819 名前:ナ長文書くバカいるけど誰も読まないんだよな
何故かって冗長なだけで大した事書いてないから [] - [ここ壊れてます]
- 820 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 00:07:48.01 ID:kRG86wcga.net]
- 中身のある、読む価値のあるレスなら長文でもちゃんと読むが、ID:+6TFZypL0のは斜め読みしてめんどくさいだけのやつダナーと思いながら適当に読み飛ばしてる。
- 821 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 00:10:02.34 ID:Av8doxl90.net]
- >>797
そういうことにしたいのはお前が馬鹿だから。 実際は、賢い奴ほど読んでる。 正確には、賢くなる過程で大量のドキュメントを読む必要があり、結果、 賢くなった奴はおしなべて読む速度が速く、読むことに関してコストがかからないからだが。 そして、俺の意図は馬鹿にはどうせ伝わらないから、俺もそれでいいんだよ。 長文ガー、なんて奴は最初から相手にしてない。 三行で、一行で、というのもまた自由だが、 現代プログラマにドキュメントの読み込み能力がかなり必要なのも事実だし、 これは今後さらに拍車がかるのも目に見えているから、 2chの長文に手こずる程度ならマジで国語からやり直した方がいいぞ。
- 822 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 00:20:52.79 ID:e4N83vJpa.net]
- >>799
国語の能力に関係なく、攻撃的で、感情的で、実のない部分の比率が高い文章は誰にとっても読みにくいと思うぞ。 汚いコードを読みなれてそういうのを読むのが上手くなったからって、自分のアウトプットするコードは論理的かつ明瞭でキレイでありたいと思わない?
- 823 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 00:31:51.38 ID:Av8doxl90.net]
- >>800
何が言いたいのか分からん。 その君の文章が「論理的かつ明瞭でキレイ」だとでも思っているのか? 俺は俺なりの方法で対処してる。 読むかどうかは当然読み手側が決める。それでいいという前提で書いている。 君がもっと上手く対処出来るというのなら、君がやればいいだけ。 おかしな流れにならなければ、俺がわざわざ時間をかけて長文を投下することもない。 だから、君が見事に、アホ共を捌き、流れが正常化していれば、俺が出張ることもない。 君が俺にこの手の文を投下させたくないのなら、君が実力を見せればいいだけだ。 やってから言えよ。
- 824 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 01:22:54.20 ID:AAQqymuL0.net]
- 長文連投よりはアホがアホなこと書いてる方がマシだな。
- 825 名前:デフォルトの名無しさん [2018/10/19(金) 01:25:19.25 ID:U7ZV6G1w0.net]
- 5ちゃんで上から目線で長文書く奴の特徴は驚く程共通してるんだよな
例外無く論理的思考が欠如しているから要点をまとめる事も出来ないんだよ
- 826 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 02:00:24.64 ID:Av8doxl90.net]
- >>803
馬鹿こそそういうことにしたがるのだが、 実際、必要な文章量は、認識/知識のギャップに比例するんだよ。 実例を挙げると、>>655,681、ゴミだね、でしかない。 賢い(知識のある)奴にはこれで十分だし、 無理な奴にはグダグダ説明が必要なだけ。 そして俺はお前らがこの件(メタ議論)については無知だと見てグダグダ説明してるだけ。 そもそもお前らが賢ければこんな事にはならないし。 ただ、そういう、「この場合にはこれ」みたいな定型的な屁理屈返しはマジでゆとりに多い。 そういうのも止めた方がいいと思うぞ。誰の為にもならない。 俺も、何度もその返しは見てきた。 それで、誰も俺みたいな返しをしてこなかったから、 お前らゆとりが調子こいて「これは使える」と勘違いしているのだろうけど、 それは単に見捨てられてるだけだぞ。理解出来てないのだろうが。
- 827 名前: mailto:sage [2018/10/19(金) 07:03:22.13 ID:akKjNeBd0.net]
- >>801
>>>800 >その君の文章が「論理的かつ明瞭でキレイ」だとでも思っているのか? 個人的には >>800 は読みやすいんだが、ID:Av8doxl90 は非常に読みにくい たとえば >>799 は文脈・論理の線が、不適切な日本語を使用しているせいで滅茶苦茶だ >>799 >実際は、賢い奴ほど読んでる。…@ >正確には、〜コストがかからないからだが。…A この「正確には」が、読み手を混乱させるミスリード語。 「正確には」と書く以上、すでに述べた@と同格言い直し内容の後続があるかと期待すると、裏切られて、@の理由を示すAが来る。 >そして、〜伝わらないから、俺もそれでいいんだよ。 「そして」が意味不明、何と何が「そして」で続くのかさっぱりわからない。 「そして」を使うのなら、 「俺の文が、馬鹿には読むコストのかかる文章であったとしても」→「馬鹿にはどうせ俺の意図伝わらないから」→「俺はそれでもいい」…B と、A部分のキーワード「コスト」という単語を使うことによって、AとBが意味の上でつながっていることを明示するべきだ Bの冒頭を省くから「そして」が宙に浮く >>801 >おかしな流れにならなければ、俺がわざわざ時間をかけて長文を投下することもない。 上で示したように、君の文章は「おかしな流れ」そのものといっていい スレが「おかしな流れ」であるとき、それを正すのに「おかしな流れ」の文章が使えるとでも思っているのか?
- 828 名前: mailto:sage [2018/10/19(金) 07:17:05.03 ID:akKjNeBd0.net]
- >>803
>上から目線で長文書く奴の特徴 >論理的思考が欠如している 感情にまかせて思いついた単語を羅列するあまり、 前半と後半の意味の整合性がとれていなかったり、前半と後半をつなぐ接続詞が不適切であったり、で、 はっきりいって脈絡がない 書いている本人はテンポ良く文章を量産できる「頭のいい自分」に酔いしれているのだろうが、 実際には量産されているのはポンコツ文
- 829 名前:デフォルトの名無しさん [2018/10/19(金) 10:18:49.82 ID:gPrGaWTXa.net]
- 長文をゆっくり書いていられるゆとりのある人はいいなあ
- 830 名前:デフォルトの名無しさん [2018/10/19(金) 10:20:47.68 ID:SjrnPnkZa.net]
- ポンコツかどうかはコード書かせれば分かるだろ。
この世界では他がポンコツでもコードが書ければ正義だ。
- 831 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 12:53:54.85 ID:7j5wTJzZ0.net]
- >>804
すまん。俺には知識もないし賢くもないので もしもあなたさえ良ければ>>655のゴミな点を指摘してもらえると嬉しいな。
- 832 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 13:19:52.78 ID:R+tFUjApM.net]
- >>808
いくらコードが書けても設計通りに書けないなら駄目じゃん
- 833 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 13:27:43.51 ID:F6BbYzOIH.net]
- >>809
hello worldの存在意義は、 その言語に初めて触れる人に、 言語の規格にきちんと準拠して、 最小限の記述で、 きちんと動作する、 何かのプログラムを見せることだよ。 どんな設計スタイルがいいとか教えることじゃない。
- 834 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 13:59:06.39 ID:P91Z2zs70.net]
- hello, worldって
コンパイラをインストールした後 動作確認する為のテスト用だと思ってた
- 835 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 14:28:27.19 ID:bojs5aOI0.net]
- ゲーム機ハックした人が最初に実行した自作アプリがhello worldだったとかなんとか。
- 836 名前:デフォルトの名無しさん [2018/10/19(金) 14:33:09.80 ID:gPrGaWTXa.net]
- カーニハンそんなことやってたっけ?
- 837 名前:デフォルトの名無しさん [2018/10/19(金) 15:14:02.97 ID:SjrnPnkZa.net]
- >>810
設計通りに書けない奴はコードが書ける奴とは言わんだろ。
- 838 名前:デフォルトの名無しさん [2018/10/19(金) 15:21:55.54 ID:SjrnPnkZa.net]
- >>811-812
どっちも正しい。 >>813 GBAハックした時は点を一個表示するのが最初だった。 Hello Worldは二番目。
- 839 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 16:34:20.62 ID:2swZl7760.net]
- adjtimeって何秒まで調整できるの? 2145秒?
- 840 名前:デフォルトの名無しさん [2018/10/19(金) 17:14:10.33 ID:gPrGaWTXa.net]
- Linuxというかglibcならmanページに書いてあるよ。
- 841 名前:デフォルトの名無しさん [2018/10/19(金) 22:42:18.68 ID:zxKaiBZl0.net]
- make worldでX立ち上がったときは
感動したものだ
- 842 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 00:30:32.53 ID:o/rPvxpn0.net]
- make world
- 843 名前:ってなんかかっこいいよな []
- [ここ壊れてます]
- 844 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 00:33:01.78 ID:rwRxHeub0.net]
- 世界の創造主、いわゆるゴッド
- 845 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 01:37:49.13 ID:/s/GXT/Q0.net]
- それで思い出した
プロジェクトでのmakefile、作成が終わった時に バナー文字で「make end!」って表示するんだけど ある人のだけは「big cock!」に書き換えてたっけ ここには関係者いないよね?
- 846 名前:デフォルトの名無しさん [2018/10/20(土) 15:49:24.33 ID:Nttc2RvPa.net]
- C言語だから、次世代言語(w)よりもコード出るかと思ったら、出ないのな。
- 847 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 21:33:22.48 ID:y1kFtLUq0.net]
- どうでもいいけど
「w」という名前の言語があるのかと思った。割と本気で調べてしまったw
- 848 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 04:55:52.71 ID:sz/a4USN0.net]
- >>824
あるね。 memo.sappari.org/a2z-languages www.vttoth.com/CMS/index.php/projects/49
- 849 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 20:05:57.37 ID:YP/adz7t0.net]
- >>775
近称で自己紹介乙
- 850 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 21:20:19.52 ID:S2kctYlU0.net]
- >>826
ごめん、俺は精神科じゃないし w
- 851 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 21:28:27.90 ID:o3Tx01ZR0.net]
- 病気の話を持ち出すのは、そういう体験が豊富にあるからだろう
- 852 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 22:08:00.66 ID:YP/adz7t0.net]
- >>827
人物と診療科を等値比較とかおまえstd::logic_errorだな
- 853 名前:デフォルトの名無しさん [2018/10/21(日) 22:17:56.29 ID:+iExR7UM0.net]
- Cでfloat型が表す最小の正の数値を求めるプログラム書いてて、
とりあえず1.175494e-38に近づけるように書いてみてるんだが printfで値表示させながらやってみると1.175494e-38以下も表示されるのなんで? 環境はgcc5.5.0_1 とりあえず最小判定は初期値1.2e-38を0.000001e-38ずつ減らしていって、 1.175494e-38を抜けるとバカな数字が出てくると仮定してif(a / (b - c) != 1)で判定してる int main(){ float a = 1.2e-38, b; float c = 0.000001e-38; while(1){ b = a; a -= c; printf("a=%.6e b=%.6e\n", a, b); if(a < 0 || b < 0) break; if((a / (b - c) != 1.0)) break; } printf("a=%.8e b=%.8e\n", a, b); if(b < 1.175494e-38) printf("b is not min value\n"); }
- 854 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 22:24:44.10 ID:S2kctYlU0.net]
- >>829
精神科医のタイポの指摘しかできなくて悔しいね w
- 855 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 22:40:20.13 ID:P+edJh4ea.net]
- 定数のマクロあったりしないのか
- 856 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 23:01:49.92 ID:YP/adz7t0.net]
- >>831
あ、おまえ間違えたの? アホとヴァカしかやらない間違いだなw
- 857 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 00:28:49.01 ID:4J0CKskh0.net]
- 基本情報c言語で受かってた
すごいっしょ
- 858 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 01:24:24.92 ID:qPiOMOlUM.net]
- >>830
なんかいろいろ勘違いしてないか >1.175494e-38を抜けるとバカな数字が出てくると仮定して この仮定がはずれてるから無限ループしてんじゃん
- 859 名前:デフォルトの名無しさん [2018/10/22(月) 01:30:41.57 ID:eGJ65JSF0.net]
- >>835
int型だとオーバーフローすると馬鹿な数字がでてくるからそう仮定したんだが違うのか 率直に聞くんだけど、この場合どうすればいいの?
- 860 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 01:41:56.82 ID:ao50gEDc0.net]
- >>836
バカな数字とかいい加減な理解をしないで、ちゃんとした仕様を調べてみなよ。例えばwikipedia辺り
- 861 名前:ナ算術オーバーフローの項目見て全部読んで、分からない語とか関連する語もちゃんと調べるとか。 []
- [ここ壊れてます]
- 862 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 02:29:56.23 ID:gc2RKbtu0.net]
- >>835
>>837 無限ループはしないけどどんどん値は減っていく。 理由わかるの?828じゃないけど俺も知りたい。
- 863 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 02:49:07.02 ID:qPiOMOlUM.net]
- >>836
int? int使ってる?
- 864 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 04:47:45.21 ID:o0mVKFY/0.net]
- >>833
>>831
- 865 名前:sage [2018/10/22(月) 04:59:16.08 ID:eGJ65JSF0.net]
- >>839
int型で似たようなこと(最大の正の数値を求める)やろうとしたら、バカみたいな数字が出たってだけだよ
- 866 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 06:47:45.13 ID:MQnoZdqg0.net]
- >>840
アホw ヴァカwww
- 867 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2018/10/22(月) 07:09:00.78 ID:PnrNZBigM.net]
- >>842
>>775
- 868 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2018/10/22(月) 07:36:45.42 ID:3zPWDIkK0.net]
- >>830
非正規化数(denormal)でぐぐれ
- 869 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2018/10/22(月) 09:03:08.22 ID:MQnoZdqg0.net]
- >>843
アホとヴァカを認めやがったw
- 870 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2018/10/22(月) 10:25:10.75 ID:OFRfv3K50.net]
- KYB
- 871 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 12:24:07.96 ID:PnrNZBigM.net]
- >>845
意味のわからん解釈で勝ち誇るとか低能の定番乙 w
- 872 名前:デフォルトの名無しさん [2018/10/22(月) 12:59:00.86 ID:8WYgXfgna.net]
- そろそろコードで語れや
- 873 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 13:28:16.05 ID:MQnoZdqg0.net]
- >>847
意味わからんのか よほど高力価のトランキライザーを打たれているようだな もう末期でオピオイドとかか? お大事に
- 874 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 15:05:43.37 ID:K/0BTgUUH.net]
- >>830ですが、参考書やらをみてアンダーフロー・正規化についてしっかり理解したところ、解決しました。
要は、float型のビット表現の仮数部が 0.(仮数部) ではなく 1.(仮数部) で表現されてるから、 その意味では 0|00000001|00000000000000000000000 が最小の正数になるけど、仮数部を 0.(仮数部) と表現しても計算できないことはないから、 0|00000000|10000000000000000000000 もちゃんと表示される、ということだけど、 これ以降ずっと計算していくといずれ 0|00000000|00000000000000000000000 となるから、150回目くらいでアンダーフローが起こる、ということらしい。 >>837と>>844ありがとうございました。
- 875 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 19:09:18.14 ID:LClj1fo2M.net]
- >>849
>>847 アホとヴァカとしか言えなくて悔しいね w
- 876 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 21:38:29.05 ID:MQnoZdqg0.net]
- >>851
そうか、847にアホとヴァカって書いてあるのか 実際には、そう言ってるのはおまえだけなんだが 確かに悔しそうに勝ち誇っているシュールな姿だねw
- 877 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 23:25:34.63 ID:o0mVKFY/0.net]
- >>852
> そうか、847にアホとヴァカって書いてあるのか > 実際には、そう言ってるのはおまえだけなんだが ヴァカで検索 >>833 > あ、おまえ間違えたの? アホとヴァカしかやらない間違いだなw >>842 > アホw ヴァカwww >>845 > アホとヴァカを認めやがったw 849-850 は指摘なので省略 > 自分にお前だけとかかなりシュールな姿だねw
- 878 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 02:12:44.79 ID:hcGdXqLuM.net]
- 飽きないねぇ・・・
- 879 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 03:28:29.69 ID:MMiE9qLz0.net]
- >>850
色々違う
- 880 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 12:00:30.24 ID:cKF5Z2eR0.net]
- C言語でLinuxのdmesgやffmpegのログのような着色された分かり易いログ出力ができるライブラリってありますか?
[YYYY-MM-DD hh:mm:ss.ss] INFO: creating some file... のような形式がいいんですけど、Cだと自作するしかないですかね?
- 881 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 12:27:40.24 ID:SzZ0Y41Da.net]
- >>856
標準ライブラリにはない git漁ればあるはず でもそのぐらいなら自分でチョロっと書けば終わる
- 882 名前:デフォルトの名無しさん mailto:sage [2018/10/
]
- [ここ壊れてます]
- 883 名前:23(火) 12:33:21.57 ID:9ghnGYJ4a.net mailto: 色だけだったら制御コード挟むだけでかなり直接的な操作だから、ライブラリ要らんと思うよ []
- [ここ壊れてます]
- 884 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 21:42:50.09 ID:/OGOSsnj0.net]
- >>853
ヴァカと書いてあるのを血眼で探したのか ご苦労だったな で、誰か「自分にお前だけ(ry」とかテレパシーで話しかけてきたのか なるほど精神科の医者じゃなく患者だな 精神分裂病の陽性症状で幻聴がひどいようだな
- 885 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 21:55:22.05 ID:AzbdbLNL0.net]
- 血眼?
検索機能も知らんのか w
- 886 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 22:50:27.85 ID:PGQOpxAMa.net]
- >>856
サンプル書いてやったぞ #include <stdio.h> #include <time.h> #define D(fmt, ...) \ do { \ struct timespec _ts_; \ struct tm _tm_; \ char _tt_[128] = {0}; \ clock_gettime(CLOCK_REALTIME, &_ts_); \ localtime_r(&_ts_.tv_sec, &_tm_); \ strftime(_tt_, 128, "%H:%M:%S", &_tm_); \ fprintf(stdout, "\033[33m%s.%lu %s:%d %s " fmt "\033[0m\n", \ _tt_, _ts_.tv_nsec, __FILE__, __LINE__, __func__, ##__VA_ARGS__); \ } while (0);
- 887 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 00:50:22.48 ID:pNd6Tk0Ba.net]
- do/whileでくくる意味あんの?
- 888 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 00:54:26.48 ID:PjZwCPb8M.net]
- 末尾のセミコロンがなければ意味あるけど、
セミコロンのせいで無意味になってるね。
- 889 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 01:18:13.51 ID:fzPXyYYOM.net]
- カラーコードをハードコーディングかぁ
やりますねぇ・・・
- 890 名前:854 mailto:sage [2018/10/24(水) 01:42:48.00 ID:+vpF9pgu0.net]
- >>861
ありがとうございます! 一点,おこがましい指摘なのですがfprintfの出力先はstderrのほうがいいのではないかと思います。 ログ出力はコマンドの出力とは別個にするべきなので。
- 891 名前:854 mailto:sage [2018/10/24(水) 01:48:03.42 ID:+vpF9pgu0.net]
- >>864
例えば改行を\x0aで固定するのは良くない方法であり、\nにすべきですが(これだとWindows向けにビルドしてやれば\0x0d\0x0aが出力されるようになる) 着色に関するエスエープシーケンスを固定するのは別に大丈夫だと思います。 ECMA-48/8.3.117などで標準化されてますし。
- 892 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 02:18:53.70 ID:fzPXyYYOM.net]
- >>866
ん、いや、マクロくらい使おうよって話
- 893 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 03:09:04.52 ID:+vpF9pgu0.net]
- >>867
ああ 「\e[33m」という記法それ自体ではなく 「33」という文字列を,例えばYELLOWマクロにする,というような意味だったんですね。 まあ確かにそうかも知れないです。
- 894 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 04:01:46.93 ID:fzPXyYYOM.net]
- >>868
いやいや・・・ それ丸ごとマクロにした方が楽でしょ・・・ https://stackoverflow.com/questions/3219393/stdlib-and-colored-output-in-c
- 895 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 05:49:24.17 ID:X/sBrfkw0.net]
- >>869
説明のための例だからそういう定義が分かりやすいとして、 >>868 こういうのを定義するときは、手段じゃなくて目的で定義する方がいいんじゃないかな。 ソース位置の強調をするために STYLE_LINE、タイムスタンプを強調するために STYLE_TIME、プロセスIDを強調するために STYLE_PID、みたいな。 それらを定義するときに YELLOW とか RED とか使う感じ。 #define STYLE_LINE(FMT) (ANSI_COLOR_YELLOW FMT ANSI_COLOR_RESET) みたいにして、 fprintf(stdout, STYLE_TIME("%s.%lu") " " STYLE_LINE("%s:%d") " " STYLE_MSG(fmt) "¥n", とか。
- 896 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 07:45:53.57 ID:hBENxp+1a.net]
- >>863
;はミスだわ >>865 サンプルなのでお好きに >>870 好みかもしれんが、一行の中で色変えるとか見づらくないか? そのフォーマットではファイル出力したくなくなるし 俺が色使うなら #define D(type, fmt, ...) でタイプ指定して fprintf(stdout, COLOR(type) ... COLOR_END "\n", とかで色変えるぐらいかな
- 897 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 09:48:15.70 ID:X/sBrfkw0.net]
- >>871
例だから派手にしたけど、言いたいのは目的にちなんだ定義名にした方がいいってこと。 ログレベル毎に色を変えるなら、STYLE_ERROR、STYLE_WARN、STYLE_INFO とかさ。
- 898 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 09:56:16.01 ID:WhwEQaTDa.net]
- まあ抽象は正義だからな
- 899 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 19:57:27.64 ID:a4OXlgOjM.net]
- 正論と同じであまり振りかざされても実務では面倒なだけ
>>870とか正直ウザって思うわ
- 900 名前:デフォルトの名無しさん [2018/10/24(水) 20:20:46.99 ID:k2aW8IHEa.net]
- cursesライブラリは使えないなかな?
- 901 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 20:56:00.65 ID:+vpF9pgu0.net]
- ていうかログのフォーマットってCでは標準化されていないのね、SUS含め。
Javaのlog4jやPythonのloggerみたいなものがあれば 一番嬉しいんだけどね
- 902 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 21:31:34.66 ID:0y0LlX3od.net]
- C初心者です、よろしくお願いします
ubuntuのvimでしこしこ書いてgccでコンパイルしています CでIDEを使ってみたいのですがオススメありましたら教えてください 仕事ではJavaでEclipseを使ってるのですがCで使ってみたらいまいちピンと来ませんでした やはり皆さんVisualStadioとかVSCodeあたりでしょうか?
- 903 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 23:14:58.20 ID:GbRp+dd6M.net]
- そうですね
ぜひ使ってみて下さい
- 904 名前:デフォルトの名無しさん [2018/10/25(木) 09:43:50.32 ID:hw/Q19JUa.net]
- >>876
ないけどUNIXで昔からsyslog使われてた。というかそれがあったせいで他のログ出力ライブラリが広まらなかったのかも知れない。
- 905 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 10:55:57.05 ID:OLog262Fa.net]
- ログ出力も奥が深いよな。
大量かつ高速が条件だとなかなか悩む
- 906 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 12:17:11.73 ID:3CeE+Pyi0.net]
- 最近はログをDBに格納している
- 907 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 15:07:02.91 ID:UNvjysmaH.net]
- DBのログは?
- 908 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 15:27:49.50 ID:R/0gSUq30.net]
- syslogは日付がISOに従ってないのがちょっと嫌だな。
[YYYY-MM-DDThh-mm-ss,ssZ] LOGLEVEL: some messages. こんな感じがいい
- 909 名前:デフォルトの名無しさん [2018/10/25(木) 15:40:47.48 ID:hw/Q19JUa.net]
- rsyslogdだと設定できなかったっけ?
- 910 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 17:56:49.79 ID:zmVgc+jlM.net]
- >>880
大量⇒高速に処理が必要だから、その条件は大体セットだろ それにプログラムが異常終了してもログが欠落しないとかの条件がつくと難易度が更に上がる
- 911 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 18:37:09.60 ID:R/0gSUq30.net]
- うーん。素人考えなんだけどfprintf()関数を呼び出したり,その中で__FILE__マクロ変数を展開したりするのって
そんなにコスト掛かる動作じゃないよね。 いくら大量の処理とは言え,ログを出力しただけで影響がでるような厳しい環境ってそうなくない
- 912 名前:?
そしてそもそもそんな環境でログ処理ではないメインの処理って動くの? [] - [ここ壊れてます]
- 913 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 18:46:33.19 ID:s6Ph9fEn0.net]
- >>886
マルチプロセスやマルチスレッドだったりすれば排他も必要だし、fprintf 使っただけだとプロセスの突然死なんかではバッファがフラッシュされず失われ、一番欲しい落ちる寸前の情報が欠けかねない。 小まめにフラッシュしたらそれはそれで性能の問題が出る。 奥が深いと思うよ。
- 914 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 23:51:29.92 ID:GsCjxORea.net]
- >>872
ああ、過剰な例だったか >>873 あの例は抽象化ではないけどな まあ例だから深くは言うまい
- 915 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 00:21:48.90 ID:7237jhqNa.net]
- >>886
どの程度の性能を求めてるか次第だと思うよ 時刻取得でも clock_gettime と gettimeofday でうるさく言う人もいるしね トレースログみたいに高速かつ大容量を考えるなら ログがN件入るバッファを複数持っておいて 情報は基本バイナリで登録、ローテート時にファイル書き出し、 別途パーサーを作る、とかかな まあそこまでする必要のあるソフトなんて稀だろうけど
- 916 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 09:13:38.45 ID:hAbqlzFH0.net]
- ポインタをややこしくしてるのは
int* a; の a がポインタ変数で a[10] という配列がある時、a と書くだけで配列の先頭アドレスの別の書き方として許されてるがいけないんじゃないのかな?って思ったんだけど合ってる? 配列の先頭アドレスは常に&a[0]って書くようにするようにすればポインタのごちゃごちゃって解消されない?
- 917 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 09:51:00.93 ID:2eu7c7Ria.net]
- Cだったら配列なんてものがあると思わん方がいいかもね
入門書的にはポインタより配列の紹介が先に書いてあったりするが、確かに問題はある。
- 918 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:26:55.40 ID:8auh1e/NM.net]
- >>890
あと、p[i] も禁止して、*(p+i) を強制しないとだめ。
- 919 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:54:29.59 ID:cduwye+60.net]
- >>890
そのへんはシンタックスシュガーというよりは たまたま結果的に同じものを指している 程度だし 原理原則を省かず丁寧に覚えていくしかないのでは
- 920 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 11:21:53.96 ID:E0U+wNaz0.net]
- 違う
違うナァ 機械語→BASICのころには 「変数って何だ?!!」として変数なる概念をなかなか理解できなかったやつがいた…… と言う話を聞いてる 今の初心者の一部もなじめないヤツが一定数いる 言ってしまえばC言語は「変数指向」のプログラミング言語だ オブジェクト指向や関数型に並び立つような、な 気付いてないが現代プログラミング言語は「変数指向」で出来てる そしてどんな思想であろうとどんだけ説明してもその概念の片鱗すら理解出来ないヤツはいる なので「変数」概念の理解に原理原則なんて存在しない 一発で理解出来るか素直に受け入れるかのどちらかしかない それ以上説明しても意味が無い、という人物は少数だがいる これはしょうがない
- 921 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 12:12:26.16 ID:k/2ANTBE0.net]
- なんかの本に
int *a; と宣言してあったら、式の中で *a と書かれたものが整数であると的確に説明してあった。
- 922 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 13:39:36.53 ID:T+aWo9i70.net]
- >>895
それが分かりやすいかはちょっと微妙じゃね。 int i; ならその領
- 923 名前:謔ヘ確保されてるけど、int *a; と宣言した *a は型としては i と同じだけどそのままで i と同じように使えるわけじゃないし。
ポインタで迷うレベルに通じる話じゃなさそうだし、これが通じるならポインタで迷ってないんじゃね。 [] - [ここ壊れてます]
- 924 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 14:13:47.90 ID:ScQN6FWl0.net]
- じゃんね?
- 925 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 14:14:23.54 ID:ScQN6FWl0.net]
- あ んじゃね か。
馬鹿だった。
- 926 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 15:09:00.24 ID:WWw+Yxena.net]
- >>894
マシン語でもレジスタが変数みたいなもんだろ
- 927 名前:デフォルトの名無しさん [2018/10/26(金) 17:09:00.87 ID:JLzES5S7d.net]
- これを実行するときに、argcに3が入っているとsegmentation faultとなってしまうのですがなぜだかわかりますか?
OSはopensuseでコンパイラはccです #include <stdio.h> #include <string.h> int main(int argc,char *argv[]) { int cmp=0; char *s1=argv[1],*s2=argv[2]; cmp=strcmp(s1,s2); if(argc!=3){ fprintf(stderr,"usage:%s[string1][string2]\n",argv[0]); return -1; } if(cmp<0){ printf("%d : %s\n",strlen(s2),argv[2]); } else{ printf("%d : %s\n",strlen(s1),argv[1]); } return 0; }
- 928 名前:デフォルトの名無しさん [2018/10/26(金) 17:14:58.46 ID:8JGFizbaa.net]
- >>900
argc調べる前にstrcmp()するのは変だろう。
- 929 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 17:17:49.51 ID:BF6Z7BaaK.net]
- 組み込みでsicpて読む価値あんの?
- 930 名前:デフォルトの名無しさん [2018/10/26(金) 17:21:54.90 ID:JLzES5S7d.net]
- >>901
それを直したらsegmentation faultしなくなったんですけど、理由が知りたくて…
- 931 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 18:06:31.80 ID:XW9xoDKGa.net]
- >>903
たとえばargv[2]が空だったらstrcmpの引数は何になるんだという
- 932 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 18:16:18.06 ID:T+aWo9i70.net]
- >>904
argc が 3 なら argv[2] は何か入ってるだろ
- 933 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 18:20:05.25 ID:pYWWPyQzM.net]
- どうでもいいけどargvが3じゃなきゃいけないのにそのusageはどうよ
- 934 名前:デフォルトの名無しさん [2018/10/26(金) 18:25:03.95 ID:HaLyiKNA0.net]
- >>904
なるほどです 理解しました >>906 これではよくないんですか?
- 935 名前:デフォルトの名無しさん [2018/10/26(金) 18:25:43.74 ID:8JGFizbaa.net]
- >>903
引数がなかったり一つだったりした時に先に無条件にstrcmp()をしてしまうと両方または一方が不定値やNULLになるので落ちたり変な動きになったりする。
- 936 名前:デフォルトの名無しさん [2018/10/26(金) 18:28:06.65 ID:HaLyiKNA0.net]
- >>908
詳しい説明ありがとうございます
- 937 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 19:03:31.73 ID:T+aWo9i70.net]
- >>909
え、その問題はもう直してあって、>>900 は直す前のコードで argc が 3 だと落ちたけどなんで?って話なんだよね?
- 938 名前:デフォルトの名無しさん [2018/10/26(金) 19:42:46.18 ID:HaLyiKNA0.net]
- >>910
すみません間違いました 3以外が入ってるときです
- 939 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 20:16:13.66 ID:XW9xoDKGa.net]
- main(void)の場合もメモリ上のどこかにargvが入ってるだろうか?
- 940 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 20:46:48.73 ID:TAH5LWiNM.net]
- >>907
[hoge]はhogeが省略可能って表現 あとスペースちゃんと入れろよ
- 941 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 21:08:53.88 ID:ScQN6FWl0.net]
- みんな知ってるかもしれないが
[--foo]で--fooオプションが省略可能だということはかなり広範な決まりで, POSIXに始まりGNUプロジェクトやPythonのインターフェース規格でも取り入れられてる。
- 942 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 22:48:54.99 ID:dAefMjKVa.net]
- >>912
そりゃいるだろうよ、と思って確認してみた ubuntuだと環境変数の近くにいるね #include <stdio.h> #include <stdlib.h> int main(void) { char *c = getenv("PATH"); while (--c != NULL) if (!strcmp(c, "hoge")) { printf("%s\n", c); while (++c != NULL) if (!strcmp(c, "foo")) { printf("%s\n", c); return 0; } return 0; } return 0; } $ ./a.out
- 943 名前: hoge foo
hoge foo [] - [ここ壊れてます]
- 944 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 22:54:36.13 ID:dAefMjKVa.net]
- >>914
これだな https://ja.wikipedia.org/wiki/Man%E3%83%9A%E3%83%BC%E3%82%B8 https://qiita.com/aosho235/items/0f2b73d08eb645c05208 俺が生まれる20年以上前からあるとか感慨深い
- 945 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 23:22:14.01 ID:ScQN6FWl0.net]
- >>916
ちょっと違うぞ。 pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html こういうの。
- 946 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 23:22:24.86 ID:gi8K36IH0.net]
- man読む習慣があれば自然と身につくのに
- 947 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 23:50:26.20 ID:vTWFo6xp0.net]
- ナウなヤングはinfo使ってるから…
- 948 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:13:55.83 ID:BbyQQXdF0.net]
- infoの使い方分からないマン
- 949 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:36:12.58 ID:QSCXw9iYa.net]
- ]で次のページに行く
- 950 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:49:36.02 ID:If2PGrjfa.net]
- >>917
POSIXに始まりってのは歴史的な話じゃなくて規約的な話だったか でもここまで規約が決まってたのは知らんかったわ
- 951 名前:デフォルトの名無しさん [2018/10/27(土) 01:29:30.14 ID:x+9raBkh0.net]
- >>913
そういう意味があるんですね ありがとうございます
- 952 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 13:15:19.86 ID:8fc2vBvs0.net]
- >>894
違うぞ。 その世代(ベーマガ世代)で変数が理解出来なかったのは、数学的素養がなかったからだ。 数学で「変数」が導入されるのは「方程式」からで、それ以前の小学校の算数は全部「定数」で出来ているから、 その世代の『小学生』はそこに戸惑っただけ。 機械語/BASICとかは関係ない。 高一で物理を始めると、三角関数が出てきて戸惑うようなもの。 学校によっては高二から始めるらしいが、その場合は戸惑うことはないだろ。 或いはアフィン変換も同じ。 あれも数学で回転行列を習った後なら容易いが、 『小学生プログラマ』にやらせようと思ったら、まず座標を教えて、その後に…と色々必要だろ。 数学的素養がないと、プログラミングは理解出来ないんだよ。 小学校教育に取り入れた馬鹿共は、プログラミングが出来ないから、それが分からないだけ。 ○○が分からない、と言う奴は大概、数学の素養がないか、そもそも全てを『暗記』で済ませてきたタイプだ。 (世の中大概それでどうとでもなるのも事実ではあるが、)それではどうあがいてもプログラミングは上達しない。 頭を切り換えて、全てを『理解』する癖を付けることだね。そしてまず数学を勉強すべきだ。 そうしないとただのコピペ(写経)マンになってしまう。 (はっきり言って昔のベーマガ世代も実際やっていたのは写経でしかないし) 色々理解したら、なるほどCは文法的にも構造的にも美しく出来ているし、 色々無駄がないからこそ、いまだに現役で使われ続けていることが理解出来るようになる。 ただし、分かりやすいわけではないので、俺は初心者はCから始めるべきではないと思うがな。
- 953 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 15:37:40.83 ID:BkFfYRiz0.net]
- >>924
中学の授業では便宜上は今まで変数を習ったことの無い中学なりたてホヤホヤのガキに変数を教えるんだよな? なのになんでそれで新中学一年生は変数を理解出来るんだ? 素養が無いのにも関わらず変数を授業で教えると理解できるんだぞ? 不思議じゃないか?
- 954 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 15:55:34.30 ID:IeSn2Jid0.net]
- ベーマガのゲーム入力して
兄「ここの数字増やすと自機数が
- 955 名前:増えるんだよ」
自分「へぇ」 兄「ここの P=P-1を消すと死んでも自機数減らないんだよ」 自分「へぇ」 当時小学3年ごろ。 これで変数と言うのを理解したわ。 [] - [ここ壊れてます]
- 956 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 15:59:43.62 ID:YzjvNBrca.net]
- どういう順番でも抽象的な理解はできると思うよ。本当に「理解」なのかわからんけど。
でも数学が先じゃないと時間の無駄という気はする。
- 957 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 16:01:45.78 ID:YzjvNBrca.net]
- 線形代数はプログラミングと同時にやってもいいと思うわ。紙の上の操作はちょっとつまらん
- 958 名前:デフォルトの名無しさん [2018/10/27(土) 17:08:17.28 ID:pWQGtgcn6.net]
- 線形代数とプログラミングってなんの関係があるん?
最近、プログラミング始めたからよくわからんのよな
- 959 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:14:52.39 ID:NY1AcmJf0.net]
- >P=P-1
プログラム上と代数学上の記法の違い、最初面食らわなかったか?
- 960 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:36:20.97 ID:DmauAY/3M.net]
- >>925
変数にしろ関数にしろ教え方がアホすぎて全然理解できてなかったわ 単に計算できるだけだった 後にプログラミングやるようになって何で学校の数学ではあんな馬鹿な教え方をされたんだろうかと思ったわ
- 961 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:38:52.04 ID:Ttfv0KRj0.net]
- やねうらおとか小学生の時にはもう大学の数学をやっていたというが・・・冗談なのか本当なのかわからんがとんでもねぇプログラマなのは確かだからな・・・
- 962 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:43:25.28 ID:8fc2vBvs0.net]
- >>925
だからお前は猿のままなんだな、納得した
- 963 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:53:34.74 ID:zu36BJom0.net]
- 代入に=を使ったFORTRANの罪は大きい
- 964 名前:デフォルトの名無しさん [2018/10/27(土) 17:59:56.52 ID:p3Z91K38a.net]
- P=P-1みたいなのが解らない人は関数型言語に行けば良いんじゃ無いかな。
代数学に比較的近い。
- 965 名前:デフォルトの名無しさん [2018/10/27(土) 18:06:00.09 ID:p3Z91K38a.net]
- >>932
プログラミングに必ずしも数学が得意で有る必要は無いとは言われてるけど、数学得意な人がプログラミング出来るようになる事が多い気はする。 どちらも例外はあるけれども。 少なくともプログラミング関係の専門書って大学数学前提が多い。 前提じゃ無いのはわざわざ高校数学で出来るとか書いてるし。
- 966 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 18:16:50.52 ID:C9jhaecu0.net]
- 推論型言語でP=P-1
- 967 名前:デフォルトの名無しさん [2018/10/27(土) 18:24:00.38 ID:HWNtkJs26.net]
- 1〜12月を入力し、入力した月の日数を表示する。
これを論理演算子で表示しろという。 else if( month == 3) { printf("3月は31日です\n")} というのを作ったが不可。 論理演算子を使っていないからという。 論理演算子をどう使えばいいんですか。
- 968 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 18:28:29.79 ID:zu36BJom0.net]
- >>938
month == 3 && printf("3月は31日です\n"); とか?w
- 969 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 18:31:23.89 ID:zu36BJom0.net]
- ; も || に置換可。
- 970 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 18:38:10.74 ID:8fc2vBvs0.net]
- >>938
> ガックシ 先生に聞けよマジで
- 971 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 19:17:35.26 ID:5acUAORp0.net]
- >>938
m を月としたら d = (15657907 >> (m - 1) * 2) & 3 | 28; とか?
- 972 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 19:24:28.76 ID:8fc2vBvs0.net]
- >>942
それはビット演算子、そして+、あと普通は0x*****で書く
- 973 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 19:29:22.72 ID:5acUAORp0.net]
- >>943
あぁ、そうか。 てことは単純に 30日になるもの 31になるものを || でまとめろって話か。
- 974 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 19:54:11.57 ID:8fc2vBvs0.net]
- >>944
まあ普通はな。 ただそれ以前に、if文11個連ねて書くよりは…のはずだから、 普通は正しく動けばまずはよしで、それより断然いい書き方があるよね、となる。 いずれにしても先生に聞け、でしかないが。
- 975 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 20:31:12.68 ID:FFMC2/bw0.net]
- 第三回バーチャルYouTuber人気投票リベンジ募集中(全287名、2018年10月27日〜)
あなたの好きなVtuberは?(一人十票) https://script.google.com/macros/s/AKfycbzW_Er5wP6kI0ZNcmcZVA4UdlXPiernQqL4xG1dVv146T8LwGKZ/exec ・前回(2018/8/22)は不正投票が行われた為、投票を途中で中止させていただきました。大変申し訳ありませんでした。 ・Googleフォームは標準仕様では不正投票が可能な為、改造して対策を行いました。 ・2018/10/27時点でチャンネル登録数10,000人以上のVtuberを対象としています。 ・一つのチャンネルでVtuberが複数人いる場合は、それぞれ分けています。 ・一人十票です。(全287名の中からお好きなVtuber10名を選んでください。) ・このフォームに投票するにはグーグルアカウントでログインする必要はありません。 ・並び順は前回の得票数の高い順と新人は登録者数の多い順に並んでいます。 ・今回も1,000人の方が投票するまで継続します。 なお投票結果はスプレッドシートにリアルタイムで表示されるようにしました。 また【概要】と【詳細】でシートを分けております。 https://docs.google.com/spreadsheets/d/1qvhqRdbbOFGQ2veqrnQmaAXIA79xTAANKUKa3HEUUC0 ▽過去の投票結果はこちら 第二回バーチャルYouTuber人気投票結果(2018年6月5日〜8月6日、全投票数1,000票)(スプレッドシート) https://docs.google.com/spreadsheets/d/1HqVp41DzLXPSuarWKkqNFZRyL20-nkMF5O5kkeEmqnA 第一回バーチャルYouTuber人気投票結果(2018年5月7日〜5月30日、全投票数1,000票)(スプレッドシート) https://docs.google.com/spreadsheets/d/1uaKoB3pJQHgC9VEkvg74v9OaSNW3Zvccr91mPN1lt5k tyjty
- 976 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 22:39:08.44 ID:aNTv90Ss0.net]
- >>945
…お前の中ではif文で書いて当然の処理なのか
- 977 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 22:39:25.58 ID:BkFfYRiz0.net]
- >>933
中学生にちょっと教えるだけで変数を理解するのは 大抵の人間には「変数」を理解する資質が生まれながらに備わってるからさ 要するに生得論だよ
- 978 名前:デフォルトの名無しさん [2018/10/27(土) 23:26:48.51 ID:tUxhH/wza.net]
- >>938
2月は何日で出すんだ?
- 979 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:30:49.74 ID:NY1AcmJf0.net]
- 論理演算子なんて要求がなければ、配列作ってテーブル参照にしてしまう
- 980 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:55:00.74 ID:8fc2vBvs0.net]
- >>947
普通は948の通りだろ。 そこを論理演算子なのだから、論理演算子の練習だろ。 超初心者だってことだよ。
- 981 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:56:21.90 ID:8fc2vBvs0.net]
- >>948
それだとお前が今現在も猿と同程度なのと矛盾するだろ
- 982 名前:デフォルトの名無しさん [2018/10/28(日) 00:11:48.31 ID:D9Gt7gmT0.net]
- >>938
m を月の数として printf("%d月は%d日です。\n", m, m == 2 ? 28 : (30 + ((m & 1) ^ (m >= 8 ? 1 : 0)))); なんてのはどうかな。年がわからないので2月は28日固定だが。 バグの温床になりそうなので普通はこんな複雑なの書かないが。
- 983 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 00:20:30.07 ID:oSIXYZ/dM.net]
- 書かないのはバグの温床だからじゃなくて
他人に意図が伝わらないオナニーに過ぎないからだぞ
- 984 名前:デフォルトの名無しさん [2018/10/28(日) 00:23:07.12 ID:D9Gt7gmT0.net]
- >>954
あー。まあそういうことでもあるか。
- 985 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 00:55:30.03 ID:0+vzkOx80.net]
- >>953
お前ら初心者にも分かる言い方を思いついた。 ・コードからお題に戻せるコードを書け なんだよ。 初心者は「お題○○を実現するコードは?」ばかりやってるから、「お題→コード」の変換ばかり考えるけど、 実際に重要なのは逆で、「コード→お題」の変換なんだよ。 今回の例で言うと、お題は ・月を与えて日数を得る関数 だが、これが重要なのではなくて、 ・この関数は、月を与えたら日数が得られる とコードからお題に『逆変換』出来ることが重要なのであって。 []- [ここ壊れてます]
- 987 名前:デフォルトの名無しさん [2018/10/28(日) 04:41:04.83 ID:vBzuIBdia.net]
- それで行くとクイックソートとか最早ムリぽ。
コメント使わ無いのかな。。。 他にも命名規則とか、そう言うので推測し易くしてるもんでしょ。 理想だけじゃ何も書けなくなる。
- 988 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 05:50:13.54 ID:Lt7UAQQy0.net]
- 殺人的にくだらん
- 989 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 08:48:10.56 ID:0+vzkOx80.net]
- >>957
コメント自体が既に次善策なんだよ。 可能であれば、コード見たら分かることを目指すべき。 クイックソートが意味不明なコードだとも思わないけど、 あの手の「末端の」関数は適切な名前を付ければそれで問題なくなる。 つまり、sort()なら、「ソートする」と分かり、使う分に支障はないだろ。 数学関数の sin() とかも、実際の中身なんて気にしてないだろ。これと同じ。 問題は、 int d0 = (15657907 >> (m - 1) * 2) & 3 | 28; // 940 int d1 = m == 2 ? 28 : (30 + ((m & 1) ^ (m >= 8 ? 1 : 0))); // 951 では、ぱっと見意味不明だろ。 だから最低限、「関数として切り出して適切な名前を付ける」か、「コメントを付ける」かが必要になる。 これが上記みたいにベタでコメント無しで書かれてたら、殺すぞテメー、になるって話さ。
- 990 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:51:08.52 ID:W0+pPBsw0.net]
- >>959
こういうのどうすんの https://ideone.com/FGqs1S
- 991 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 12:06:15.31 ID:/iW8vuMIa.net]
- ポッカント
- 992 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 12:53:44.56 ID:0+vzkOx80.net]
- >>960
それはいつぞやのコードだろ。 末端の関数だから、適切な名前を付けた関数にすれば問題ない。 俺なら count_1_bits か get_nof_1_bits とかにする。 勿論そのコードがベタでコメント無しで書かれてたらアウトだ。 あと、戻り値は int にしておけ。
- 993 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 12:57:22.68 ID:lZrPQQ03M.net]
- >>962
どんなコメント付けるの?
- 994 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 13:29:34.14 ID:0+vzkOx80.net]
- >>963
// count nof 1 bits
- 995 名前:デフォルトの名無しさん [2018/10/28(日) 13:45:43.40 ID:Bm6vOY0Hd.net]
- >>956
かけるようになるのも大事だけど、それよりもまず読めるようになれってこと?
- 996 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 13:51:17.06 ID:0+vzkOx80.net]
- >>965
1年後に読んでも分かるコードを書け、ということ。
- 997 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:44:33.68 ID:lBJoUXxI0.net]
- 963にそのアドバイスはまだ早い
- 998 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:00:37.51 ID:6j1kxIYb0.net]
- // なぜこのコードが動いているのかわからない
// 以下、あるはずのないコード群でお送りします。 /* 俺のせいじゃない */ //ここに来ることは絶対にない
- 999 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:05:52.81 ID:2a8cvg/h0.net]
- もうちょっと読み物風に書いて行けば最後まで呼んでくれるかも知れない
(つづく)なんて書くと、続編への熱いメッセージをもらえるかも
- 1000 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:39:42.29 ID:D9Gt7gmT0.net]
- 冒険活劇飲料サスケ
つづく
- 1001 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 17:45:31.27 ID:fHxT9uJhM.net]
- 中学生向けみたいなお題に噛み付き過ぎで草
- 1002 名前:デフォルトの名無しさん [2018/10/28(日) 18:05:27.14 ID:vBzuIBdia.net]
- 逆にちょっと高度になるとみんなダンマリ。
最近久しぶりに来たけど、昔のCスレはこんなんじゃなかった。。。
- 1003 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 18:11:47.40 ID:Z7LZHjRuM.net]
- じゃあまた10年後にいらっしゃるのをお待ちしてます
- 1004 名前:デフォルトの名無しさん [2018/10/28(日) 18:50:49.19 ID:vBzuIBdia.net]
- もっと悪くなってるわw
正直、ここの住民がどの程度まで作れるのか分からん。 以前のお題は無視されたから、それ以下だとは思うが。。。 私もたいして書けるわけでもないのに。 (むしろ以前の方が書き込み難かった)
- 1005 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 18:51:32.36 ID:0+vzkOx80.net]
- >>972
ここ数ヶ月、何故か超初心者が沸いてる。
- 1006 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 18:53:04.74 ID:2a8cvg/h0.net]
- 高度なお題をお願いします
- 1007 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 18:57:13.59 ID:2a8cvg/h0.net]
- C言語相談室(上級者専用)
https://mevius.5ch.net/test/read.cgi/tech/1519998483/ C言語上級者スレ https://mevius.5ch.net/test/read.cgi/tech/1519750371/ こういうスレもあるし、そちらを覗いてみたら? 私は見てないので、内容は保証出来ませんが
- 1008 名前:デフォルトの名無しさん [2018/10/28(日) 19:12:09.42 ID:vBzuIBdia.net]
- >>977
そっちもチェックはしてる。(ほとんど更新されないが) こっちでも入門書程度のコードは割と出てたと思うんだが、最近全然出ない。
- 1009 名前:デフォルトの名無しさん [2018/10/28(日) 19:13:01.60 ID:HCT7bRsva.net]
- お題はお題スレで。
プログラミングのお題スレ Part12 https://mevius.5ch.net/test/read.cgi/tech/1538096947/
- 1010 名前:デフォルトの名無しさん [2018/10/28(日) 19:20:12.29 ID:vBzuIBdia.net]
- >>976
高度過ぎもしないが。。。 >>709
- 1011 名前:デフォルトの名無しさん [2018/10/28(日) 19:25:59.68 ID:vBzuIBdia.net]
- >>979
それもチェックしてたわ。 済まんかったね。 うーん。。。 なんて言うのかな。。。 こう言うの作ってて、ここが上手くいかないみたいな質問自体が来ないのかな。 最近だとpythonスレとかが来てる方か。 うん分かった。 もうロムるわ。
- 1012 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 19:44:14.25 ID:lBJoUXxI0.net]
- >>972
高度な話がしたければすればいいだろう みんなダンマリなんて嘘こいてないで てめーがコード1つ示さない低劣野郎なくせに スッパマンみたいな威張り方してんじゃねえよbogus
- 1013 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 19:45:11.99 ID:W0+pPBsw0.net]
- お題なんてなんでもいいじゃん。
>>938 これだっていい。 最短、最速、なんでもいいからコードでアピールしてみたら。
- 1014 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 20:31:14.33 ID:3WxjgzdCM.net]
- とっくに結論出てる事にすら気づいてない知能の奴が高度な話題とか何とか言ってるのかw
- 1015 名前:デフォルトの名無しさん [2018/10/28(日) 22:02:27.19 ID:D9Gt7gmT0.net]
- 次スレ
C言語なら俺に聞け 149 https://mevius.5ch.net/test/read.cgi/tech/1540731704/
- 1016 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:07:01.51 ID:o1iiiQzo0.net]
- >>980
>>709本人か? あれは質問スレでお題なんてそもそもスレ違いであること、お題としても興味をそそられないつまらない内容であること、1日レスが付かなかった程度でその後の痛々しい反応など、スルーされる要素てんこ盛りで当然の結果だろう。
- 1017 名前: mailto:sage [2018/10/28(日) 23:49:52.62 ID:0CAv0Ngu0.net]
- >>986
>1日レスが付かなかった程度でその後の痛々しい反応 こういうのは、何度となくやって、手ひどく罵倒されでもしないと、なかなか身につきませんね スルー力も大事だし、スルーされることに耐える能力も必要です…
- 1018 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:53:10.11 ID:2a8cvg/h0.net]
- やはりそうだよね
どこが問題なのか、よく分からないでいた
- 1019 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 00:28:01.98 ID:OYdZGMPI0.net]
- あとちょっとで終わるから、埋め草
設問が今一分からないんだよね 合計を求める←これは問題の範囲にはないよね 1から順に足していって140まで、 その答えを順に表示しろって事かな?まさかね 合計値を文字列に変換する←何進数か分からない 最後に4桁ってあるから多分10進数でいいんだろうけど 16進数なのかもしれない (4〜7行目は意味が不明なので読み飛ばした) 保存場所の間違いって何? 客からこんな依頼きたら、頭が変になりそうw
- 1020 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 01:57:31.15 ID:X3/iEvqW0.net]
- 除算とその余りで桁を分離できる大発見をしたので、それを解説するためのお題を出しただけでしょ。
情報処理勉強してる学生かな。 プログラム的に役に立つ発見ができて良かったじゃない。 おれも中学生くらいのときにじゃんけんの勝ち負け判定は剰余を使うとシンプルに書ける大発見をして心踊ったもんだ。
- 1021 名前:デフォルトの名無しさん [2018/10/29(月) 21:32:29.11 ID:JGxixszg0.net]
- https://www.google.co.jp/search?q=140*%28140%2B1%29%2F2
なにもせずとも表示できたわ
- 1022 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 13:10:04.84 ID:ahkLvi0o0.net]
- 素晴らしい
是非ソースを公開して
- 1023 名前:デフォルトの名無しさん [2018/10/30(火) 16:13:05.26 ID:m+t0SJNKa.net]
- >>986
本人よ〜。 だから直ぐ下でロムるって書いた。 じゃあの。
- 1024 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 16:54:32.38 ID:LlhJqt4w0.net]
- 高度過ぎもしない(低度過ぎる上に日本語がおかしい)
- 1025 名前:デフォルトの名無しさん [2018/10/30(火) 17:20:26.15 ID:m+t0SJNKa.net]
- >>994
自分でもそう思ってるのにコードが出てこなくて失望した。 スレ違いにしても誰かしら書くと思ったのに。 まあいいよ。 もうこのスレに期待しない。 バイバイ。
- 1026 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:11:10.85 ID:rsMLxnyN0.net]
- 994
- 1027 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:11:42.51 ID:rsMLxnyN0.net]
- 995
- 1028 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:11:56.42 ID:rsMLxnyN0.net]
- 996
- 1029 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:12:26.14 ID:rsMLxnyN0.net]
- 997
- 1030 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:12:34.61 ID:rsMLxnyN0.net]
- 998
- 1031 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:13:05.67 ID:rsMLxnyN0.net]
- 999
- 1032 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:13:16.01 ID:rsMLxnyN0.net]
- 1000
- 1033 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
新しいスレッドを立ててください。 life time: 41日 0時間 16分 26秒
- 1034 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|