X



C言語なら俺に聞け 144
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん (ワッチョイ 838a-3nWA)
垢版 |
2017/12/23(土) 19:33:43.89ID:dghfoRy20
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/


http://mevius.5ch.net/test/read.cgi/tech/1509107288/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0894デフォルトの名無しさん (ワッチョイ ddc3-saCW)
垢版 |
2018/02/12(月) 10:57:03.46ID:sATukCOa0
>>891
そんな意味なんて人それぞれやん…
バカじゃねえの
0904デフォルトの名無しさん (ワッチョイ ed23-3MxQ)
垢版 |
2018/02/12(月) 14:53:57.93ID:5RLElXD90
マジでわからんのか?
小学生?
0909デフォルトの名無しさん (ワッチョイ 319f-jA6l)
垢版 |
2018/02/12(月) 17:13:21.80ID:gfcybQxo0
>>892
問題の意味がわからない。
0911デフォルトの名無しさん (ワッチョイ 2eea-Db5I)
垢版 |
2018/02/12(月) 17:23:25.54ID:uipfUTPJ0
複数の条件 (xi,yi,ci) ci =白か黒 と 市松模様の大きさ K

KxK の市松模様を任意の位相でプロットし(=(周期2Kの中で)位相を適当に振ったとき)
与えられた条件をできる限り満たしたい。 変数は位相
解で要求されているのは満たした条件数
0915デフォルトの名無しさん
垢版 |
2018/02/12(月) 17:52:57.98
どうやるの?
パターンを全種類生成してから条件に合わないものを弾いていくの?
数学苦手だから分からない><
0917デフォルトの名無しさん (ワッチョイ 319f-jA6l)
垢版 |
2018/02/12(月) 17:55:21.96ID:gfcybQxo0
あー。なんとなくわかってきたぞ。白か黒かに塗りたいのはその指定された座標の1マスだけということか。
その希望を実現するためのマス目を求めるってこと?
でもその出力例ってなんなの?数字一つしか出力されてないけど。なんの値が出力されてるの?マス目の一辺の長さ?
0921デフォルトの名無しさん
垢版 |
2018/02/12(月) 18:25:06.20
N=100000、K=1000の場合、考え得る模様のパターン数は幾つになるのかな?
全部計算するのに何分かかる?
生成パターンを保存するためのメモリ容量は何MB必要?
0925デフォルトの名無しさん (ワッチョイ 4193-jcwv)
垢版 |
2018/02/12(月) 19:25:10.56ID:EAmFNd0B0
確かにパズルの解き方の部分と、Cによる実現は別々に考えた方が良さそう。

それにしても問題文が酷いね。
たぶん元は外国語で、サイエンティフィック・アメリカン誌の
読者への問題コーナーみたいなノリの文章だったんだろうけど、
日本人向けにはまるまる再構成すべきだわ。
0929デフォルトの名無しさん (ワッチョイ 22f9-YiuZ)
垢版 |
2018/02/14(水) 07:54:39.17ID:TsEGZMPg0
>>927
そのサイトは知らないけど、解説読んだり課題解くだけじゃ大して進歩しないから、とにかく自分でコード書いて悩んで調べて考えて乗り越えるのを繰り返してみたら。やってるうちに自分が理解していないのはどこか、自分がやりたいことに必要な物が何か分かると思う。
あと、こういうことやりたいのにこんなめんどくさい方法しかないの?って思うようなことは既に上手いやり方が確立してたりするから、そういうのも一度自分で経験してから身につけると理解が深まると思うよ。
0930デフォルトの名無しさん (ワッチョイ c212-VKlD)
垢版 |
2018/02/14(水) 10:40:30.59ID:waZcmI6l0
>>927

              「C実践プログラミング」 でCの文法、make、gdbなど、基礎を習得

                                ↓

     「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する

                                ↓

「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得

                                ↓

      「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ

                                ↓

           「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター

                                ↓

        「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する

                                ↓

                              神の誕生
0935デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
垢版 |
2018/02/14(水) 12:09:50.36ID:1w/9kxzBa
>>933
その場合は呼んでくれる人が居なくても最初から神に確定してるのでどうでもよい。

