[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/25 02:13 / Filesize : 275 KB / Number-of Response : 1034
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け 151



1 名前:デフォルトの名無しさん [2019/04/02(火) 11:23:37.62 ID:SQXqRaAc0.net]
!extend:checked:vvvvv:1000:512
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/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

702 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 01:24:13.78 ID:zv+FEFKTa.net]
>>681
またおまえか

703 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 08:36:08.16 ID:o+/j3IaP0.net]
>>670
は? 俺は主張なんざしてねえぜ
事実をありのまま指摘しただけだ
何勘違いしてやがる
というか勘違いということにせねば立場がねえってかw

704 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 08:56:22.54 ID:7tI1cTYc0.net]
もうこんなとこで喧嘩しても勝敗つかないんだからやめろw
仲良くできねえのかお前らは

705 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 12:29:05.12 ID:lzKtO2WM0.net]
でも冷静になって考えてみろ
単細胞時代から何億年と喧嘩してきた結果今の人間がいる訳だから喧嘩をやめてしまったらそれは果たして生物と言えるのか
逆に言えばAIが人知を超える時
人間は機械に滅ぼされ地球から人間はいなくなっているという事
つまり今何をすべきかと言うと人間は思考をやめアホになるべきである

706 名前:
そうアホの坂田こそ未来の救世主ネオなのである
[]
[ここ壊れてます]

707 名前: mailto:sage [2019/05/26(日) 15:17:23.15 ID:CpBTYp0n0.net]
>>681
そのご紹介のリンク先は、内容について、はっきりいって詰めが甘いです
すなわち、継承と委譲を区別できていません
そんな中途半端な理解で quita に掲載するとか、玉か石かどちらかといえば、石の部類でしょう、全然参考になりませんでした
そんな中途半端な内容の記事を掲載するあなたも同様と判断いたします

708 名前: mailto:sage [2019/05/26(日) 15:19:14.79 ID:CpBTYp0n0.net]
>>683
事実かどうかは、主観的か客観的か、に依存すると思いますが、
相対論においてはすべての事象について純客観的などありえない…@
ので、@より、あなたは主観を主張しているものと私は理解します

709 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 15:46:43.76 ID:aNhG7Lwu0.net]
>>686
「継承」に必要な操作一式を委譲に基づいて提供できているなら継承できていると思うんだけど、
言語サポートを伴って暗黙的に機能しない限り「継承」と呼ぶべきではない、ということなの?
そこで明確に区別することにあんまり意義が見出せないんだけど、その定義どっか出典示せる?

710 名前: mailto:sage [2019/05/26(日) 15:52:14.70 ID:CpBTYp0n0.net]
>>688
委譲による実装で継承を実現できているのなら、それは継承(の一形態)である、…@ という主張ですね
@は私にも理解できますが、委譲はダイヤモンド継承を回避できない欠点があるのでは、と考えています
「ダイヤモンド継承」については C++ の書籍には大概載っているかと、具体的な書籍名は探しておきます



711 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:00:20.28 ID:Jdhtsrqd0.net]
まあ継承なんてオブジェクト指向と関係ないからね

712 名前: mailto:sage [2019/05/26(日) 16:02:51.60 ID:CpBTYp0n0.net]
>>690
それは初耳です
Object Oriented に継承は憑き物だと思っていました、継承のない OO って存在するのですか?それは例えばなにですか?

713 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:08:55.02 ID:aNhG7Lwu0.net]
>>689
ちょっと何言ってるかわからないな。
ダイアモンド継承の問題を「継承」で回避しているが委譲では回避できないであろう例を挙げてくれたら考える。

明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。

714 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:22:19.45 ID:Jdhtsrqd0.net]
>>691
なにって、言語を知りたいということ?

715 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:37:44.23 ID:vwTAovQx0.net]
クラスベースのOOP言語ではクラスの継承は一般的だけどプロトタイプベースのOOP言語では継承の概念は存在しないよ

