X



C言語なら俺に聞け 144

■ このスレッドは過去ログ倉庫に格納されています
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
0338デフォルトの名無しさん (アウアウカー Sa55-f6zg)
垢版 |
2018/01/16(火) 21:22:59.09ID:npxrv4qJa
>>323
ここに居る。
0340デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
垢版 |
2018/01/16(火) 22:08:44.23ID:0ZvsnQMA0
連立微分方程式ってc言語で解けるもんなんか
そうとう頭良くないと難しそうだな
0343デフォルトの名無しさん
垢版 |
2018/01/16(火) 22:51:20.18
ラスカル変換とか自慰定数とかわけわからんよな
0344デフォルトの名無しさん (ワッチョイ 6ad7-bCzB)
垢版 |
2018/01/17(水) 00:23:33.18ID:n4hXUBWy0
アライグマかよ
0345愛知人
垢版 |
2018/01/17(水) 00:55:17.46ID:BsDn1sQu
連立微分方程式を解くのはmatlabでやるんだろ
その結果を使って制御プログラムをCで実装する
0346デフォルトの名無しさん (アウアウカー Sa55-EKU2)
垢版 |
2018/01/17(水) 01:34:39.49ID:mXaMftmXa
まぁ結論から言うとプログラミングが必要な技術者とかいないから安心しとけ
機械系とか電気系はプログラミング理解してるとむしろ馬鹿にされる
無駄な知識付けてるってことだから要領ないってことだし
0347デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
垢版 |
2018/01/17(水) 02:14:48.88ID:TP+o0KtY0
結論から言うと、現代においてプログラミングが出来ない>>346みたいな奴は池沼以下だと気づけ。
だからこそ、小学校からプログラミング授業が必修化される。(個人的にはこれには反対だが)
あと10年もすると、「エ、マジ、キモーイ、プログラミングが出来なくていいのは、小学生までだよね」の世界がマジで来る。
そうなれば>>346は老害オブ老害だ。

だからこんなところを荒らしてるんじゃなくて、マジでプログラミングを勉強した方がいい。
Cである必要はないが。
0348デフォルトの名無しさん (ワッチョイ a58a-8O9q)
垢版 |
2018/01/17(水) 02:42:01.62ID:rMDm0SCW0
制御での微分方程式は解くためのものじゃない
制御対象の挙動を単純化してモデル化するために使うんだよ
言い換えれば、物理現象をプログラムで扱えるようにするために数式に落とし込むための道具だよ
挙動を記述さえできればプログラムで制御することが出来る
0349デフォルトの名無しさん (ワッチョイ a58a-8O9q)
垢版 |
2018/01/17(水) 02:52:45.50ID:rMDm0SCW0
ついでに言うと微分方程式そのものは代数的に解くんじゃないよ
プログラム上で数値計算によって制御対象(モーター回転数など)がリアルタイムに目標値に追従するように制御量(電圧など)を制御するのが
狙いなので解そのものを求める必要はない
0353デフォルトの名無しさん (ワッチョイ ea6e-EKU2)
垢版 |
2018/01/17(水) 10:55:01.85ID:yTTfDOoo0
>>347
なんだこいつ...
プログラミングを学ぶことは否定しないがそれが別の分野で役立つ
つまり専門的な分野+プログラミングが必要な人材っていうのは嘘
適材適所ってあんだろ、飛行機のパイロットが彦井の設計しますか?
飛行機の設計する人が飛行機内の電子回路制御担当しますか?
飛行機内の電子回路制御担当する人がマイコン系のプログラミング担当しますか?

しない、以上
0354デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
垢版 |
2018/01/17(水) 10:58:26.02ID:PqtOC17Fp
プログラマについてだけは専業は限界があるんだよな。
別分野で使うツールを作る仕事だから、その分野の事を知らないとまともなインターフェースを提供出来ないからな。
そう言ういみではプログラマほど他業種との交流を大事にしないとならない職業なんだ。
0357デフォルトの名無しさん (アウアウカー Sa55-f6zg)
垢版 |
2018/01/17(水) 12:36:59.86ID:yjhk8Mz+a
俺も彦井の設計してみたい
0359デフォルトの名無しさん (ドコグロ MM0a-J7fK)
垢版 |
2018/01/17(水) 19:38:25.93ID:2byJTHHUM
>>354
プログラミングって日本語とか英語とかで書いてある要件をC言語とかに翻訳する作業だから要件に対する知識とか要件を知ってる人との交流が重要なのは当たり前
政治家に同行する同時通訳者が政治の知識を持ってないと勤まらないとの似たようなもんだよ
0361デフォルトの名無しさん (ワッチョイ adba-UJUP)
垢版 |
2018/01/17(水) 20:57:44.11ID:bqqIYUkv0
おまえら暢気だなー
ほんっと金銭感覚が絶望的にアウトなやつら