まあしかし夢の中では夢の世界を作ったのは自分なのに、その夢の中の登場人物は特に崇めてくれないのと同様に、本物の神は普通は崇められていない。
0939デフォルトの名無しさん (ガックシ 0626-aTUk)
垢版 |
2018/02/14(水) 13:24:38.15ID:SGvlTtFD6
質問。
1/3を3回、6回、9回足し合わせる計算を単精度と倍精度でそれぞれ行うプログラムを作ったんだけど、
6回足したときの結果が単と倍で逆転しているような気がする
これってプログラムがおかしい?それともこうなるようになってる?
プログラム
https://imgur.com/ncjlu.jpg
実行結果
https://imgur.com/QpRfO.jpg
0941デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
垢版 |
2018/02/14(水) 13:43:36.53ID:QwasDp2Da
>>940
10進数に直した時に小数点以下20桁ないからそうなるだけでは?
どちらも本当はだめなんだけどビット数の都合でうまいこと10進で丸まる事があるだけだと思うが。
0942デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
垢版 |
2018/02/14(水) 13:46:59.31ID:QwasDp2Da
>>940
これと同じなら10進数では小数点以下は15桁だ。
http://www.cc.kyoto-su.ac.jp/~yamada/programming/float.html
0944デフォルトの名無しさん (ワッチョイ 2e80-2I1n)
垢版 |
2018/02/14(水) 16:52:06.55ID:gwupYb1h0
分数なら、Ruby の、Rational とか

浮動小数点は、常に誤差があるから、
正確な値は表せないから、== で比較もできない

また、式の順番を入れ替えたり、コンパイル時・実行時で、
同じ式でも値が異なるとか、とにかく実装依存
0945デフォルトの名無しさん (ワッチョイ 715b-jA6l)
垢版 |
2018/02/14(水) 17:21:41.09ID:nmVabXov0
C使いにオヌヌメするならC++だろ
分数クラスはないが、標準にgcd関数があるから
小学校の算数ができる人ならすぐ自作できるし、
ratioなら翻訳時評価までできる
0948デフォルトの名無しさん (アウアウエー Sa4a-3MxQ)
垢版 |
2018/02/14(水) 17:55:57.41ID:rMSOrK/Ha
OSとかCPUによって違う
0951デフォルトの名無しさん (ワッチョイ 4193-jcwv)
垢版 |
2018/02/14(水) 20:13:10.91ID:fTssTv6G0
malloc() の原理というか基礎的な実装方法は
『プログラミング言語C』で1章割いてた記憶がある。
まるまる1章じゃなかったかも知れんけど。

あとは「標準ライブラリのmalloc()は遅くて使い物にならん」と言って
でかいメモリブロックをひとつだけシステムから借り受けた後、
小分け部分は自前で管理する実装がネットのあちこちで紹介されてる。
TLSF とかいうアルゴリズム。
0953デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
垢版 |
2018/02/14(水) 20:46:48.95ID:vhVaHeOTa
>>947
その辺は glibc とかがソース公開してるんじゃないかな。

でもそんなに難しくないよ。
ある程度わかってくると自作もできる筈。
既にあるので作る意味ないけどな。
0955デフォルトの名無しさん (ワッチョイ 99b3-7Au1)
垢版 |
2018/02/14(水) 22:35:16.23ID:JQ2Po4sY0
若者はinetdのソースを是非読んで欲しい。
貧乏くさくて涙ちょちょぎれるぞ。
0957デフォルトの名無しさん (ワッチョイ bf10-NEPM)
垢版 |
2018/02/17(土) 20:16:03.04ID:SegumL7e0
最近組み込みやデバイスドライバでもC++使われるのが増えてきたけど、Cの未来ってあるのかな?
0958デフォルトの名無しさん (ワッチョイ 579f-T3WU)
垢版 |
2018/02/17(土) 20:42:14.56ID:EWYfJ6l00
縮小傾向はあるのでは?しかし、UNIX系OSが根強いから中々なくならんだろうけどね。
特に Linux が組み込み関係や Android で物凄く広まってほぼ定着してしまったからな。
0960デフォルトの名無しさん
垢版 |
2018/02/17(土) 23:27:11.62
C以外見たことない
0961デフォルトの名無しさん (ワッチョイ 178a-GcT2)
垢版 |
2018/02/17(土) 23:43:15.75ID:NJ9Pxjnh0
例えば組み込みLinuxとして有名なRaspbianではPython、またAndroidではJavaが主流
直接カーネルでも弄るような特殊な事例を除けば、C言語でのアプリ開発なんか殆ど誰も行なわないだろ
0962デフォルトの名無しさん (ワッチョイ 9f60-qi38)
垢版 |
2018/02/17(土) 23:43:40.47ID:I0BNlfaX0
C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。