716 名前: mailto:sage [2019/05/26(日) 16:40:12.48 ID:CpBTYp0n0.net]
>>692
クラス A, B, C, D について、
A のメンバ変数を a とする、また
B->A(B は A を派生する)
C->A
D->B, C (多重継承)
において、これを委譲で実装すると、B.A.a と C.A.a が同じであるべきにもかかわらず二重にインスタンスとして生成されてしまうので、
継承で実装した D.a を、委譲で実装した D.B.a と同一視するか、D.C.a と同一視するか、また継承における D.a を更新した場合に委譲では D.B.a と D.C.a の両方を更新するコードを生成しなければならないのか、
等あいまいな部分がでてくる、これがダイヤモンド継承問題です

継承で実装すれば、C++ ではこれを仮想継承といいますが D.a の実態を一つに限定することができますし、D.B.a, D.C.a の両方を保存することもできます、つまりモデリングにおいて選択肢を準備できる
しかし委譲で実装すると D.a の実態を一つに限定することが不可能です、つまり選択肢を準備できません

以上より委譲で継承のすべてを代行できないため、委譲と継承を区別する必要が生じると考えます
ただし、多重継承を認めないのであれば、委譲と継承は同一視しても差し支えないと考えます

717 名前: mailto:sage [2019/05/26(日) 16:41:21.10 ID:CpBTYp0n0.net]
>>693-694
ふーん、インタプリタ JavaScript には継承はないのですか

718 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 16:41:38.74 ID:vwTAovQx0.net]
https://ja.m.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%83%88%E3%82%BF%E3%82%A4%E3%83%97%E3%83%99%E3%83%BC%E3%82%B9

719 名前: mailto:sage [2019/05/26(日) 17:08:49.07 ID:CpBTYp0n0.net]
>>692
>明確に区別しないことも理解できると言うなら「詰めが甘い」とか「中途半端」とか言ってたのは何なのか・・・。
「単一継承に限定するのならば委譲による継承の実装も可能である」という意味での>>689の「理解します」の文言だと解釈ください
ただし委譲で継承をすべて実現できないので、>>681 掲載のリンク先は「詰めが甘い」と判断せざるを得ない、そんなリンク先を紹介する >>681 も同様と判断するものです

720 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 17:11:49.57 ID:iR9VJ5EUa.net]
継承がオブジェクト指向と無関係なんだから、委譲で実現する必要がない



721 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 17:25:25.86 ID:aNhG7Lwu0.net]
>>695
C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
アップキャストがnopで済むか、オフセットの足し算になるかなどの詳細に基づいて区別しろってことに
聞こえるんだけど、やっぱりそんな区別の意義が見えてこない。

722 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 17:39:21.34 ID:kcdU4Ge60.net]
もうそろそろ別スレ立ててやれや

> それは smalltalk 的な OO であって C++ の OO の概念とは多少食い違うと思います
とか言う様な奴を相手にしても永遠に終わらんと思うが…

723 名前: mailto:sage [2019/05/26(日) 17:50:19.72 ID:CpBTYp0n0.net]
>>700
>C++が仮想継承・多重継承でやっていることをコードで書き下せば済む話。
そこで実現されているのは私のいうところの継承であって、私のいうところの委譲ではありません
委譲ではダイヤモンド継承に対応できない(選択肢を提供できない)
したがって、委譲と継承とは区別するべきであり委譲で継承を実装するべきではない、という私の主観には一貫性があると思います

724 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 17:56:41.22 ID:NrZyzakr0.net]
>>702
継承はだめだよ
これから使ったら反省文ね

725 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 18:07:56.35 ID:aNhG7Lwu0.net]
>>702
むちゃくちゃだなぁ。「私のいうところの」「継承」「委譲」の区別がどうにも掴めないし、
その区別の意義も示されなさそうだし、迷惑してる人もいるみたいだから、離脱させてもらうよ。

726 名前: mailto:sage [2019/05/26(日) 18:09:31.06 ID:CpBTYp0n0.net]
>>703
私がいつ「継承は要らない子」とかいいましたか?
あくまでも「継承を委譲で実装できない」とは言っていますが(これは部分的に意見を修正していますが)「継承不要論」とかは一切主張していないと考えていますよ