AIが人の要望に応えるまでに
人力でやるべきことは無尽蔵とは言わんまでも
特需はごまんとあるわけで
それを指くわえて見送るのは
アンダードッグな精神構造がそうさせるんだろ

仕事ってそういうもんだぜ?
未来永劫食うに困らないなんて保証はねえんだよ
その時その時の社会情勢を見て自分にできることをやって
おまんまにありつくんだよ
0363デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
垢版 |
2018/01/17(水) 21:48:16.14ID:TP+o0KtY0
>>354
同意

>>353
情報系の適所はITドカタだよ。(PCで完結するソフトウェア)
電気電子(製造業)や自動車(機械)に於いては電気電子/機械の知識が無いと話にならんだろ。
例のブランコは、
https://www.tamingdata.com/wp-content/uploads/2010/07/tree-swing-project-management-large.png
結局のところ、仕様が分からない奴同士で話を進めるからそうなるのであって、
仕様を決められる奴自身がプログラミングすれば解決するんだよ。

今のところプログラミングは文系馬鹿には難しすぎる、ってことでITドカタが担当しており、
仕様のすりあわせをもっと確実に、ってことになっているが、
そもそも発注元がプログラミング出来ればこんなことにはなりようも無いのさ。
(最大の問題は発注元が工数《どれくらい難しいか》を全く見積もれないこと。例:京都市)
だから小学生から全員にプログラミングを教え、これが成功した場合、この話はなくなる。

プログラミングを万人が出来る時代になろうとしているのさ。
だから情報系特化なら、常人の領域ではなく、達人になっていないとただのゴミだ。
「プログラミングが出来る」だけで食える時代ではなくなりつつある。ちゃんと認識しろ。
そしてソフトウェアインフラのほぼ全てをCが担当している現在の状況で、
C抜きで達人になれるはずも無いだろ。
情報系でPythonしか出来ません=おまえ=ゴミ確定だよ。
情報系の学生ならグダグダ言わずにCもやるしかないだろ。アホなのか?
逆に工学系で専門領域がPythonやMatlabで完結しているのならそれだけでいいが。
工学系にとってのプログラミングはあくまでもツールだからね。
0368デフォルトの名無しさん (ワッチョイ c58a-68Hl)
垢版 |
2018/01/18(木) 00:25:48.70ID:zprwsW+f0
荒れてるな
それではネタでも投下してみるか
単純な制御プログラムのサンプルとして物理現象を連立微分方程式としてどの様にプログラムに落とし込むかを示してみる
実際は目標値に対して追従するように入力項を加えるのだけど面倒くさいので省略
制御プログラムのサンプルと言いながら実は中身は単純なシミュレーションだけど大体こんな感じ
>>348,349で微分方程式の解そのものを求める必要はないといった意味は分かると思う

https://ideone.com/Od1fxj
0369デフォルトの名無しさん
垢版 |
2018/01/18(木) 01:43:35.84
>>368
それで、質問は何?
0371デフォルトの名無しさん (ワッチョイ c58a-nVvH)
垢版 |
2018/01/18(木) 07:32:44.38ID:zprwsW+f0
工学系のプログラミングの一面を示しただけだよ
業務系そのものを否定する気はない
スレに粘着してる情報工学の学生の参考にどうぞ
組み込みのC言語プログラムの理解の助けにでもなればいい
0374デフォルトの名無しさん (ワッチョイ 4dd0-Cxnk)
垢版 |
2018/01/18(木) 15:03:42.71ID:uBrEQRuR0
>>372
どうでもいいけど末尾6でガックシって大学内でのWi-Fi経由での書き込みやん
大学内Wi-Fiは監視されてるから2chに書き込まないほうがいいぞマジで
俺の大学は学籍番号登録して大学Wi-Fi繋ぐタイプだったがアプリとか落としまくってたらメールで呼び出しくらったわ
利用禁止だけで済んだけど
0381デフォルトの名無しさん (ワッチョイ 0b81-QoPs)
垢版 |
2018/01/18(木) 16:57:47.29ID:gRlOykmi0
大学当局が何の規制も監視もしていないことは自慢にはならないぞ
外部の違法サイトにも好き放題でアクセス出来てしまうって事は、
学内に不正侵入も招きかねない
学生の個人情報も流出しかねない大学だって言うことだろう
0387デフォルトの名無しさん (ワッチョイ 239b-Q7o0)
垢版 |
2018/01/18(木) 18:35:59.35ID:/FcYukkO0
C言語勉強するにあたり相談です。