つまりこういうことだ: C を選ぶのは、唯一のまともな選択だ。
ぼくは C よりも C++ をプロジェクトに使いたがるようなプログラマーは、みな
*本当に* ムカつかせておきたいようなプログラマーだという結論に達した。

C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:

- うまく動かないときにもたらされる際限のない苦痛

- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。

言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。
0965デフォルトの名無しさん (ワッチョイ 178a-h07R)
垢版 |
2018/02/18(日) 07:51:17.74ID:fDbSCHET0
>>963
そういった分野ではOS自体が必要無いしな
ファイルシステムやコンソール入出力が存在しない場合も多い
メモリと入出力ポートさえ直接制御出来さえすればいい
アセンブラに比べればC言語の方が主流ではある
0966デフォルトの名無しさん (ワッチョイ d793-MfWd)
垢版 |
2018/02/18(日) 07:55:15.82ID:G+NN3epc0
「組み込み」て言葉を、プアなハードウェア環境をギリギリ限界まで使う、と
寸法は小さくても目的には十分以上の能力を持ったコンピュータ、と
両様の意味で使ってて議論がちぐはぐになってるように感じる。
0970デフォルトの名無しさん (ワッチョイ 579f-+35F)
垢版 |
2018/02/18(日) 13:34:14.26ID:oDDrqbus0
>>959
OSそのものがCで書かれている。
0971デフォルトの名無しさん (ワッチョイ 579f-+35F)
垢版 |
2018/02/18(日) 13:35:54.27ID:oDDrqbus0
>>961
ああ。アプリ開発ではCはほとんど使われてないだろうな。
0973デフォルトの名無しさん (ワッチョイ 579f-+35F)
垢版 |
2018/02/18(日) 13:46:35.49ID:oDDrqbus0
>>962
Linusと書いてなくても、元の英語のままでなくても内容からしてLinusが書いたとわかってしまうなw
0975デフォルトの名無しさん (ワッチョイ 579f-+35F)
垢版 |
2018/02/18(日) 14:03:17.66ID:oDDrqbus0
>>972
それはOSとは関係ないがLinuxの場合組み込み用のボードでよく使われている関係上使われる率は今のところ高いんじゃないかな。
Cだと最終的に作られる実行形式のバイナリが小さいというのもあるしね。
0977デフォルトの名無しさん (ワッチョイ 579f-+35F)
垢版 |
2018/02/18(日) 14:17:13.11ID:oDDrqbus0
まあしかしソースが公開されていて誰でも開発に参加できるOSがCで書かれているとなるとそのOSが使われ続ける限り最低でもそこでCが使われ続けるということだからCは消えないだろう。

俺の予想では別の言語をベースにして作った互換性のあるOSが爆発的に流行してLinuxやUNIX系OSを誰も使わなくなった時にCが完全に廃れると思う。なので100年以上先なのではないかな。
(途中time()の都合で改造が入るだろうが、それが元でOSごと全部廃れることはないと思う)。
0980デフォルトの名無しさん (アウウィフ FF9b-OKH7)
垢版 |
2018/02/18(日) 17:49:25.56ID:AoWf7ouiF
標準じゃないだけで
載せたければいくらでも載せられる
0992デフォルトの名無しさん (ワッチョイ ff3f-T3WU)
垢版 |
2018/02/19(月) 16:02:25.62ID:wBFQMwB50
ASICはApprication Specific ICというだけで、フルカスタムという場合もある
ただし、それだけが理由ではない
仮に自分とこがフルカスタムでも、それはIntelと同じ土俵に立ったに過ぎない
開発費を同等以上にかけられるとは限らないがね
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況