727 名前: mailto:sage [2019/05/26(日) 18:13:13.41 ID:CpBTYp0n0.net]
>>704
継承と委譲の区別は必要だと思いますよ、その言葉を贈らせていただきましょう

728 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 18:34:08.86 ID:NrZyzakr0.net]
>>705
だから、世界の共通認識として要らないもの。
使っちゃだめ。

729 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 18:57:26.86 ID:mCW+tIqA0.net]
もういい加減やめてくれないかな
やりたいなら、Cでクラス実装とかって
別スレたててその中でやってくれ

730 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 19:03:45.32 ID:NrZyzakr0.net]
>>708
またおまえか



731 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 20:50:42.22 ID:o+/j3IaP0.net]
>>706
私のいうところのって、最初の論旨からずいぶん乖離しているな
カプセル化や継承ができるかどうかって話だっただろうがよ

いつから、おまえのお気に召すかどうかって話になったんだよ

732 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 23:38:41.06 ID:SA/0I36h0.net]
>>686
煽って、良い文献の情報を得ようとしているのだろうが、カスにはやらんよwwww

733 名前:デフォルトの名無しさん [2019/05/27(月) 01:54:45.96 ID:sXav5Bzw0.net]
https://jp.quora.com/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B

734 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 02:52:02.77 ID:jiPRfYyG0.net]
ソロソロ終わって良いですよね?
この議論は、C使っている人とは違う世界に感じる

735 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 03:09:42.07 ID:HzhW79+j0.net]
>>713
またおまえか

736 名前:デフォルトの名無しさん [2019/05/27(月) 09:01:49.81 ID:Nqk3VxBP0.net]
stddef.hをインクルードして
#

737 名前:define __STDC_WANT_LIB_EXT1__ 1
を定義して
-std=c11をつけても
gccでrsize_tが使えないですけど
なぜですか?
windows版のGCCでは使えました
[]
[ここ壊れてます]

738 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 09:23:40.73 ID:or6IbtWZa.net]
defineの順番とか…

739 名前:デフォルトの名無しさん [2019/05/27(月) 09:34:14.79 ID:Nqk3VxBP0.net]
>>716
順番は試しましたが駄目でした

740 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 10:04:44.33 ID:PB+ZSyAza.net]
rsize_tって多分オプションだから実装されてないよね?
windowsはなぜか実装してる



741 名前:デフォルトの名無しさん [2019/05/27(月) 10:11:08.57 ID:Zyn15i1D0.net]
C#でポインタ使えばC、C++は無くても良いんじゃないですか?

742 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 10:15:55.39 ID:gR3ITcWOM.net]
C#使うならポインタのように面倒臭いこと考えなくても変数でも関数でも参照できるだろ

743 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 19:48:50.47 ID:0mZL0xC90.net]
C#のポインタはC/C++ほど使い勝手が良くない
C#でポインタを使ったところでパフォーマンスはC++の半分程度

まあトータルで見れば最優秀クラスの言語なのは間違いないけどね
C++みたいなスパゲティ言語ではないし

744 名前:デフォルトの名無しさん [2019/05/27(月) 20:36:21.78 ID:f4m/nmMua.net]
まあ、だいたいの後から出た言語はC/C++の欠点を補おうとしているのでポインタがあっても安全なのが普通だな。

745 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 20:42:45.71 ID:MaSSH1d10.net]
安全じゃないのがc#のポインタの特長だろ。
特徴じゃなく

746 名前:デフォルトの名無しさん mailto:sage [2019/05/27(月) 21:12:57.55 ID:RgnUDQi4a.net]
そりゃC#のポインタ使うにはunsafeオプションが必要だからね。安全じゃないわね。
C#のポインタは過去資産APIを使うための必要悪って感じか。

747 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 07:12:55.99 ID:gr6HI2ftM.net]
>>722
Cの前からでてたPascalにもポインタはあるんだが…
むしろC/C++が例外的