@スクールに通って学ぶ(170時間程度)
A3日間の会社主催のセミナー参加
B本、参考書等やネットで独学
Cその他
それぞれ理由とおすすめがあればお願いします!
0393デフォルトの名無しさん (ドコグロ MM13-3fO/)
垢版 |
2018/01/18(木) 19:29:03.24ID:r+5+UL4/M
>>392
会社の命令なら会社主催のセミナー行けよ
C言語の話以外にもその会社独自のやり方の説明もあるだろうし
それとは別に独学でも学びたいと言うならスクールでも本でもいいけど、なんか簡単なゲームでも作って色々ここで聞きまくるって言うのでいいんじゃね?
0395デフォルトの名無しさん (ワッチョイ 559f-x16F)
垢版 |
2018/01/20(土) 11:31:34.12ID:bSTKludV0
Cのマクロでその場じゃないところに展開って出来ないかな?

VC++2008環境でVC++2017(C++11相当)のラムダを使いたいのだが、当然使えない。
そこで以下を参考にしてマクロで乗り切れないかと考えている。
http://koturn.hatenablog.com/entry/2013/08/06/223805
字句の置換は何とかなるとして、問題なのは「関数内関数定義」がない事。
だから手動でいいから関数の外側に展開させたい。具体的に言えば、以下。

void abssort(float* x, unsigned n) {
std::sort(x, x + n, [](float a, float b) {return (std::abs(a) < std::abs(b));});
}

を書き換えるとして、LAMBDAがマクロで、

// ここに出力する方法あるか?
void abssort(float* x, unsigned n) {
std::sort(x, x + n, LAMBDA(ホニャララ) );
}
// 或いはここでもいい

マクロ内で#defineしてプリプロセッサをもう一度くぐらせればいけそうな気がするが、これって無しだよな?
出力場所は手動、名前は手動マングリングで構わない。記述上ラムダを使いたい。
環境を上げるとしたらVS2017なので、そのときに書き換えがほぼ無しで済ませたいから。
delegateで書いてみたものの、やっぱり記述量が無駄に多いので、ラムダにしたい。
0396愛知人
垢版 |
2018/01/20(土) 12:29:33.07ID:+yb3sEoQ
void abssortごと置き換える
C++詳しくないから知らんけど
0397デフォルトの名無しさん (ワッチョイ 559f-x16F)
垢版 |
2018/01/20(土) 13:02:28.85ID:bSTKludV0
関連質問しました。
http://mevius.2ch.net/test/read.cgi/tech/1413180800/138

VSにユーザ定義プリプロセッサを噛ませられればいけるのだけど、
知っている人がいたらよろしく。


>>396
それは無理。
実際はLAMBDAは大量にバラバラに使ってる。
というかそういう使い方しないと大してメリットないし。以下とか。

viod function(){
if (xx) x = LAMBDA( xxxx );
else if (yy) y = yyyy;
else z = LAMBDA( zzzz );
}
0403愛知人
垢版 |
2018/01/21(日) 22:55:40.90ID:TYCBS/Jo
K&R
0405愛知人
垢版 |
2018/01/21(日) 22:59:34.82ID:TYCBS/Jo
Cって何のためにやるの?組み込みしかなくね?そんなの極める必要ある?
C++やろうぜ
0407愛知人
垢版 |
2018/01/21(日) 23:05:45.96ID:TYCBS/Jo
じゃあC++やろうぜ

って言ってるけどな
0408愛知人
垢版 |
2018/01/21(日) 23:06:44.66ID:TYCBS/Jo
>>401
C++やろうぜ
0409デフォルトの名無しさん (アウアウカー Sa21-/TBa)
垢版 |
2018/01/21(日) 23:07:08.18ID:9sfTI4Pla
>>402
単純な数行のソースかいて、コンパイルしてコマンドプロンプトに出力するだけです。