748 名前:デフォルトの名無しさん [2019/05/28(火) 09:09:59.25 ID:HGTlDNNW0.net]
数年前からこのプロジェクトがちょっと注目されてるけどどう思う?
RustはC++を置き換えてもCを置き換えないだろうと思うし、
ZigはCの置き換えとしては妥当なんじゃないかという気がする。
Cより高速、単純、堅牢らしい。
https://ziglang.org/

749 名前:デフォルトの名無しさん [2019/05/28(火) 09:29:30.01 ID:HGTlDNNW0.net]
Cより速いと主張
>Speaking of performance, Zig is faster than C.

単純な言語仕様
>Small, simple language

性能と堅牢性
>Performance and Safety: Choose Two

個人的にとても興味を持ってるんだが

750 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 17:05:35.46 ID:5GqHhS1Q0.net]
CはC++ほどではないにせよ色々酷いから
Cを置き換えられる言語があるなら見てみたいしぜひ置き換えてほしい



751 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 17:30:53.21 ID:vL2LyOeQ0.net]
>>726
ttps://www.spriters-resource.com/resources/sheets/34/36939.png
ちょっと検索してみたらもうドット絵まで準備されてるらしい
さすがに西洋人は仕事が早いな

752 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 19:02:59.10 ID:Pzgny9jf0.net]
https://www.datadeliver.net/receiver/file_box.do?fb=966f97555e424f19a29d0d866b4b3cf5&rc=683943257e194056afc95195b542ba5d&lang=ja

キューを実装する?プログラムを書いたのだがコアダンプになってしまったため、どこが悪いのか調べるために1回だけenqueueをするように変えたら無限に10を生成するようになってしまった
どこが悪

753 名前:ゥったのか、どうして10が無限に生成されるのか、教えて欲しい

環境は学校の端末演習室でやったから詳しいことはわからんです
[]
[ここ壊れてます]

754 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 19:04:37.65 ID:F6815kaN0.net]
>>730
それじゃあ検証のしようがない
ネットカフェで書いてここに晒せ

755 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 20:11:39.46 ID:vL2LyOeQ0.net]
「無限に10を生成するようになってしまった」「どうして10が無限に生成されるのか」
コレがポイントだな
無限に生成してるように見えるだけだよ

要するにprintが悪い
whileだと分かりづらいんだよ
forだとラク
「q->head = temp;」とか、自分で書いてて分からなかったんだろ
だからwhile文だとこのケースでは分かりにくくなる
forを試gうのが正解

void print(struct queuel *q){
struct cell *pt;

printf("[");
for( pt = q; pt != NULL; pt = pt->next ){
printf(" %d", pt->data);
}
printf(" ]\n");

}

756 名前:デフォルトの名無しさん [2019/05/28(火) 21:09:24.77 ID:Rd7hCJnFa.net]
>>725
Pascalの方が先にできたんだっけ?

まあでも用途が大幅に違うよね。Pascalはコンピュータの学習用の高級言語でCはOS記述用でアセンブラ代わりに使う言語。

757 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 21:27:52.19 ID:jSvCRMUQ0.net]
Pascalが嫌いな人が作った言語だ

758 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 22:21:26.92 ID:/lAZ9dU10.net]
>>733
だからそんなことを言い出したら>>722の言うポインタが安全な言語って用途が違う言語だよね
って話にしかならないんだが…

759 名前:デフォルトの名無しさん [2019/05/28(火) 22:24:51.47 ID:Rd7hCJnFa.net]
>>735
まあそうだな。
Cは用途が違う上に古くて安全性が低い感じか。

760 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 23:20:22.65 ID:jSvCRMUQ0.net]
安全性って何だよ
インテルのerrataみたいなことか?



761 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 23:34:40.02 ID:IamnQRk90.net]
子供にはナイフを使わせるなというのと同じ類いか

762 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 04:57:03.97 ID:mWed49vm0.net]
>>736
いやOSを書くにはその安全性が邪魔になるから両立は難しいよ

763 名前:デフォルトの名無しさん [2019/05/29(水) 06:20:35.18 ID:D5Uzvk1s0.net]
OSのコードはどんな感じなの?
ポインタを使ったトリッキーな事をやってるの?

未だにLinuxでバッファオーバーフローの脆弱性出てるよね

764 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 06:48:57.50 ID:Bfh00rIBM.net]
>>740
OSのソースなんてちょっとググればいくらでも出てくるから自分で見なよ

765 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 07:45:37.52 ID:6C23lth10.net]
見たこともないやつが議論してたのかよ

766 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 08:03:59.01 ID:aFUCBt4U0.net]
詳細linuxとかいう1000ページの宗教書だろ
持ってるだけで御利益がある

767 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 08:13:08.04 ID:akQz27P/d.net]
オープンソースなのだから1分もあればソースコードくらい見られるだろうに

768 名前: mailto:sage [2019/05/29(水) 18:31:01.76 ID:8RGCI4670.net]
>>740
>未だにLinuxでバッファオーバーフローの脆弱性出てるよね
最近は聞かないね…

769 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 19:51:04.91 ID:D+pGsdPRa.net]
今普通に静的・動的解析使うとバッファオーバーフローなんてあり得ない感じするわ。

770 名前:デフォルトの名無しさん mailto:sage [2019/05/29(水) 20:40:15.44 ID:rT4tqcG+0.net]
strcpyとかsprintfとか使ってるコードはまだたくさんあるでしょ
dstのサイズ指定しないライブラリとか



771 名前:デフォルトの名無しさん [2019/05/29(水) 21:00:57.32 ID:FFsAnOexa.net]
Cは標準ライブラリ考え直した方が良いかもね。

772 名前:デフォルトの名無しさん [2019/05/31(金) 08:23:23.52 ID:JBiczG6TM.net]
Cが最も好きだけど、
C十十のほうがライブラリが
便利なのあるから、
個人で趣味で作るものは最近は
CとC++

773 名前:ャ在で作ります。
わりと自由に混在できるので
とても助かってます。
こうゆの俺だけですかね?
[]
[ここ壊れてます]

774 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 08:28:11.59 ID:7PD5X056a.net]
C††

775 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 08:30:02.90 ID:LyENK1r60.net]
C‡‡

776 名前:デフォルトの名無しさん [2019/05/31(金) 09:21:15.46 ID:GTUdpXapa.net]
С++

キリル文字

777 名前:デフォルトの名無しさん [2019/05/31(金) 18:42:40.60 ID:JBiczG6TM.net]
C十十つ
―ー

778 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 18:46:16.16 ID:4felF8bG0.net]
C田田

779 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 19:11:42.88 ID:Ki0lpFF5M.net]
C云々

780 名前:デフォルトの名無しさん [2019/05/31(金) 19:45:27.77 ID:/GnAMAD/a.net]
⊂┼┼



781 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 21:44:53.32 ID:r0b/3vSWd.net]
C言語認定一級を取得したら転職でどれぐらい評価されますか?

782 名前:デフォルトの名無しさん [2019/05/31(金) 21:48:01.31 ID:I0+j7s4/a.net]
さあ?
その会社がどの程度その知識を必要としているかで変わるのでは?

783 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 21:48:52.32 ID:r0b/3vSWd.net]
>>758
そういうときは一般化して正確じゃなくても妥当な範囲で思考して回答する癖をつけましょうね〜

784 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 21:56:26.15 ID:OHagz7+U0.net]
うちの周囲じゃ全く参考にもしていないし資格給が出るわけでもないって所が多いな

785 名前:デフォルトの名無しさん mailto:sage [2019/05/31(金) 22:06:46.05 ID:4X6MeSMk0.net]
英検1級の方が重要そう。

786 名前:デフォルトの名無しさん [2019/06/01(土) 11:44:52.57 ID:2YdNSpFdd.net]
codepad.org/NUCaFYyE
雨が降る様子を自分の今持ってる知識だけで作ろうとしたんですが、表現が上手くできてない気がします

だれか改善案があれば助言お願いします

787 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 18:13:48.99 ID:w9UetZ9K0.net]
>>762
それはC言語の問題ではなかろう

788 名前:デフォルトの名無しさん [2019/06/01(土) 18:56:55.84 ID:2YdNSpFdd.net]
>>763
抜けてました
プログラムの問題として、実行すると縦に雨粒が重なってしまうのが目立っていて、この原因がわからず質問しようと思いました。