>>403
何ですかそれ?

>>405
将来的にはやるつもりです。
ですがその前にDirectXでスーファミソフトの模擬展開してみたいとも思っとります
0410愛知人
垢版 |
2018/01/21(日) 23:09:24.66ID:TYCBS/Jo
ダイレクトエックス?テン?か知らないけどそれの本は?
0413デフォルトの名無しさん (アウアウカー Sa21-/TBa)
垢版 |
2018/01/21(日) 23:37:23.07ID:WHQpxhYLa
>>412
自作ゲームを作るのが目的で、自分の性分として元祖からやっていきたいと思って、、、、
ファミコンの実機はパソコンx86とDirectXで作ったとかなんとか、、、、

要領が小さい横スクロールアクション(ロックマンの亜種)を作ってみたいのです。
0414デフォルトの名無しさん (ワッチョイ 759f-HMlX)
垢版 |
2018/01/21(日) 23:38:09.13ID:I2+B/hhs0
うーん。K&Rを知らないか・・・
0416デフォルトの名無しさん (ワッチョイ c58a-68Hl)
垢版 |
2018/01/21(日) 23:51:41.82ID:KmWcS8tF0
>>413
>ファミコンの実機はパソコンx86とDirectXで作ったとかなんとか、、、、

何処からそんなデマを聞いたんだ?
ファミコン実機の中身はx86どころか8bitCPU(6502ベースのカスタム品)だということ知ってる?
0420デフォルトの名無しさん (ワッチョイ c58a-68Hl)
垢版 |
2018/01/22(月) 00:23:02.56ID:FvAm1M5e0
>>419
DirectXはその前身のGame SDKでさえWin95(1995年)と同時期にリリースされてる
スーパーファミコンの登場はそれより前のWin3.1(1992年)すら登場していない時期
まだMS-DOSの全盛期だよ、タイミング的に有り得ない
0422デフォルトの名無しさん (アウアウエー Sa93-JCrA)
垢版 |
2018/01/22(月) 06:53:09.36ID:1d4s07YIa
木屋さん元気かな
0423デフォルトの名無しさん (アウアウウー Sad9-vZoh)
垢版 |
2018/01/23(火) 09:06:26.50ID:oQb/6sLaa
>>152
遅くなったが、なかなか難しいがその難しさ含めアイデア次第でとても面白いな!

ツイやらインスタみたいのがもてはやされとるけどやっぱこういう反リアルタイムで半匿名性保持したものって必要なんだと思うし、2hは仰るとおりこのまま行くと5年後10年後にはホントの過疎化で存続危ういし、今からテコ入れして人の誘導図るのは大賛成!


よし、俺もC本気出してやるかw
0427デフォルトの名無しさん (ワッチョイ 8b2b-pQa0)
垢版 |
2018/01/23(火) 22:14:31.29ID:ksGxN6tV0
https://ideone.com/Jhbm7n
グラムシュミット計算して結果をそのまま出力するって課題が出て、一応出来はしたんだけど出力で変になったんだ
リンク先に書いてる奴が正しい出力で、最後のコメントみたいにすると違う結果が出てくる
具体的に言えばcmdで
「 f3 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000」ってやると
「 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000」が出力される(リンク先はコレ)はずなんだが
コメント通りにすると
「1.000 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000」になっちゃう
環境はVSCodeでコンパイラはVS2017のcl
0430デフォルトの名無しさん (ワッチョイ 8b2b-pQa0)
垢版 |
2018/01/24(水) 08:13:51.80ID:DWaVEiCq0
>>428
なるほど、ありがとう
カンマ演算子ってのを初めて知ったよ

>>429
41行目
0431デフォルトの名無しさん
垢版 |
2018/01/24(水) 08:36:54.65
>>427
見た感じ、エンディアン問題っぽい
0433デフォルトの名無しさん (ワッチョイ 3d8a-68Hl)
垢版 |
2018/01/24(水) 09:51:46.57ID:aKjSawsU0
結局、質問者は問題点が何処にあるか理解できたのかな?
カンマ演算子の評価結果は、最後の式の評価結果だからね
余計なお世話かも知れないけど、どうしても結果を戻り値で返したい場合は構造体に纏めれば出来るよ
というか、ベクトル自体を配列ではなくて構造体に纏めた方がプログラムの見通しがすっきりすると思う
■ このスレッドは過去ログ倉庫に格納されています

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