789 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 19:26:44.16 ID:w9UetZ9K0.net]
>>764
それは使用する言語とは無関係に、雨らしく見せるアルゴリズムの問題ではないか?
ある処理をC言語で実現したいがどう書いていいか分からないとか、書いたものが想定通りにならないのはなぜかとかなら答えようがあるが。

790 名前:デフォルトの名無しさん [2019/06/01(土) 21:18:58.51 ID:2YdNSpFdd.net]
>>765
1番上の行で雨を発生させるとき何列目で発生させるかは乱数できめているはずなのに、何行か連続で同じ列に発生しているのがよく見られていて、それが何故なのかがわかりません。

このプログラムは改良中のもので、その前のプログラムは雨粒が全部同じ速さのやつを作っていてそれは問題なく(上の現象も起きず)動いていたので、乱数でなくプログラムの問題かなと思って質問しました



791 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 21:37:41.87 ID:njUSTe0T0.net]
>>766
乱数っていうのは偏るものだから、同じ列に連続して発生することが普通。
同じ列に発生しないような作為をする場合は乱数とは言わないと思う。
https://twitter.com/Newton_Science/status/1031788874836529152

あと、'o'が縦に連続するのに違和感があるのなら'|'などに置き換えれば良いと思う。
https://i.imgur.com/wR1mNu5.gif
みたいな感じで
適当に作っててチカチカしちゃってるからあまり参考にならないかもしれない
(deleted an unsolicited ad)

792 名前:デフォルトの名無しさん [2019/06/01(土) 22:01:32.09 ID:2YdNSpFdd.net]
>>767
すごい!!!
一気に雨っぽく見えるようになりましたw

乱数の件大変

793 名前:勉強になりました
もっと改良するとしたら、そのツイートのように不自然に見えるランダムさをなくすため振るいにかけるような工夫もしてみようと思います。

あと、もしよければGIFのやつのソースコードを貼ってもらえないでしょうか。よろしくお願いします
[]
[ここ壊れてます]

794 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:03:49.20 ID:gZsm+Fjra.net]
一様分布でなくても乱数とは言えるだろう

795 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 22:10:20.53 ID:njUSTe0T0.net]
>>768
一応貼るけど自分はC言語あまり得意でない上に適当にササっと作ったのだからあんまり参考にはしないでほしい
https://ideone.com/FG3nNS

system("cls")で画面更新してるけどチカチカさせずに滑らかに動かしたいならpdcursesとか使ったほうが良いと思う
あとLinuxだったらclsでは動かない

796 名前:デフォルトの名無しさん [2019/06/02(日) 08:12:25.21 ID:Df5btDJSd.net]
>>770
ありがとうございます!
初心者なので関数の使い方とか、あと自分がいかに無駄なコードを書いてたかとかがわかってとても参考になります

調べてみようと思います。ありがとうございました

797 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 13:28:56.70 ID:gM/IYiKd0.net]
constが外れるのにキャストせずに
char *p = "abc";
とできることを定めている条文どこだっけ?

798 名前:デフォルトの名無しさん mailto:sage [2019/06/02(日) 14:35:27.10 ID:hvNC8EHQa.net]
初期化はちょっと違うんじゃねえかな

799 名前:デフォルトの名無しさん mailto:sage [2019/06/03(月) 19:44:47.54 ID:JpBlPJqE0.net]
https://i.imgur.com/bxgSD4n.jpg
ちんぷんかんぷんなので教えて下さい

800 名前:デフォルトの名無しさん mailto:sage [2019/06/03(月) 19:47:13.69 ID:aVpNGdHY0.net]
火の玉ストレートでワロタw



801 名前:デフォルトの名無しさん mailto:sage [2019/06/03(月) 19:51:23.16 ID:NMMhu3n80.net]
>>774
糞みたいな問題だな
家木臭すぎ

802 名前:デフォルトの名無しさん mailto:sage [2019/06/03(月) 19:56:34.99 ID:JpBlPJqE0.net]
解決しました






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<275KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef