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


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

C言語なら俺に聞け(入門編)Part 129



1 名前:デフォルトの名無しさん [2015/05/27(水) 06:15:55.14 ID:gRxCv8ae.net]
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 127
peace.2ch.net/test/read.cgi/tech/1424244688/
★過去スレ
ttp://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 168代目
peace.2ch.net/test/read.cgi/tech/1408962564/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
ttp://codepad.org/
ttp://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
【重要】
当たり前の事ですが、2chではコピペ荒らしは禁止されています

189 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 20:05:44.08 ID:tF6rLPWO.net]
>>184
難しいバグは大抵、
1. タイミング系のバグ
2. 組み合わせ系のバグ
のどちらか

タイミング系としてよく引き合いに出される例としては、同一の口座から A/B 二人が同時に預金を引き出したらどうなるかって奴
www.ncad.co.jp/~arai/pro3seminar/java/first_java/3term/unit13/4period.html
まあ、こんなのは初歩の初歩で、実際はこれに加えて機器の故障とか、ネットワークエラーとかが絡んだりして想定外の事態になったりする
タイミング系はなかなか再現しなかったりするのでホントに地獄を見る

組み合わせ系って言うのは、色々なパターンのうち特定の場合だけおかしくなるって奴
こっちは条件さえわかれば再現も容易だし対策も大抵楽
ただ、ガチな奴はパターンの数が半端ないのでテストはひたすら体力勝負だったりする
有名どころではこんな奴とか
www.publickey1.jp/blog/12/_1040_1.html

どっちにしろお仕事にするには結構地味でキツいからよほど好きでないと勧められない

190 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 20:22:27.90 ID:HVniWzEy.net]
>>186
それは排他的ロック機能を実装してればいいだけでは?

191 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 20:31:39.75 ID:beEOQH6x.net]
仕事だと数万行〜数十万行は普通にあるからな

192 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 20:41:39.35 ID:HVniWzEy.net]
javaみたいにsynchronizedでロックすればタイミング問題はでてきようが無いのでは?

193 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 21:04:59.86 ID:tF6rLPWO.net]
>>187
もちろんそうだけど、複数の要因が絡んでくると排他とかタイマーとかを適切に掛けていくのは結構大変
前のレスにもちらっと書いたけどエラー処理とかが鬼門で、排他を解除し忘れたり、逆にリトライするから解除しちゃダメなのに解除しちゃったりとかね

普通の会社のソフト開発って別に難しいことはやってないのよ
規模が小さきゃホントに楽勝
でも、でかくなると地獄ですよ
マジで人間の管理できる範囲を越えてると思うことがよくある

194 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 22:13:38.88 ID:HVniWzEy.net]
>>190
分かりません。

Aが使ってるときはB,C,D.......n
Bが使ってるときはA,C,D.......n

という風に全部の排他条件かけばいいだけじゃないですか?

つまりn^2通りの条件をかけば解除し忘れなんて起きないと思います。

195 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 22:24:42.38 ID:O49G9Oy4.net]
まあ、人間が作るからねー
他人が作った何万行もあるソースのデバッグとか想像できないかな

196 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 22:29:41.58 ID:HVniWzEy.net]
ビルトインで排他制御するような関数ってないんですか?
処理を書かなくてもいいみたいな。ダメなんですか?

197 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 22:35:38.75 ID:HVniWzEy.net]
>>186
色々なパターンの内特定…

例えばポケモンで特定の操作したらセレクトBセレクトBだっけ?
マスターボールが増えるみたいな裏ワザありましたけど

特定の操作でバグが出るって全部調べたら無限なんじゃないですか?
どうしてるんでしょうか?
例えばAボタン2回押して、Cボタン3回押したらそのゲームのプログラムが
全て消えるみたいなバグもあり得るわけじゃないですか?
デバッガはそういった組み合わせも調べるんでしょうか?
無限にあると思いますが…



198 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 22:58:01.13 ID:O49G9Oy4.net]
>>194
試験は想定されるものはするよ
例外はそれなりの処理に落とす
ここに人的要因が入ったりするね

199 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 23:25:46.06 ID:GRyCax2n.net]
>>191
> Aが使ってるときはB,C,D.......n
> Bが使ってるときはA,C,D.......n
複数の資源の排他は同時には掛けられない(掛けられる環境もあるけど)ので、うまく掛けないとデッドロックするよ

>>194
>>186 の下側のリンク読んでないでしょ?
パターンが爆発してる場合のサボり方が書いてある

200 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 01:42:30.79 ID:AEj3cofu.net]
プロセス管理や排他的制御、割り込みがどうとかは
Linuxによる並行プログラミング入門
www.kyoritsu-pub.co.jp/bookdetail/9784320123809
などで体験できる。

そもそもOSレスでそれらをどう実装するのかというのはこの本で体験できる
12ステップで作る 組込みOS自作入門
kozos.jp/books/makeos/

やってみないと何が大変かもいまいちピンとこないしね

201 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 04:31:36.29 ID:tIKZNiHl.net]
>>189
結局メソッド synchronized は意味がないとか‥
ダミーメンバに synchronized をかけてお茶をにごしたりとか‥

202 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 09:26:59.12 ID:pine8kAl.net]
>ID:HVniWzEy
バグを100%無くすことは無理ってのが一般的な認識。

ゲームのデバックは開発者視点で想定されるプレーを確認するほか
専門の会社にお願いして色々試してもらうこともある。
同じソフトを1年以上デバックし続ける人も居たとか。

203 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 12:59:48.95 ID:LYmWlU65.net]
つーか、スレ違いだがね。

204 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 20:10:32.47 ID:YyzkFynf.net]
デバッ「ク」言うなw

205 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 21:30:45.54 ID:LUerVH9f.net]
モニターと手元をビデオ撮影しながら
ひたすらゲームを進行するデバッガー

206 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 21:58:38.16 ID:CyVJ8sZt.net]
じゃ、ディバッグ

207 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 00:16:10.01 ID:/BnSA0cx.net]
>>203
正しくはデバグ。



208 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 07:44:44.01 ID:VfvGCcW6.net]
虫取り

209 名前:マ○コデラックス mailto:sage [2015/06/18(木) 08:14:41.43 ID:/h/hM0No.net]
正しくはテスター

210 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 20:26:49.17 ID:dz4KgSgw.net]
猿楽庁みたいなもんか
サーガで評判落としたあとは順調なんかね

211 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 21:34:17.32 ID:utDPh+CX ]
[ここ壊れてます]

212 名前:.net mailto: C言語って機械語に親和性があって一番高速な言語なのに何故時代遅れなんですか?
例えばjavaだとJVMを挟むため遅くなるんですよね?
何故Webプログラミングはjavaじゃないの?javaのapiが豊富って言うんであれば
cもjavaと同じapi作ればいいだけでは?

長年の疑問です。
[]
[ここ壊れてます]

213 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 21:35:49.01 ID:utDPh+CX.net]
何故WebプログラミングはCじゃないの?
って書こうとしました。

214 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 21:36:16.60 ID:utDPh+CX.net]
ライブラリが無いなら作ればいいだけ
インクルードすればいいだけですよね?
何故それでもjavaの方が強いんですか?

215 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 21:45:05.62 ID:tQGft1o9.net]
別にcで拵えても構いませんが。
今更エスペランで論文書く奴がいないのと同じことでしょうね。

216 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 21:45:57.46 ID:utDPh+CX.net]
>>211
でも何でCがこんなに影になってるんですか?
Cの方が早いからネットだってCですればやはいやずです。

217 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:01:08.44 ID:6P1dVElz.net]
>>212
費用対効果



218 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:28:09.85 ID:utDPh+CX.net]
>>213
どういうこと?

219 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:47:25.39 ID:XV9e/l6B.net]
>>214
最底辺のWebプログラマは単価が安い。
従ってCでプログラム作れる能力が無い連中がやっている。

220 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:54:45.96 ID:gg5jKUmS.net]
Cにライブラリや文法を追加したのがJava
JavaもCみたいなもん

221 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 23:06:56.12 ID:6P1dVElz.net]
>>214
すべてに最速が必要ではないでしょ
必要十分であればよい
であれば開発速度やコストいい方選ぶ、と

222 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 23:20:28.41 ID:IwG5+EZ4.net]
なんか定期的にこういう人来るよね
ひょっとして同一人物の発作かなにかなのか?

223 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 23:31:42.53 ID:utDPh+CX.net]
>>215
Webプログラマ、この時点で優秀な印象ですが。
>>218
すいません
C言語信者なものでして…


もう一つ質問していいですか?
何故ではC言語とjavaは組み合わせられないんでしょうか?

だってC言語はDirectX関数と組み合わせられますよね?
これってC言語コンパイラがDirectX関数をコンパイルできるからですよね?
何故javaはCと一緒にコンパイルできないんですか?

#include<stdio.h>
#include<java.io〜〜〜>ないしは
import java.io〜〜〜

こうすれば呼び出す事可能じゃないんでしょうか?

224 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 23:33:22.33 ID:utDPh+CX.net]
すいませんコンパイルの意味がイマイチわかっておりません。

コンパイルってようは機械語に変換ですよね?

インタプリタ=一行ずつ実行させる、機械語に変更しなくてもいい
       C言語に変換→結局コンパイルすることになる。
コンパイル=機械語に変換

っていう理解でOKですか?

225 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 23:43:30.21 ID:6P1dVElz.net]
>>219
directXが何なのか調べてきなさいよ
Cに限った話でもないのでどっかいってください

226 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 23:53:55.21 ID:utDPh+CX.net]
>>221
directx関数が入ったコードをコンパイルできるのは何故ですか?
Cコンパイラがdirectx関数を機械語に変換してるからじゃないんですか?

227 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:00:19.23 ID:FniMMr/q.net]
directxは3Dグラフィック処理をするライブラリという認識でOKですか?



228 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 08:05:08.92 ID:MeGCLoar.net]
アスペ?

229 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 08:17:41.58 ID:MB4MRZfb.net]
>>218
な。

230 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 08:28:29.63 ID:FniMMr/q.net]
何故cコンパイラはdirectx関数を処理できるんでしょうか?

231 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 09:32:40.60 ID:DBid4MbY.net]
コンパイラっていうかリンカじゃね
直接directxのソースコードコンパイルしてるわけじゃないでしょ

232 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 09:35:16.93 ID:buUHCe5z.net]
COMとか関数のポインタとか 色々ラップしてるが、OS経由ドライバ任せ

233 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 09:45:13.60 ID:zZYO0iBz.net]
動的にリンクしてるだけだろが

234 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 09:55:33.78 ID:DBid4MbY.net]
まあでもdirectxを作った人はたぶんC言語+アセンブラで書いてるんだろうからCコンパイラで処理できるんだろうけど

235 名前:デフォルトの名無しさん [2015/06/20(土) 13:47:35.11 ID:KMXAV3mj.net]
JavaでもJavascriptでもネイティブ生成できるだろ。

236 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 17:26:26.75 ID:sYEsQufD.net]
何言ってんだこの馬鹿

237 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 17:53:33.40 ID:5vFhCPnH.net]
C言語の標準関数でカレントフォルダのファイル一覧を取得する関数ってある?



238 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/06/20(土) 18:01:27.86 ID:RdU0NHX6.net]
>>233
ないね。opendir
FindFirstFile

239 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 19:14:16.27 ID:5vFhCPnH.net]
>234
やっぱり無いのか。
どうもありがとう。

240 名前:デフォルトの名無しさん [2015/06/20(土) 20:09:18.79 ID:cnYcb5r+.net]
>>215
WebはCで作れる必要ないんじゃないですか?
単科が安いのは分かりますが、何故Cで作れないと否定的な見方なんでしょうか?
実はWebもCで作った方が高品質で、優良企業はCでWebプログラミング作ってるんでしょうか?

241 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 20:31:03.35 ID:gzoCELj1.net]
union Val
{
int ival;
float fval;
};

int foo(Val* v);
のようなライブラリがあるのですが、これの実装者は
渡されたものがint floatのどちらで格納されたかわからないのに
どうするつもりなんですかね?

242 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 20:49:49.27 ID:denOUvbB.net]
>>236
誰にでも出来ることは価格競争になって、性能や品質は二の次になってしまう。
そうするとハイスペックな人から離れていく。

C/C++でサーバーサイドやってるでかいところもあるけど、全体から比べればほんの一部。

243 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 21:03:36.49 ID:CvmegYmq.net]
コストだけはひたすらかかるけど
Cならではのメリットがはたらかないんじゃないか

244 名前:デフォルトの名無しさん [2015/06/20(土) 22:00:14.69 ID:St40Zxbh.net]
これってどういうことですか?
プログラム的には間違ってないはずなのですがなぜか実行できません
開発環境は「Microsoft visual studio 2010」を使ってます。
imgur.com/AQ5ZIQA.jpg
--------------------------------------------------------------------------
# include <stdio.h>

int main(void)
{
int suuti;
scanf("%d",suuti);
if (suuti - 10) printf("入力値は 10 ではありません。\n");
return 0;
}

245 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 22:06:28.53 ID:YQlfkZgo.net]
プログラム的に間違っています

246 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 22:10:29.20 ID:IMO/g3og.net]
>>240
亨くん、scanfの引数を確認するんだ

247 名前:デフォルトの名無しさん [2015/06/20(土) 22:13:30.41 ID:zZYO0iBz.net]
なんで値渡ししてるの



248 名前:デフォルトの名無しさん [2015/06/20(土) 22:28:28.37 ID:cnYcb5r+.net]
>>238
あーなるほど
でもWebプログラマなんて誰でもできるとは思えないですけどね

249 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 22:50:23.57 ID:cnYcb5r+.net]
仕事のC言語より個人の趣味でやるCのほうがレベル高いなんてケースってあるんですか?
C言語=組み込みだからどうしてもプライベートでは学べないCの奥深さっていうのを仕事で
学べると思うんですが、実際組み込みプログラミングやってる人が俺のやってる事に比べたら
はるかにレベル低いなって思ったりするんでしょうか?

250 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 23:00:03.94 ID:YQlfkZgo.net]
普通に有る
むしろ趣味で好きでやっている人の方がレベル高い傾向じゃないかな。

仕事で見るソースは、、もう一度入門書読んでみようか、なコードだらけで、
それを、単体テスト、結合テスト、評価による試験でバグを出しまくって
それを修正しまくって、ソースはぐちゃぐちゃだけど何故かw仕様通りに動くものを
作ってリリースするからなww

251 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 23:18:32.47 ID:DBid4MbY.net]
組み込みはほとんどコードを書かない
仕様書作成と会議と試験が業務の9割
しかも検査が糞やりにくい
VisualStudioで作るGUIアプリみたいにビルドボタン一発で動作確認とかできない
画面が出ないものすらある
オシロスコープで電圧が使用通りに出てるかを確認したりしないといけない
もはやソフトウェアエンジニアと言える職業ではない
メーカーの仕事は設計と実装を完全に別物と捕らえていて
完璧な設計書が作られていることを前提に実装はただの作業員として扱う
コーディング時のクリエイティビティなんか完全にスポイルして開発を進めていく
そのくせ設計書は不備だらけで面倒臭い部分は後工程に丸投げの無責任だから
完全にモチベーションをゼロにされる
それが組み込みのC言語のプログラミングの仕事だ

252 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 23:20:00.38 ID:CvmegYmq.net]
あえて難しいことを避けて避けて避けるというのも技術の内

253 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 01:05:13.50 ID:3VZnQzoZ.net]
メカトロなんか、機械(力学)・電気電子回路・コーディングの3部門が、
お互いを馬鹿にして、バグのなすりつけ合い

だから、力学・電験3種・コーディングの、
3つとも出来る人は、すごい

プルアップ・プルダウン抵抗とか、
機械系と情報系では、別電源を使うとか、
リレー(PLC)、一点アースなど、
基本がわかっているソフト屋は強い


基礎入門 ブレッドボードではじめるマイコンプログラミング
2010、青木直史

PICマイコンでC言語だが、この本を読んでみて

254 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 09:29:12.19 ID:ZcGcKAux.net]
電験2種とAP、ES持ちのブラック底辺のぼくが来ました
月給23万円です。

255 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 09:44:57.14 ID:V01ss4k7.net]
>>244
ところが、誰でも出来るんだよ。
自社のバグの存在に発見出来ず、サーバーの停止は、善良な市民の不法行為だと客に説明し、
客に刑事告訴させ、善良な市民を逮捕させた三菱のSIer。最低だと思うだろ。

こういうSIerの使いっ走りが、大部分のWebプログラマのポジション。

256 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 10:12:09.58 ID:uT2pVaOW.net]
メーカーに関わってる仕事は全部ゴミ

257 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 10:39:43.69 ID:bOKloAAb.net]
と、社会のゴミが言っております。



258 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 12:56:17.95 ID:uT2pVaOW.net]
本当に日本のメーカーはゴミだからな
家電は馬鹿チョンカメラと馬鹿にしていた韓国メーカーに完全敗北したし
Sonyはiphoneを作れなかった
自動車の自動運転技術でもGoogleが先行していて今後ソフトウェアの重要性が増すにつれ
日本の自動車メーカーも優位性を保てなくなるだろう
ソフトウェアの重要性を軽視して若者使い捨て技術蓄積放棄してきた結果
本当に日本のメーカーは世界競争に負けた責任を取って若者主導のベンチャーに投資ぐらいして当然だ

259 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 13:33:57.21 ID:ZcGcKAux.net]
でもお前無職じゃん???

260 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 13:55:45.83 ID:BPdaawwb.net]
>>254
特許を完全に無視してるよな朝鮮人って

261 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 14:24:54.63 ID:k0Gw61eH.net]
韓国も朝鮮人ですか?

262 名前:デフォルトの名無しさん [2015/06/21(日) 17:41:37.15 ID:mh4IeNEV.net]
>>246
ソースはぐちゃぐちゃだけど何故か動くって、不良品に繋がる可能性高くないんですか?
電化製品の不良品って命に関わるレベルだと思うんですが…

263 名前:デフォルトの名無しさん [2015/06/21(日) 17:44:59.68 ID:mh4IeNEV.net]
でも組み込みのオシロスコープ検査ってのはプログラマーはやらないんじゃないですか?
だってプログラマはあくまでシミュレーターで実験するだけだと思うんですが…

264 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 17:46:39.51 ID:BziqIqe8.net]
自分は世の中の全てを知っていると言う思い込みが強そうだw

265 名前:デフォルトの名無しさん [2015/06/21(日) 17:47:35.63 ID:mh4IeNEV.net]
不備だらけの設計でも最終的には商品になるってことは、結局誰かが縁の下の
力持ちになって相当な頭脳を発揮してるってイメージなんですが、それは誰なんでしょう?
設計を修正する設計者なのか、プログラムで設計の不備を補うプログラマなのか…

266 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 18:44:29.73 ID:GgfmtYLJ.net]
設計を修正し、プログラムを修正し、抜けてる試験を回す私です。ホントニ

267 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 18:51:30.89 ID:XaWI7cF/.net]
基本、人海戦術だなw
設計からプログラマから評価から、そして製品が出てからのサポート担当



268 名前:デフォルトの名無しさん [2015/06/21(日) 19:14:51.10 ID:mh4IeNEV.net]
製品が出てからサポートって
不良品の場合サポートで対応できる限界超えてるのでは?

269 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 19:26:25.44 ID:XaWI7cF/.net]
いや。対応しなくちゃならない。
何十万台のリコールとか聞いたことが無いか?
それだけの台数を全てサポートし、修理するということだ。

270 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 19:36:21.03 ID:7nlclQFw.net]
スレ違いなので

271 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 20:28:35.04 ID:5j8C2sGK.net]
相手すると余計に暴れだすぞ

272 名前:デフォルトの名無しさん [2015/06/21(日) 20:43:20.42 ID:yr9/lfvl.net]
全ての要素が1である10×10行列の要素をある条件に従って0にし、すべての要素を足し合わせた結果を表示するc言語のプログラムがうまく動きません

入力が1,1,3,2,6のときは95
2,1,3,2,6,1,3,4,7なら94
4,1,3,2,6,2,6,3,8,1,8,2,6,2,2,3,6なら82を表示すれば正しいのですが、違った値が表示されます。
プログラムのどこが間違っているのか教えてくれませんか?

コードは下のやつです
codepad.org/PuM1hFdA

273 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 22:01:06.92 ID:mh4IeNEV.net]
純粋に思った疑問なんですが、
明らかに実行されるはずなのに、実行されないケースってあるのかなと思いました。

printf("入口");
printf("hello world");・・・@
printf("出口");

この@が実行されないケースって実際のプログラミングであるんでしょうか?
こういう場合って本当どうするんでしょうか…
つまりコードとして書いてあるのに実行されないケースです。

274 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 22:09:44.53 ID:mh4IeNEV.net]
例えばprintfっていう例がわるかったですね。

printf("入口");
draw("hello world");・・・@
printf("出口");

このように実装関数の場合、明らかにdrawは実装ミスがないという根拠が
あった場合、draw自体の関数の設計は見直さない、他に原因があるんだって
いう流れになるんでしょうか?

275 名前:デフォルトの名無しさん [2015/06/21(日) 22:35:48.06 ID:DaSOQbmK.net]
>>270
drawをスタブにしてみろよ。

276 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 11:20:59.81 ID:U5ZZW/Pf.net]
>270
OS、コンパイラ、ライブラリのバグ、ハードの故障。
動きをトレースして原因を絞って各担当に連絡して直してもらう。
時間がなければ回避手段が無いか検討。
それでもダメなら土下座。

イレギュラーな懸案はその都度考える。

277 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 11:44:22.29 ID:Jxy34/JH.net]
まずはパラメータとdrawの仕様確認するだろ



278 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:08:17.55 ID:MaxvP/1L.net]
>>270
ユーザーの違法行為が原因だと客に説明する。

279 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 13:22:07.63 ID:aymjWIxI.net]
可能であればその draw 関数にログ出力でも追加したバージョンで実行して貰って、
・確実にその関数を呼び出していることを確認する
・呼び出されてるとして、パラメータが適切であるか確認する
・同様に内部で想定外の動作をしてないか(=バグ)を確認する

くらいのことはするかも知れない。
269 にあるように、ユーザがボケてて実は呼び出してない or 変なパラメータを入れてるってことはザラにあるし。

280 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 19:03:41.37 ID:SYQS3vBP.net]
通常自分でプログラミングしてるとコンパイルエラーがだいたい100回は出るのですが
これって多いほうですか?1000行くらいのプログラムコードです。

;の付け忘れやら、アクセスできないインデックスで配列にアクセスしたりと
色々あります。

281 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 19:14:08.90 ID:44quCRbj.net]
>アクセスできないインデックスで配列にアクセスした
これコンパイラでつかまるの?

282 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 19:56:16.28 ID:ILh0wq8G.net]
>>276
その100回エラーはいつ出るんだよ?
1000行のプログラムを書く場合、100行くらいの関数を一個作ったら取り敢えずビルドしてテストすると思うがその時に100個のエラー出るのか?
それとも1000行書き上げるまで一度もビルドせずに1000書いてから初めてビルドしたら100個のエラーなのか?よく分かるように書いてくれよ

283 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 20:01:04.01 ID:YsLRwNcZ.net]
C言語で仕事していてモチベーションがあがるときってどんな時ですか?
何かプログラミングは詳しいけど仕事に対しては文句が多い気がします。
Cで組んでいて仕事で充実したこと、自分のスキルが活かされたなって思う瞬間が
あれば教えて下さい。当方プログラマになりたいと思っております。
向いてないかもしれませんが、みなさんがどういった心理状態、将来への展望を抱いて
プログラマやってるのか不思議でなりません。

284 名前:279 mailto:sage [2015/06/22(月) 20:25:05.35 ID:YsLRwNcZ.net]
https://www.youtube.com/watch?v=oOwjKaqZFXs
皆さんは
仕事が割り込んでもそれを片付けるとかこのレベルまで行ってるの?

285 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 21:12:32.23 ID:cwbWWa9D.net]
>>276
それ知ってどうすんの
傾向わかってんだったら今後注意すりゃいいだけでしょ

286 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 21:25:05.55 ID:aymjWIxI.net]
>>279
自分の作ったプログラムが出した指令に基づいて目の前で鉄の塊(電車)が動いた時は本当に感動した。

287 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 21:27:50.49 ID:Jxy34/JH.net]
>>279
マ板行ったらいいよ



288 名前:デフォルトの名無しさん [2015/06/22(月) 22:06:39.89 ID:YsLRwNcZ.net]
>>282
それってコーディングによっては動かない可能性もあったんですか?

289 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:22:45.94 ID:5yWB/8R4.net]
>>279
自分の作ったプログラムがバグると地上待機してる自分に敵のミサイルが当たる時

290 名前:デフォルトの名無しさん [2015/06/22(月) 22:52:06.68 ID:n9SZmu2P.net]
でもプログラミングで一番疑問に思うのは

数学の問題なんて何時間かけても解けないなら仕方ないよって言われるのに
何故プログラミングの場合は、すぐにバグとってリリースできる状態にしろって
厳しい条件を突きつけられるんでしょうか?

問題解決が必要な分野でプログラミングだけやたらと厳しい気がしませんか?
どんな職業もゆとりってあるじゃないですか。研究で成果でなくても怒られませんよね。
企画が頓挫しても次頑張れって言われますよね。

でもプログラミングは何故殺伐とした圧力が常にあるんでしょうか?
納期とかいいますけど、それだけ大変なら納期は延びても仕方ないよって言う
人のほうが多くないんですか?

291 名前:デフォルトの名無しさん [2015/06/22(月) 22:58:37.01 ID:n9SZmu2P.net]
バグを見つけるって原因を見つける事ですよね?
それってラインみたいな単純作業じゃないじゃないですか。
常に数学の解法を思いつくような思考がずっとできない

292 名前:ニダメってことですよね?
それなのに見つけられて当然、やっと見つかったけど今度はこれ見つけてねとか
あんまりじゃないですか?

世間からプログラマーってちょっと賢い程度に思われてるじゃないですか?
俺からしたら滅茶苦茶頭きれないと無理だと思うんですよ。

人間誰しも論理的に物事考えるけど、プログラマーってそれ+頭の回転
しかも超凄いレベルの回転力が必要ですよね?
[]
[ここ壊れてます]

293 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 23:09:28.06 ID:3Y+uTrvX.net]
プログラマー板にいけ。いい加減スレ違いだ。

こういう使い分けが出来るのがプログラマーであり、一般的に多くの人が出来ることだ。

294 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 23:50:40.28 ID:HfhmwtVw.net]
多重請負構造で中抜き業者がピンはねしまくりで実作業をするプログラマーには適切な待遇が与えられないようになってる
そのせいで納期は短めに設定されるし残業代も100%出ない会社も多い

295 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 08:07:21.08 ID:PmYcJsrz.net]
そもそも大抵の職業プログラマは解法が見つからんような難しい問題はやってないし
大量にある要件をチマチマ実装/テストするお仕事です

296 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 09:58:29.46 ID:9r3RXp4j.net]
プログラマーの話は板違い

297 名前:デフォルトの名無しさん [2015/06/23(火) 15:14:18.02 ID:k5+MSvOe.net]
ダイナミックリンクとダイナミックロードの違いがわかりません。
具体的には、dlopenを使う処理とそうでない場合の違いです。
環境はlinux、gccです。プログラムのリンクの状況などが
分かるコマンドがありましたら併せて教えてください。
ご回答の程よろしくお願い致します。



298 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 16:36:25.05 ID:I0ATeeuQ.net]
ldでリンクされたshared objectはmainの実行前にランタイムローダーがロードする。
lddでランタイムローダーがロードするものの一覧がとれる。

299 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 16:50:51.89 ID:JUNHFyrA.net]
ダイナミックリンクは対象が存在しない場合
自前のコード(main() )に飛び込む前にローダーがエラーを返して終了しちゃう

ダイナミックロードは ロードとマップと呼び出しを自前のコードで行うので
リンク対象が存在しない場合に動作を分岐させたりすることが可能

300 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 16:59:26.40 ID:WxAOywus.net]
>>292
ダイナミックリンクはソースコード上のシンボルと、ライブラリのシンボルが結びつけられて、
実行時に自動的にライブラリがロードされる。

dlopen() を使う方は、実行時にライブラリ名、使用するシンボルを決定できる。
なんで、プラグインの実装はこれを使えば簡単にできたりする。

あるプログラムがあって、複数の別プログラムと通信するときなんかは、
通信部分をこんな実装にしたりする。

301 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 19:59:53.57 ID:p7ULLFoK.net]
凄い初歩的な質問するかもしれませんが、プログラムは全てポートがあるってのを
勉強して習いました。ということはhelloworldが実行されている最中もポートって
いうのは開いているんでしょうか?そのポートを調べる事は可能ですか?

302 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 20:54:10.62 ID:Yra6/pdr.net]
>>296
> プログラムは全てポートがあるってのを
> 勉強して習いました。
どこで習ったんだよ...

303 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 21:24:28.48 ID:p7ULLFoK.net]
>>297
アプリがそれぞれポートというシンボルを持ってるって聞きましたが違うんですか?
メールが開いてます→ある数値のポートが開いてる
ペイントが開いてます→ある数値のポートが開いてる
じゃぁhelloworld.exeというhelloworldを出力するアプリケーションにも
ポートがあるのではないかと思うのですが間違いでしょうか?

304 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 21:26:32.71 ID:i2r6Oae2.net]
違います

305 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 21:37:02.86 ID:tg0Hi2QC.net]
誰かが自作した非公開のOSでそういう仕様のものがあるかもね。

306 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 21:52:35.05 ID:x6cW ]
[ここ壊れてます]

307 名前:TlKo.net mailto: ポートって意味が広いから何を指してるのかね。
後"プログラムが持っている"って表現に違和感あるし。
halt
ってだけのプログラムにポートと呼べるものは含まれているのかね。
[]
[ここ壊れてます]



308 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 21:56:16.88 ID:p7ULLFoK.net]
>>301
ポートはアプリ間通信のために必要って本に書いてます。
別のパソコンとの通信に必要なもの=IPアドレス
アプリ間通信のためにそれぞれのアプリが持ってるもの=ポート番号

つまりhelloworld.exeはアプリだからポート番号を持ってると考えました。
違いますか?

309 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 21:58:15.94 ID:i2r6Oae2.net]
hello worldはアプリ間通信してねーし

310 名前:デフォルトの名無しさん [2015/06/23(火) 22:04:04.49 ID:p7ULLFoK.net]
>>303
どういうときにポートが貸与されるんでしょうか?
よくわからないんです。ちなみに基本情報の本で勉強しました。

311 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:07:22.01 ID:Y47RauLa.net]
構うと暴れるからな

312 名前:デフォルトの名無しさん [2015/06/23(火) 22:31:45.97 ID:HChqJ3xP.net]
2次元配列の関数受け渡しについての質問です。

動的確保により作成した2次元配列をユーザ定義関数へ受け渡す際、
関数の仮引数はどのように宣言すればよいのでしょうか?

ukewatasi(double **x)

のようにしてみたのですが、プログラムが停止してしまいました。

よろしくお願いします。

313 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:39:28.45 ID:fUDxTJnN.net]
>ID:p7ULLFoK
プロセス間通信のサンプルソース読んでフロチャートぐらい描いてから質問しろ。

314 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:41:39.07 ID:i2r6Oae2.net]
>>306
動的確保したデータの型は?

315 名前:デフォルトの名無しさん [2015/06/23(火) 22:48:15.37 ID:HChqJ3xP.net]
>>308
double型で**xを作成して、xを関数に受け渡しました。

ukewatasi(double **x)

int main(){
double **x;

ukewatasi(x);
}

のような感じです。

316 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:50:50.38 ID:x6cWTlKo.net]
>>309
> 動的確保により作成した2次元配列
とは、こんな感じで確保したの?
(double(*)[123])malloc(n*123*sizeof(double))
であれば
double(*a)[123]
みたいに渡せばいい。

317 名前:デフォルトの名無しさん [2015/06/23(火) 22:51:11.69 ID:HChqJ3xP.net]
何度もレス申し訳ないです。
関数の内容は渡された2次元ポインタ?に対する動的確保です。
動的確保をユーザ定義関数内で行おうとしています。



318 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:51:27.89 ID:qkxeTacg.net]
>>309
受け渡しはそれで問題無いんじゃないか。
その後の配列の使い方に問題有るんじゃないか?

319 名前:デフォルトの名無しさん [2015/06/23(火) 22:55:23.42 ID:HChqJ3xP.net]
>>312
プログラム内の主な部分をとりあえず消してみたので、その後の処理は

for(i=0;i<n;i++)free(x[i]);
free(x);

を使って開放しているだけにしてあります。

320 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 23:10:53.90 ID:DrRN54sL.net]
>>311
引数の書き換えによる呼び出し元への渡しじゃなく
戻り値じゃだめなの?

int を引数書き換えで戻す func(int *a) { *a = こっちで設定した値 }

型type を 引数書き換えで戻すのは func(type *a) になる
2次元配列(ポインタ配列) double** を type とみなすのなら
func(double*** a) になるんじゃないか?

321 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 23:21:43.47 ID:DrRN54sL.net]
おっと呼び出し元のほう書き忘れてた

>>314 の 型type を 引数書き換えで戻すのは func(type *a) になる
呼び出し元は 型type の変数 a を用意して func(&a) と呼び出す
⇒ double **x を用意し、func(&x) で書き換えてもらう

322 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 23:23:43.71 ID:x6cWTlKo.net]
>>309
>>313
それでいいよ。としか答えられないんだが。
自分の問題点を単純化して、
省略せずmain関数込みで晒すしかないんじゃね?

323 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 23:28:11.11 ID:DrRN54sL.net]
元質問よく読むと >>314,315 は関係なさそうだわ とりさげ

324 名前:デフォルトの名無しさん [2015/06/23(火) 23:33:51.75 ID:HChqJ3xP.net]
すみません、mainとその関数はこんな感じです。

void getm(int n,double **x)
{
int i;
x = (double**)malloc(sizeof(double*) * n);
if(x == NULL){
puts("メモリを確保できませんでした");
exit(0);
}
for(i=0;i<n;i++){
x[i] = (double*)malloc(sizeof(double) * n);
if(x[i] == NULL){
puts("メモリを確保できませんでした");
exit(0);
}
}
}
int main()
{
int i,j,col,ln,n;

double **a,**b;

getm(n,a);

for(i=0;i<n;i++)free(a[i]);
free(a);
return 0;
}

325 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 23:38:22.26 ID:Hn8bvGAp.net]
そりゃ停止するわ

326 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 23:47:19.57 ID:x6cWTlKo.net]
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
void getm(int n, double ***y) {
inti;
double**x;
x = (double**)malloc(sizeof(double*) * n);
if(x == NULL){
puts("メモリを確保できませんでした");
exit(0);
}
for(i=0;i<n;i++){
x[i] = (double*)malloc(sizeof(double) * n);
if(x[i] == NULL){
puts("メモリを確保できませんでした");
exit(0);
}
}
*y = x;
}
int main(void) {
int n,i;
double **a = NULL;
n = 5;
getm(n,&a);
for(i=0;i<n;i++) free(a[i]);
free(a);
return 0;
}

327 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 00:05:36.88 ID:e9gtZvXy.net]
(>'A`)> うわぁ



328 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 00:39:48.68 ID:edfJthnp.net]
>>320
getm() の戻り値をアドレス値(のコピー)にした方がいいんじゃない。

double **getm(int n) {
double **x;
:

return x;
}

int main(void) {
:
double **a;
:
a = getm(n);
:
}

329 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 00:49:44.96 ID:TqWBqUYf.net]
問題の本質が動的確保とか2次元うんたらじゃないね。こんな感じのまちがいか?
void func(int x) { x=5; }

330 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 01:41:06.19 ID:x8P9P79s.net]
これと同じような問題は他の関数でFILE構造体へのポインタを持って行って
openしたのに「あれっ?」というのに似てるな

void func(FILE *fp)
{
...fpをopenする処理
}

func()から戻ってもfpに代入されたFILE構造体がopenされてない
(正確にはfunc()内でopenして代入した値がどこかで遊んでいる)

正しくは

void func(FILE **fp)
{
*fp=fopen(////
}

とやるかC++なら
void func(FILE *&Fp)

まあこんなアホな書き方は普通しないけど

331 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 04:19:45.17 ID:psgmC6/v.net]
これはひどい

332 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 08:11:51.66 ID:aN9Ts3NW.net]
void getm(int n, double ***y) {

*y = (double **)malloc(sizeof(double *) * n);

if (*y == NULL) {
puts("メモリを確保できませんでした");
exit(0);
}

for (int i=0; i<n; i++) {

(*y)[i] = (double *)malloc(sizeof(double) * n);

if ((*y)[i] == NULL) {
puts("メモリを確保できませんでした");
exit(0);
}
}
}

333 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 17:58:36.34 ID:u4ZdF9De.net]
@if (strcmp(argv[1], "ch") == 0)

Aif(*argv[1] == "ch")

この書き方何が違うんですか?

334 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:02:18.92 ID:5nU4RVUe.net]
C言語じゃ文字列の比較は”==”ではできないよ

335 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:38:26.93 ID:3Hv0NUBx.net]
*argv[1] 多分char型 1バイトの数値
"ch" "ch"という文字列が格納されているアドレス 環境依存だが16/32/64bit数値

336 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:46:20.02 ID:FOAJx/zB.net]
C言語の定義ってあるんでしょうか?
出来上がったものをC言語として纏めたからそれをC言語と呼んでいるのか
こういう機械語への変換を約束するように設計されたのがC言語がなのかどっちなのでしょうか?
ようはコロンブスの卵みたいな問題ですが

337 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:49:40.49 ID:hCh+/iKv.net]
>>330
その答えが分かったとして
何か役に立つのか?



338 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:56:12.91 ID:e9gtZvXy.net]
(国際)規格おっかけたら?
ISO/IEC 9899:2011

339 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 19:28:44.29 ID:FOAJx/zB.net]
>>331
コンパイラの勉強してます^^

例えば
graph.hってありますよね?
C言語にはGUIが無いからライブラリとしてインポートして
使えるだけでgraph.h自体はC言語じゃないけど、何故かC言語扱いされてますよね
みんなどこまでをC言語って呼ぶか定まってないのではないかと思います。
設計者自身もそう思ってるんじゃないでしょうか?

340 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 19:32:09.49 ID:hCh+/iKv.net]
>>333
そのファイルの中にc言語のソースコードがはいっていれば.hでも何でも全部c言語だろ。

341 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 19:40:36.46 ID:wt32uzVz.net]
別言語だが、PHPのなかでHTMLのソースコードが入っていたらそれはPHPじゃなくなるのか

342 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 19:46:26.31 ID:FOAJx/zB.net]
>>335
いや関数とかはC扱いになるのかなと
drawcircleとかいう関数はCのGUI関数なのか
ライブラリから呼ぶCのものではないGUI関数なのか

343 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 19:54:20.47 ID:cFIj+m2b.net]
また思い込みの人か

344 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 20:08:54.30 ID:FOAJx/zB.net]
そこらへんそんなに気にしなくていい感じですか?

345 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 20:09:42.03 ID:3Hv0NUBx.net]
日本語に英単語が混じったら日本語ではなくなるのか。

346 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 20:18:53.14 ID:e9gtZvXy.net]
Cコンパイラの作り方の勉強? Cコンパイラの使い方の勉強?

347 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 20:25:42.13 ID:FOAJx/zB.net]
>>339
正式にC言語の関数といえるのか知りたいです。
例えばfork()はシステムコールであってC言語ではないけどCのコードによく
出てくるじゃないですか?
そういう事です。



348 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 20:26:12.07 ID:FOAJx/zB.net]
例えば識者(Cに携わった人達)がそれも標準Cに入れようってなったら
正式にC言語の関数となるんですか?

349 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 20:31:32.11 ID:e9gtZvXy.net]
ここでクダ巻かず標準化委員会にでもいっといで

350 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 20:34:00.48 ID:5/GXLIV8.net]
キミは「C言語 規格」で検索してみようという知恵は働かないのか?

351 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 21:32:22.70 ID:3Hv0NUBx.net]
規格通りに作られたC言語コンパイラでコンパイル出来て想定通りに動くならC言語だよ。

352 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 21:40:22.84 ID:3Hv0NUBx.net]
>正式にC言語の関数となるんですか?
正式な「C言語の関数」の定義は?

353 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:05:22.37 ID:zNYvxzaB.net]
頭でっかちバカ

354 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:24:01.80 ID:mSDBMbUW.net]
>>337
>>218

355 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:37:35.23 ID:BVqVeXIZ.net]
>>346
自分の中のC言語の定義は

・計算処理が高速(ダイレクトに機械語へ変換するから)
・グラフィック出力が出来ない(C開発環境における端末の多くは図形描画できないため(cygwinなど))
・文字入力、出力はアスキーコードの範囲内(255文字までしか対応していないコンパイラが殆ど)

つまりCは計算をして出力する、まさに計算専用の言語だという認識です。

356 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:41:14.75 ID:5/GXLIV8.net]
>>349
キミのその定義のC言語は、ここで話題にしてるC言語とは違うね。
とっとと出てけ、二度と来るな。

357 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 22:45:41.35 ID:BVqVeXIZ.net]
>>350
このスレは文法的な話が多いしナチュラルなC言語の話がメインじゃないですか?
後 C言語規格で検索かけました。

アメリカはANSI
日本はJISが
規格に関して管理してるってことが分かりました。

どっちの権限が強いとかあるんでしょうか?
Cって日本が開発したものじゃないからアメリカANSI
の承認がないと自由に開発できない、変更できないとかあるんでしょうか?
それとも並行して自由なCのタイプを作っていっていいとか。



358 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 23:08:27.15 ID:YYL+BoO/.net]
根本が間違ってて指摘も矯正も不可能です。

359 名前:351 mailto:sage [2015/06/24(水) 23:11:06.20 ID:BVqVeXIZ.net]
本気で気になってるので誰かCの規格や定義に詳しい人教えて下さい

360 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 23:17:53.88 ID:YYL+BoO/.net]
適当に読んどけ。
ttp://www.bohyoh.com/CandCPP/C/index.html
ttp://www.comm.info.eng.osaka-cu.ac.jp/~sugi/C_lang2/C1.html#anchor265686

これ以上は専門書探せ。もう疲れた…。

361 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 23:26:38.68 ID:zNYvxzaB.net]
読んで理解をしないんだろうな

362 名前:351 mailto:sage [2015/06/24(水) 23:27:12.64 ID:BVqVeXIZ.net]
>>354
ありがとうございます
CもANSI本筋と傍流があるんですね

363 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 23:54:49.59 ID:5DYqddEm.net]
言語仕様と標準ライブラリの関係を言ってるんでしょ?
違う意味なら知らん

364 名前:351 mailto:sage [2015/06/25(木) 00:03:15.94 ID:sP9h+oqg.net]
>>357
言語仕様の中で標準ライブラリが定義されてるんですよね?
てことは言語仕様にないfork()やdrawcircle()はC言語の関数と言っては
ダメじゃないんですか?

365 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 00:14:54.02 ID:0iBjMS7W.net]
printf()やfopen()もアセンブラや別言語で書かれてるぞ。

366 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 00:16:51.58 ID:0iBjMS7W.net]
言語のなんたるかを決めるのはお前じゃないってことだ。

367 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 04:32:18.38 ID:Li5opHJV.net]
だから関わるなと言ったのに



368 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 07:43:04.30 ID:cFsyQBWH.net]
ヲタクプログラマーだからな。

369 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 09:28:35.57 ID:KIT3ByGG.net]
ここの人間は以外とお人よしっつーか面倒見がいいよなw

370 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 09:46:28.93 ID:UIqr32+m.net]
cdecl から調べた方が速そう

371 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 11:17:24.92 ID:U+zmiSvD.net]
>>6
そんな苦労してまで、三項演算子使わなくても良いのに。

372 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 11:27:48.98 ID:U+zmiSvD.net]
>>184
どんな言語でも、
文法としては正しくても、文章としては間違ってる事はいくらでもある。

373 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 11:55:06.12 ID:3kYUeLcc.net]
そんな古い質問拾うなよ。また湧いて出てくるやん。

374 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:25:49.37 ID:sP9h+oqg.net]
C言語ってある程度仕事でも詳しくなってもう余裕で分かるレベルになったら
次の楽しみって何になるんですかね?イマイチできる人のモチベーションがどこにあるか
分からないです。Cは一生かけても分からないくらい深いっていいますけど、未解決問題じゃあるまいし
単なる処理規則の集合なわけであって、どこらへんに奥深さがあるんでしょうかね。

375 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:32:37.30 ID:wU+kaldG.net]
>>368
言語に奥深さは無い。まったくナンセンスな問題意識。

376 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:34:04.17 ID:gUXvHM4p.net]
>>218

377 名前:デフォルトの名無しさん [2015/06/25(木) 22:07:39.16 ID:XxFekGl2.net]
>>368
設計。

プログラミングが楽しいなんて言ってるうちは初心者。



378 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 22:15:45.28 ID:0iBjMS7W.net]
>368
全ての仕事がそうだよ。所詮誰かがやったことの後追い。
それでもやったことが無いことを体験して、作ったことの無いものを作って、
満足できなかったものが少しだけマシになるのは楽しいよ。
自己満足といえばそう。
自己満足をポジティブに捉える人が楽しめ進められ、
ネガティブに捉える人は進まない。

あなたもあれは違う、コレはダメ、それはつまらないとネガティブで雁字搦めになってないで
とりあえずやってみる、とりあえず進めてみて、経験を自分の糧にしてみなさい。

379 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 22:19:21.28 ID:Li5opHJV.net]
自分に害の及ばないものなら
他人の作ったもののテストも楽しい

380 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 22:21:02.82 ID:wU+kaldG.net]
この人の場合、実践が伴ってないからへんてこなロジックに陥るんだろうな。

381 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 23:40:03.58 ID:/iOjq/uQ.net]
スレがやたら伸びてるなーと思うと、いつもの人が暴れてると言う

382 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 23:45:44.08 ID:DMKfpdxo.net]
>>368
高いお金をもらうのがモチベーション
プログラミングはその手段の一つ
一つの言語を深くやるでも、多くの言語やるでもいいし、マネージメント、テストエンジニアリング、ドキュメンテーションでもいいし、自分の価値が上がる手段を増やせばいい
何も考えずに業務をこなすだけならやめた方がいい

383 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 00:27:42.12 ID:7ZHtA1tf.net]
複数の値を任意の数だけ入力させて結果を返すプログラムで、入力の終わりにctrl+zを押さなくても結果を表示できますか?

384 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 07:51:30.19 ID:58TwEZZ0.net]
ctrl+zがいらない仕様にすれば出来るだろう。

385 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 08:56:47.59 ID:P2ouCsE5.net]
言葉ってある程度詳しくなってもう辞書引かなくても分かるレベルになったら
次の楽しみって何になるんですかね?小説とか書く人のモチベーションがどこにあるか
分からないです。言葉は一生かけても分からないくらい深いっていいますけど、未解決問題じゃあるまいし
単なる文字記号の集合なわけであって、どこらへんに奥深さがあるんでしょうかね。

386 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 09:25:10.82 ID:gBS6mhz7.net]
>>377
空行を検出したら終了するように作るとか、任意の入力は必ずファイルから与えることにするとか、手は色々ある。

387 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 11:34:55.72 ID:P2ouCsE5.net]
>>377
ありえない値(-1とか9999とか)を終端マークとして使うのが古典的な方法
最初の入力一件をデータ数とみなすとより無難



388 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 13:01:22.36 ID:HCrYWUwt.net]
ポインタ使わず、配列の文字(ひらがな)操作出来ませんか?例 "あいう"→う だけ取り出す

389 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 13:18:07.33 ID:r1qkCt6W.net]
>>377
(平均値のように)
入力値を一度きりしか使わず、即捨て出来る式で結果を表現できるなら
入力毎に結果を書く

390 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 13:46:28.74 ID:58TwEZZ0.net]
>382
char mojiretu[]="あいう";
char kititori[4]={0};

kiritori[0]=mojiretu[4];
kiritori[1]=mojiretu[5];
printf("&s\n",kiritori);

391 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 14:48:37.18 ID:HCrYWUwt.net]
>>384
文字コードが2バイトを使ったってことですね。気づきませんでした。まだやっていませんが多分出来そうです。ありがとう

392 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 16:25:25.05 ID:58TwEZZ0.net]
>printf("&s\n",kiritori);
× &s
○ %s

何やってるんだorz

393 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 19:54:12.94 ID:oshtnfFs.net]
C言語の文法やアルゴリズム自体は得意なのに
ライブラリなどのコードがいっぱいあると途端に読めなくなるのって
どういった能力が欠如してるからですかね?僕の事です。

394 名前:デフォルトの名無しさん [2015/06/26(金) 20:02:28.58 ID:YZgXVwpx.net]
知識、経験。英語が得意なアメリカ人でもそれまで知らない英単語、ことわざはわからない。

395 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:11:34.53 ID:58TwEZZ0.net]
知らない関数、知らないマクロ、知らない構造体。

396 名前:デフォルトの名無しさん [2015/06/26(金) 20:12:11.42 ID:oshtnfFs.net]
>>389
調べても書いてないんですよ
そういう場合どうしたらいいですか?

397 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:38:50.73 ID:/lXarR0v.net]
知能が足りないんだと思うよ。



398 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:44:52.95 ID:oshtnfFs.net]
>>391
向いてないんですかね…
プログラマやめましょうか…

後仕事のプログラムって再帰ばっかりなんですよ
上司に聞いたら、再帰で複雑にしておいたほうが機密性が高くなるとのことです。
そんなことあるんでしょうか…
殆ど意味分からないんですよプログラムの内容が

399 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:56:10.89 ID:WXmHQpYf.net]
おいらは再帰好きだよ

400 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:56:28.21 ID:oshtnfFs.net]
しかも相互再帰…
相互再帰にしてほぼ解読不可能っていう…
趣味を仕事に持ち込むのは本当にやめてほしいです

401 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 20:57:03.78 ID:oshtnfFs.net]
>>393
相互再帰もですか?
読みにくくなるだけで何のメリットがあるのかわかりません

402 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/06/26(金) 20:59:57.34 ID:xjgOsjgG.net]
多分、リバースエンジニアリング対策だろ

403 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 21:00:41.26 ID:oshtnfFs.net]
難読以外のメリットは、プログラムの書く量が減るから
プログラムの容量が小さくなることだそうです

404 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 21:03:03.00 ID:WXmHQpYf.net]
相互再帰は結構一般的ちゃうの?

個人的な意見だけど、再帰のが簡単にキレイにかける(ときもある)

まあ、おいらはCもやるけどC専門じゃないからなぁ
Cじゃ再帰は使わないお約束、みたいな感じだったらごめんね

405 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 21:04:00.77 ID:oshtnfFs.net]
>>396
再帰は解読しにくいってことですね

406 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 21:11:35.75 ID:58TwEZZ0.net]
>390
ヘルプを見る。解説を見る。
作ったやつ、使ったことのあるやつに聞く。
でなければサンプルソースを解析。

それでもわからなら後回しにするか、解らないまま変に弄らずに使う。俗に言う「おまじない」。

407 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:07:05.75 ID:gBS6mhz7.net]
結局のところ、末尾再帰でもなければ効率悪いコードしか吐かないから再帰で書くのはパフォーマンス要らんところだなぁ。
うちの場合は、パフォーマンスを上げるのが主目的であることが多いから難読性なんて肥やしにもならん。



408 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:07:51.27 ID:gBS6mhz7.net]
>>381
げげ。

409 名前:デフォルトの名無しさん [2015/06/26(金) 23:13:37.04 ID:3MIHB1Go.net]
一昨日Cを勉強し始めたにわかなのですが
ttp://9cguide.appspot.com/13-q.html#S2
このサイトの 2-1 のプログラムについてわからないところがあります。
int i,sum = 0,avg; とありますがこれだとsumに0を代入して初期化することができてないのではないでしょうか?
あらかじめavgに入っていた謎の値がそのままsumに代入されてしまうということではないのですか?
もしそうならifの中で配列の合計を正しく求められないと思うのですが...
どうかよろしくお願いします。

410 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 23:13:49.20 ID:oshtnfFs.net]
クイックソートの再帰は末尾再帰じゃないですよね?
クイックソートの再帰は末尾再帰じゃないから分かりやすいんですが、
ハノイの塔の再帰はすごい分かりにくい

411 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/06/26(金) 23:21:05.76 ID:xjgOsjgG.net]
>>403
C言語の文法は各演算子の結合の強さを決めており、文法上のあいまいさをなくしている。
int i,sum = 0,avg;
のi,sum = 0,avgは、iとsum = 0とavgの3つに分解されて解釈される。

412 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/06/26(金) 23:31:03.25 ID:xjgOsjgG.net]
>>404
再帰はスタックをFILOのように使って処理をしている。
関数呼び出しのときに戻り先と実引数をスタックに格納し、関数から戻る頃にスタックから解放される。
FILOのデータ構造を使えば再帰は非再帰に書き換えられる。

413 名前:デフォルトの名無しさん [2015/06/26(金) 23:53:28.51 ID:3MIHB1Go.net]
>>405
なるほど、納得がいきました。ありがとうございました!

414 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 05:59:25.89 ID:svdtev72.net]
>>405
ちげーよ。
そこで現れている,はカンマ演算子じゃない。
なので演算子の優先順位は適用されない。

415 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 06:25:17.74 ID:+UMgIw/2.net]
カンマって微妙な存在だよね

416 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 07:41:18.81 ID:nRUZ97+m.net]
>408
否定だけでなくちゃんと解説しろよ。

417 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 08:59:18.05 ID:culNkOYR.net]
うっせー 俺はテスターだから間違いを見つけたらそれで終わりなんだよ



418 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 09:16:18.76 ID:KUf9kyhl.net]
なんで「俺はコンパイラより頭が(・∀・)イイ!!」とか思うような奴ばっかりが
得意顔で自演するようなスレに成り果てちゃったの?(´・ω・`)

419 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 12:27:05.83 ID:svdtev72.net]
>>410
元質問者の疑問は、,がカンマ演算子でない事で解決する。
バカにはわからなかったかな?

420 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 12:48:36.17 ID:XN+wGsW9.net]
「相手はxxxがyyyだと勘違いしてる」と思い込んでいる。

421 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:48:41.80 ID:svdtev72.net]
それ以外に説明がつかないと言う事がバカにはわからないらしい。

422 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 18:16:17.50 ID:8NBUCr+K.net]
意味不明なところに拘って質問してくるやつ。
質問投げっぱなしで回答への反応がないやつ。
態度のでかいヤツ。

消えて欲しいよ。

423 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 18:42:50.69 ID:wwmv ]
[ここ壊れてます]

424 名前:wXJ3.net mailto: 思ったんだけど複雑な思考してるときは脳ってそう活発になってないんですね
簡単なコミュニケーションや、簡単な計算してるとき活発になるらしい。
でもC言語のプログラム読んでて、難しいなって思って粘り強くコード見ていく事って
上達にかかせないですよね?じゃぁ頭を活発にしてC言語読むにはどうしたらいいんでしょう?
常に何かをひらめきながら読み進めるとか色々工夫あると思うんですがみなさんが心がけてることなんですか?
[]
[ここ壊れてます]

425 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:age [2015/06/27(土) 19:19:00.59 ID:JmAIGVSo.net]
明日、俺が考えた究極の画像処理ライブラリーを発表する予定。まあ見ててな

426 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 20:59:39.13 ID:K06hVkJE.net]
>>418
物凄いんですか?期待でワクワクします。

427 名前:片山博文MZ ◆T6xkBnTXz7B0 [2015/06/28(日) 12:49:26.79 ID:7OyeVowG.net]
画像処理ライブラリー「imaio」
katahiromz.web.fc2.com/imaio/

コンパイラーは、VC++ 2013、MinGW、BCC55に対応。
画像形式は、BMP, JPEG, GIF, PNG, TIFF, アニメーションGIFに対応。

よろしくね。



428 名前:デフォルトの名無しさん [2015/06/28(日) 13:50:10.46 ID:TJWf2eSN.net]
codepad.org/XjhyZ0Oa


1
2
7
4
5
-5579872
-144112812
-144135884
-142922460

Exited: ExitFailure 11

マージソートのプログラムだけど、これどこがおかしいですか?

429 名前:デフォルトの名無しさん [2015/06/28(日) 13:51:28.84 ID:TJWf2eSN.net]
全く書き換えるんじゃなくて
このコードの部分で指摘していただければ嬉しいです。

@inの取り方も正しい
A2回再帰を読んでる
B作業用配列x,yも正しいはず

何故こんなおかしな結果になるんでしょう?

430 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:37:03.55 ID:4PA/u/+9.net]
間違いではないが
int a[9];

for(i=0; i<=8; i++)
と書く奴のプログラムなんて見る気もしないな・・・

431 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:39:21.94 ID:OeLQkQMR.net]
>>423
君は素人だな。
本物のプログラマーはこう書くんだよ。
知らないのか?

432 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 14:45:18.81 ID:4PA/u/+9.net]
本物のプログラマーってドカタの人のことですよね

433 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 15:06:36.31 ID:T2p7HOxZ.net]
よくわからんけどプロの人は

for(i=0; i<sizeof(a)/sizeof(int); i++)

って書くんじゃないの?

434 名前:デフォルトの名無しさん [2015/06/28(日) 15:26:15.96 ID:O8XywhU9.net]
とりあえず

-5579872  ←
-144112812 ←
-144135884 ←
-142922460 ←

何故こういうエラーが出るんでしょう?

aからx,y(左配列、右配列)に退避させてそこから
x,yからbに敷き詰めていく

例えばx =1 3 4,y=2,5, 7なら 1,2,3,4,5,7とbに格納してるはず

それなのに何故こういうエラーが出るのでしょうか?

435 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 16:18:39.59 ID:x/T4p/ZN.net]
この手のデバッグは面倒なんでC#に直した

ideone.com/coXz7X

ソートされてないし、配列の前半にしかデータが入ってない
後半のおかしな値はゴミだな

436 名前:デフォルトの名無しさん [2015/06/28(日) 19:13:28.63 ID:O8XywhU9.net]
ideoneってc言語使えないの?
helloworldCでかいてrunかけてもエラー出るんだが…
うっとうしいな、codepad落ちてるし…
氏ねって…

437 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 19:19:09.66 ID:jQw88VwY.net]
>>429
runしない状態で、まず貼ってみて



438 名前:デフォルトの名無しさん [2015/06/28(日) 19:22:07.72 ID:O8XywhU9.net]
>>430
>>421です。でも落ちてるんですよ、本当腹立つ…時間無いって言うのに…
何で落ちるんだよこういうときにかぎって…氏ね

439 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 19:48:13.59 ID:jQw88VwY.net]
>>431
ideone.com/
一番上の帯の new code をクリック
コードを入力するテキストエリアの下の左、「Java ▲」をクリックし、 Cを選択

これでできませんか?

440 名前:デフォルトの名無しさん [2015/06/28(日) 20:05:11.93 ID:FN6ToZob.net]
ttp://i.imgur.com/HE7najM.png
コンパイルはできたのですが実行すると性別を聞いてもらえません...
どこがいけないのでしょうか?
読みづらいかと思われますがどうかよろしくお願いします。

441 名前:デフォルトの名無しさん [2015/06/28(日) 20:20:43.27 ID:a/YHn9n/.net]
ideone.com/DV39vg

ideoneの場合

そもそもStandard input is emptyが出るんですが
これ何ですか?

inputなんてしないっつの…
うっとうしいな

442 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:33:37.27 ID:jQw88VwY.net]
いい加減な直し方ですまない。なるべくそのままで直した。

  scanf("%s%c", data[i].name);
  scanf("%d%c", &data[i].old);
  scanf("%c%c", &data[i].sex);

443 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:33:48.76 ID:6vwCSsHC.net]
>>428
ああ、こういうコードだったのね。元のコードは 503 が返ってくるからもやもやしてた。
これってこんな問題?

・41, 42 行で再帰呼び出しでソートしてるのに 49, 52 行でコピーしてるのはソート前の配列の値
・57 行で比較してる配列のインデクスが、58, 60 行でインクリメントした結果、有効なデータより後の要素を示すようになる
 ※最初の呼び出しの m 関数の場合、x と y にはそれぞれ a 配列の 0-4, 5-8 番目の要素が入っているけど、
  仮に 0-4 番目にすべて 5-8 番目の要素の値よりも小さな値が入っていれば 6 回目の比較で
  C では初期化されていない、C# の場合は 0 が入っている要素と比較してしまうため正しい結果が出ない

自分は関係ないけどちょっとすっきりした。

444 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 21:02:15.98 ID:tYSRI250.net]
>>424
本物のプログラマがループカウンターに使うのはIだ。iなんて使うのはキッシュイーター。

445 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 21:34:14.33 ID:bg6lBFSS.net]
>>435
%s, %d に %c を後付けするとおかしくなるのでは?

446 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 21:43:10.93 ID:bg6lBFSS.net]
>>436
なるほど,こんな感じになおせばいいのか
https://ideone.com/fiD3Wp

>>431
もとのコードは
最初から r=0, l = 2 のタイミングで再帰コールをしたあとマージ作業ではじめて問題が出る
x[] の有効なデータを使い切ったのに,また x[] から値を取り出してしまう

447 名前:デフォルトの名無しさん [2015/06/28(日) 22:22:40.69 ID:a/YHn9n/.net]
>>439
なるほど、ってことは
x[i]のインデックスを最終地点まで覚えておいてそれ以降はx[i]の値が
-23432432とかになってるから代入しないとダメってことですね?
だからif(x[xi]<0)even if(x[xi]<y[i])b[i]=y[xi];
ってことですか?



448 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:47:50.95 ID:D2RtZ38K.net]
配列版のマージソート見た事はあるけど自分で作ったのはリスト版とあと外部ランのソートだけ
ぐぐればいろいろ出てくるね

449 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:55:02.80 ID:DfNXErlF.net]
値にタイマーを付けてタイムアウトした順に並べる

450 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:57:58.71 ID:6vwCSsHC.net]
てゆーか、x と y の有効なデータ数を覚えておいてそれ以降は比較なしにもう片方のをコピーすればいいやん。

そしてそれ以前にデータをグローバルな変数に入れて使い回すなよ。
再帰はそれでなくても追うのが面倒なのにこんなバグの度に余計に疲れるやろ。

451 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 23:10:33.93 ID:r22I8doO.net]
>c言語のプログラムで、「xの95乗を323で割った余りを16進数に直す」というものを作りたいです
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11121105256
でベストアンサーになっているけど、もっとどうにかならないかな

452 名前:NAS6 ◆I4OWyGBdcY [2015/06/28(日) 23:55:57.87 ID:QnH82WnG.net]
ttp://nas6.main.jp/secret/Mathematician.zip
筆記法による数値表現
答えは12A(16)でしょ
この電卓でできるよ
ソースも全部あるからね

453 名前:NAS6 ◆I4OWyGBdcY [2015/06/28(日) 23:57:33.04 ID:QnH82WnG.net]
X=2の答えは12A(16)でしょ

454 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 00:04:36.27 ID:R4Z+rP4P.net]
>>444
https://ideone.com/QEpJ2a

>>445
それは x = 2 のときなのでは?

455 名前:NAS6 ◆I4OWyGBdcY [2015/06/29(月) 00:05:02.97 ID:6ujtYEpl.net]
X=1234(10)の答えは11C(16)

456 名前:NAS6 ◆I4OWyGBdcY [2015/06/29(月) 00:30:20.77 ID:6ujtYEpl.net]
>>445
のbinフォルダとreadme入れて再UPした

457 名前:NAS6 ◆I4OWyGBdcY [2015/06/29(月) 01:02:48.54 ID:6ujtYEpl.net]
この電卓で計算
2(10)^157(10)=182687704666362864775460604089535377456991567872(10)



458 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 01:47:30.45 ID:1CmvgFN6.net]
>>444
323=17*19 なので、法を分解して

フェルマーの小定理より
x^95 ≡(x^16)^5 * x^15 (mod 17)
   ≡x^15        (mod 17)

x^95 ≡(x^18)^5 * x^5 (mod 19)
   ≡x^5         (mod 19)

あと中国の剰余定理をつかって、再結合というのを考えたが
結局、x^15 (mod 17)、 x^5 (mod 19) も計算しなきゃいけないし、
そのとき、ベキ剰余演算をするので、この方法をプログラムに組み込んでも
あまり便利じゃないか。

普通の電卓片手に手計算ではうまくいったけど。

459 名前:NAS6 ◆I4OWyGBdcY [2015/06/29(月) 02:25:57.85 ID:6ujtYEpl.net]
3(10)^33(10)=5559060566555523(10)

460 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 02:30:05.17 ID:6ujtYEpl.net]
5(10)^55(10)=277555756156289135105907917022705078125(10)

461 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 02:40:40.71 ID:6ujtYEpl.net]
簡単な確認
>>452
5+5+5+9+0+6+0+5+6+6+5+5+5+5+2+3=72(3の倍数)
>>453
5の倍数

462 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 03:41:32.54 ID:6ujtYEpl.net]
どういうメモリモデルになっているかは
データを数値文字列として持って
10進数値文字列に変換して
筆記法で10進数値文字列の四則演算をして
答えのn進数数値文字列に戻しているだけ
メインメモリと計算時間があれば桁制限なしだと思う

463 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 03:48:30.63 ID:6ujtYEpl.net]
つまり、コンピュータに手計算を強要してるの

464 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 03:58:13.67 ID:Ck1XM2XL.net]
巨大な数になればなるほど
手計算の方が効率が良いし

465 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 04:09:40.90 ID:Ck1XM2XL.net]
だから、暗号解読にこのDLL使ったら、ヤバそう
手計算は重いっちゃ重いけど
暗号の砦は、桁数だった気がする

466 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 04:12:10.40 ID:Ck1XM2XL.net]
確か巨大素数が分かれば解けちゃうんじゃなかったっけ

467 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 04:32:30.56 ID:j6EGBqV6.net]
素因数分解でしょ



468 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 05:32:14.23 ID:6ujtYEpl.net]
>>460
その分からなさの砦が巨大素数じゃなかった?

469 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 05:45:37.17 ID:6ujtYEpl.net]
ttp://www.maitou.gr.jp/rsa/rsa14.php
参考HP

俺電卓で計算
349052951084765094914784961990389
8133417764638493387843990820577(10)

327691329932667095499619881908344
61413177642967992942539798288533(10)

114381625757888867669235779976146
612010218296721242362562561842935
706935245733897830597123563958705
058989075147599290026879543541(10)

470 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 06:01:42.90 ID:6ujtYEpl.net]
ってか、2つの素数の積って言うんなら、力技で
素数列挙してテーブルを作って
掛けた値の予測で近そうなのを
総当たりすれば良いだけじゃないの?

471 名前:デフォルトの名無しさん [2015/06/29(月) 06:08:45.81 ID:p1K+5j1b.net]
> xの95乗を323で割った余り


a * x mod 323をa<323の範囲で計算しておけばいいだけだろ?
(323*k + x) ^ n  =  x ^ n mod 323だから、
最初はx*x mod 323の値を上のaとし順に*xしていったらいいだけ。
掛け算と剰余は計算済みとしてint型配列の走査だけでできる。

472 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 07:18:13.78 ID:6ujtYEpl.net]
>>463
をやろうとしたら
キューのバッファ管理がint型だから
INT_MAX個の素数列挙までは結構簡単だけど
それ以上は大変なことに気が付いた

473 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 07:22:28.98 ID:6ujtYEpl.net]
キューに頼らずファイルアクセスのみにすると重すぎるしなぁ・・・
素数列挙って大変だね

474 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 07:26:04.15 ID:6ujtYEpl.net]
あー、MAX_FILE_SIZEの壁でINTより小さいや
尋常な方法では出来ないなぁ

475 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 07:32:19.32 ID:CevnLgip.net]
ウザいから出来たら書き込んで

476 名前:NAS6 ◆n3AmnVhjwc [2015/06/29(月) 07:48:51.08 ID:6ujtYEpl.net]
>>464
VB.NETコンソールアプリ
###################
Console.Write("x = ")
Dim x As Integer = Integer.Parse(Console.ReadLine())
Dim i As Integer
Dim a As Integer = (x * x) Mod 323
For i = 3 To 95
 a = (a * x) Mod 323
Next
Console.WriteLine(String.Format("Mod = {0}", a))
Console.ReadLine()
###################
x=2,Mod=298
x=1234,Mod=284

for文、iの初期値はデバッグで適当
3乗になってるのか・・・

477 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 09:09:21.08 ID:dlw1e8se.net]
素数列挙に総当り、巨大素数の積の合成数が
こんなもので現実的な時間で素因数分解されるなら
世界中でRSA暗号は破られまくり



478 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 13:47:55.43 ID:cTVGuqBX.net]
>>447がシンプルに答えてるのに延々とクソレスして、挙句にはC言語のスレでVB披露するクソコテなんなの?

479 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 14:33:14.02 ID:MBINl1TZ.net]
シフト演算で
buff[2] = (BYTE)( (0x4a40020 & 0x00ff0000) >> 16);
こういう場合にbuff[2]に入ってくる値はなにでしょうか

480 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 16:08:21.05 ID:fgyEl+jQ.net]
>472
不明。状況、環境次第で変わる。

481 名前:472 mailto:sage [2015/06/29(月) 16:20:03.90 ID:fgyEl+jQ.net]
>473
失敬。勘違いしてた。
0x4a40020 & 0x00ff0000 = 0x00a40000
0x00a40000 >> 16 = 0x000000a4
(BYTE) 0x000000a4 = 0xa4
つまり 0xa4

482 名前:473 mailto:sage [2015/06/29(月) 16:21:06.16 ID:fgyEl+jQ.net]
名前ーーー!!
× 472
○ 473

483 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 16:35:21.62 ID:ns0CsOQ5.net]
typedef unsiged short BYTE;
だったらどーすんだよ。

484 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 16:39:16.90 ID:k48kibIU.net]
うむ、自明なものをわざわざ聞いてるってことは期待通りの結果にならなかったんじゃないかと
邪推してしまうしな

485 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 17:15:49.50 ID:MBINl1TZ.net]
つまりこの処理は0xa4を抜くためのものということですね

486 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 17:18:23.17 ID:MBINl1TZ.net]
すいません同じところで0x4って表現がわからないのですがどういう意味でしょうか

487 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 17:29:07.35 ID:k48kibIU.net]
いきなりそこだけ聞かれてもわからんけど、
& でチェックしてるとかなら、
0x4 は2進数で 0000 0100 だから下から3ビット目を調べてるんじゃないの?



488 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 17:42:41.37 ID:fgyEl+jQ.net]
16進数って理解してる?>ID:MBINl1TZ

489 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 18:14:20.98 ID:ns0CsOQ5.net]
違うな。想定外の動作をさせるなら
int buff[3];
typedef char BYTE;
か。

490 名前:デフォルトの名無しさん [2015/06/29(月) 20:36:06.22 ID:w6B9cFRx.net]
codepad.org/

a[0] = 2;
a[1] = 8;
a[2] = 3;
a[3] = 9;
a[4] = 6;
a[5] = 1;
a[6] = 7;
a[7] = 4;
a[8] = 5;

1
2
3
4
5
5
4
5
5

何でですか…

なんでだぶってるんでしょうか?

www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html
これは一つのtemp配列を使ってるだけで

自分はx[]とy[]にわけただけです。

何故同じ数がだぶってるんでしょうか?

491 名前:483 [2015/06/29(月) 20:37:37.98 ID:w6B9cFRx.net]
codepad.org/cyf6OZnh

お願いします。このコードを少し書き換えるだけで修正してください。
今まで間違えると全て書き直ししてたのが悪かったです。
全てリセットして書き直すとほんの少しの差異を見逃して感性が荒くなると思うので…

492 名前:483 [2015/06/29(月) 20:42:00.01 ID:w6B9cFRx.net]
抑えてる点

@ちゃんとl>=rのときreturnしている
Ax[]とy[]を比較して、小さいものからa[]につめている。
 念のため、x[]とy[]が−じゃないときも考慮してる。
 でも例えばxが0〜3、yが0〜2までのとき、ちゃんと
 lは5までの範囲になるので、xのindexが4,yのindexが3になることは
 ありえない

www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html
とほとんど同じプログラムを書いたつもり

それなのに何故間違ってる…
まじで頭がおかしくなりそうです…

493 名前:483 [2015/06/29(月) 20:44:26.91 ID:w6B9cFRx.net]
lからcまでがa[]の左半分
c+1からrまでがa[]の右半分に
入ってるから

それをx[] y[]に退避させて

a[]に入れなおしてるだけ

それなのに何故おかしな結果になるんでしょう?

x[],y[]のindexも増減も間違いない、お互い0から始まって
どちらかがa[]に詰められたら詰めた方のx(y)のindexを増やす

a[]のindexはlからrまで


何故?
何故?

ここまで抑えてるのにエラーが出る理由が分からなくて死にたいです

494 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 20:56:10.12 ID:yBgp8aKq.net]
取り敢えずだ、xとyを初期化してみようか。

495 名前:デフォルトの名無しさん [2015/06/29(月) 21:07:14.47 ID:vSUkOanW.net]
>>487
え???
www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html
だってtemp(作業用)は初期化してないですよ?


僕はtempの代わりにx,yの二つの配列を用意したんです。
関数が呼び出されるたびに

int x[]
int y[]

としてるんだし、これは初期化と同じでは?

496 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 21:09:29.39 ID:yBgp8aKq.net]
いいからやってみろ。いいもんだ。

497 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 21:10:53.70 ID:yBgp8aKq.net]
ついでに言うと、配列は定義しただけでは不定値だぞ。



498 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 21:48:25.09 ID:byKOSkwI.net]
>てゆーか、x と y の有効なデータ数を覚えておいてそれ以降は比較なしにもう片方のをコピーすればいいやん。

499 名前: ◆QZaw55cn4c mailto:sage [2015/06/29(月) 22:14:14.85 ID:R4Z+rP4P.net]
>>486
codepad.org/ygFP51EW

>>484
「x[] が使い尽くされて y[] にまだ残っているとき,y[] から a[] にコピーする.」
「y[] が使い尽くされて x[] にまだ残っているとき,x[] から a[] にコピーする.」
というロジックがない
それではちゃんと動かない.

printf() を要所要所に入れて値の変化を追いかければわかる.
マージソートの大局的な感じは掴んでいるようだが,それだけではプログラムは書けない
要素が1個とか2個になったときにも,想定の動きをしているか確認したか?

500 名前:デフォルトの名無しさん [2015/06/29(月) 22:28:37.75 ID:vSUkOanW.net]
>>492
神様ありがとう

501 名前:デフォルトの名無しさん [2015/06/29(月) 22:29:05.81 ID:vSUkOanW.net]
でもこっちは何故か
www1.cts.ne.jp/~clab/hsample/Sort/Sort6.html
ifを多用

502 名前:してない…

何故だ
[]
[ここ壊れてます]

503 名前:デフォルトの名無しさん [2015/06/29(月) 22:41:21.94 ID:vSUkOanW.net]
えええええええええええええ

1 2 3 4 (mid)6 3 2 1

まじかww

そういうことだったのか
tempが特殊な格納方法だったからか…


考えた人天才すぎる…
こんなカラクリよく思いついたな

504 名前:デフォルトの名無しさん [2015/06/29(月) 22:46:39.12 ID:vSUkOanW.net]
やっぱりプログラミング自分向いてない…
理屈っぽすぎる…

505 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 22:49:12.40 ID:MsD9xqBP.net]
連投うざいわ

506 名前:デフォルトの名無しさん [2015/06/30(火) 02:59:22.65 ID:cdRwV9j9.net]
年齢に-1を打ち込むとコアダンプと表示されます。
どこがいけないのでしょうか?よろしくお願いします。
ttp://i.imgur.com/zhbWIkV.png

507 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 03:59:21.23 ID:W3oST2wA.net]
>>498
そりゃそうでしょ

>>324と同じ間違いをしている

int data_input(man** data);

あとは

scanf("%s", data[i].name);

scanf("%s", data[i]->name);

以下同様

元のプログラムのdata_inputはあくまでポインタのコピーを受け取るだけで、mainのdataは変化してないからね



508 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:06:34.36 ID:W3oST2wA.net]
あ、それと分かると思うけど一応

data = (man*)malloc(sizeof(man));

*data = (man*)malloc(sizeof(man));

data = (man*)realloc(data, sizeof(man) * (i + 1));

*data = (man*)realloc(*data, sizeof(man) * (i + 1));

ポインタのポインタは本来こういう使い方のためのものじゃないんだけど、するとしたらこれしかないし
構造体の中に入れて持って行った方が楽だよ
使う時は勘違いしやすいんで注意

509 名前:デフォルトの名無しさん [2015/06/30(火) 04:59:46.09 ID:cdRwV9j9.net]
>>499
なるほど!と思っていくつか直したのですがだめでした...
どこか余計なところまでいじってしまったのでしょうか...
ttp://codepad.org/8Jen5KgD

510 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 10:15:21.59 ID:z66kzZiU.net]
>>501
main()でman **dataと書くからだよ
それだとポインタの領域とポインタのポインタの両方の領域を確保しないと正しく動かない
ポインタのポインタにするのはdata_input()だけでいい

都合上C++になっちゃったけどソース上げておくんで読んでほしい
ただしnewとかiostreamとかvector使ってないんで読めるはず

codepad.org/bMtuP5cY

これコア吐いてるのは一つも入力がないからだね
そういう所も本当は直さないとね

511 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 10:45:55.96 ID:5MEAi0u6.net]
>>481
0x4a40020と0x00a40020は同じでしょうか?
それとも0x04a40020でしょうか?

512 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 10:57:36.68 ID:TyU2TXj2.net]
>>503
そういう疑問に至った経緯を書いたほうが解決早いと思うよ
大体想像つくけど、違うか違わないかだけ答えても解決しないでしょ?

513 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 10:58:06.08 ID:n/kvsNLi.net]
>>501
・Cは値渡ししかできない。ポインタ渡しとはアドレス値渡しの事。
・実引数と仮引数の違いを復習。
・ポインタ変数man *のアドレス値を関数data_input()に渡すので、引数の型はman **になる。

514 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 11:04:02.41 ID:5MEAi0u6.net]
>>504
ウィキ上のとある仕様書に0x(4)a40020って書かれていて、
実際の処理で0x4a40020と書かれていて
意味がわからなくなりました。

515 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 11:14:11.03 ID:TyU2TXj2.net]
それは文の前後から判断するしか無いけど、4がある場合とない場合とあるんじゃないの
もちろん数としては違う、前ゼロとかは10進と変わらん
Cで010 とか書いたら8進数だけどね。

516 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 11:20:16.98 ID:XY9Cx3p4.net]
>>501
とりあえず、動くようにしたよ。
codepad.org/CJfhT28g

data_input()の中でも、ポインタの使い方があやふやだから復習すること。

37行目で何が違うか気づくはず。
40,43,45行目では配列方式の参照を、
47〜49は同じアドレスをポインタ演算で参照しておいたから参考にしてください。

517 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 11:21:29.33 ID:9bukWkLk.net]
cで十進数の0はどうやって書いたらいいのですか?



518 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 11:33:25.63 ID:zX+VOIct.net]
8進数の0で代用でw
(1-1)とか

519 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 11:34:34.41 ID:gmyFPynn.net]
仕様書などで 00123 と表記された十進の値と比較するCのコードを書くのなら
頭の 0 は落として 123 と書く

520 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 11:38:55.79 ID:gmyFPynn.net]
コード上 0x7b (16進) や 0173 (8進) は同じ値だけども、
仕様書との突合せで誤解を招くだろうから、そう書かない

521 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 11:54:57.93 ID:5MEAi0u6.net]
0x(4)謎ですが、とりあえず動いたから間違ってないってことにしておきます。
ありがとうございました。

522 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 11:58:54.84 ID:gmyFPynn.net]
仕様上 なんかの値は 16進で
0x4a40020 と 0xa40020 の両方がありえる ってことを
簡潔に書こうとしてるんでしょうよ

「仕様書はC言語でこのように書けという指令書ではない」ので
意図をくみとったうえでC言語でどうかくかを考えないとね (一般論)

523 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 12:31:12.87 ID:+uB1KRi8.net]
>>509
もうそれ秋田

524 名前:デフォルトの名無しさん [2015/06/30(火) 14:13:58.86 ID:cdRwV9j9.net]
>>502
>>505
>>508
ありがとうございます、ついに動かすことができました。
まだ理解が追いついてない気がするのでもう一度じっくり自分で考えて見ます。

525 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 18:34:56.46 ID:M6BHk1xU.net]
math.hを使わない絶対値の求め方を教えて下さい

526 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 18:45:53.19 ID:divopN93.net]
fabsのプロトタイプ宣言を自分で書けばmath.hは要らない

527 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 19:39:01.81 ID:9bukWkLk.net]
>>517
double absolute(double v)
{return v < 0 ? -v : v;}



528 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 20:28:37.11 ID:NJOHGXYM.net]
思ったんですがプログラミング趣味な人ほどゲームプログラミング嫌いますよね?
特にCみたいな機械語に近い言語使いの人は。

これってやっぱりゲームみたいな分かりやすいのより、インフラシステムみたいに
厳格な社会の基盤のシステム構築のためのプログラミングのほうが敷居が高いと思う
からですか?

そしてゲームプログラミングとシステムプログラミングではやっぱり
後者のほうがレベルが高いんでしょうか?

プログラマーの方いれば教えて欲しいんですが

529 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 20:45:18.85 ID:pel5ZbCo.net]
ゲームプログラミングの方がプログラミングスキルは高い

530 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 20:50:53.00 ID:uqQrfQWf.net]
          {/: :/: :/:::::::::::::::::/: : : : : / : : : : : : : : : : : : : . \:::::::::::::::/
         /: : : : : : /:::::::::::::::::::{ : : : : /: : : : : : : : : : : : : : : :\ \:::::::::!
       /: : /: : : ∧:::::::::::::::::/: : : : /:/: : : : :/ : : : /: : :i: : : :i: ヽ  \::}
     イ : : : /: : : /:::::\:::::::::/: : :|: : :/:_: : //: : :/∧ : |: : : |: : :} 、  >  ___
   ∠: :/: : :/: { : : /::::::::::| \:/: :|: :|: :イj´: :.//: : ://  }: :| ⌒iヽ : : . 丶  /     \
      /: : :/ : |: : /::::::::::::|: |: : : : !: :!// j:/  {: : //   !: :| : : !: : : : : : ! ヽ/ そ そ お 
.    /: : :/: : :|: :/::::::::::::::|y: : : : :|: :|/ ィチ云ヽ|ノ     jハノ__V : : : :}: : |\| う  う .前
    /:| : /: : : :|:/:::::::::::::::::|r |: :i : |: :l/ /iilllliii}       イill| ヾハ: :/: : :ト、  な 思 が
    {人∧: : : :|:\r-、::::::::|:(|: :| : |: :| {illlliiiill!       {ill|}  ∧/: : :|ヽ ん う
       | : : /: : : :Γ ̄`、.|: :| : |: :|  ゙==''"         弋ノ /: |::\: :.}'つ だ ん
       V |: : : :リ: : :∧: |ハ| :|:.l ヘヘヘヘヘ      ’ヘヘヘ/: /|_ イヽト:ゝ ろ な   /
            i: : :/ V  V  ヽ |: :.ト     、-―-,    / :/: : : :|    ゝ う  ら /
           |/      /^メ、: |   ー  `~ "_ , イ |: :/|∧: :/  /       く
                /:::::::::::ヽ!´"'':ー-....._ ̄ {/  V |V   V  i  で  お   |
                /:::::::r/⌒\:::::::::::::::〉                 |  は 前  |
                  {:::::/      \≧"ヽ              |  な .ん  |
                  /          \  ト、              \   中 /

531 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 20:52:39.00 ID:N7k11D6f.net]
別にゲームプログラミングをさげすんでいるとかじゃなくて、
むしろプログラミングをやっていると、ゲームプログラミングは半端じゃないスキルが必要
というのが分かってくるからね。

532 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 21:13:21.64 ID:i+Kc1vVh.net]
マ板いけっての
適切なスレ選択すらできないのかねチミ

533 名前:デフォルトの名無しさん [2015/06/30(火) 21:37:40.44 ID:ZcckwHFK.net]
>>520
逆だろw

ゲームプログラムほど難しいものはないくらいだぞ。

534 名前:デフォルトの名無しさん [2015/06/30(火) 21:39:36.79 ID:ah3rI407.net]
>>525
例えば?

535 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 21:47:47.28 ID:pel5ZbCo.net]
ゲームプログラマー上がりがシステムプログラムの仕事には移れるが
システムプログラム上がりがゲームプログラマーの仕事には移れない
つまりはそういうことです

536 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 21:49:35.29 ID:hhp9Lxaa.net]
業務プログラム 多少庶路に時間が掛かっても、答えが間違っていなければいい。間違っていては駄目。
ゲームプログラム 多少答えが違っていてもいい。ひたすら早く処理できればおk。

オレ流解釈 異論は認める。

537 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 21:49:45.67 ID:kYz06WW/.net]
ゲームを作るためにプログラム勉強したけどな。まずはベーマガから。



538 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 22:03:05.06 ID:HnzAl5vA.net]
ゲームプログラミングはかなりハードル高いな
ゲームで遊ぶだけなら池沼でもできるが

539 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 22:03:17.83 ID:5IIg4rdj.net]
>>528
賛同1

540 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 22:03:40.18 ID:5IIg4rdj.net]
てか、また暴れだすから程々にな

541 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 22:06:03.11 ID:n/kvsNLi.net]
>>528
速度を追求しつつ正確な演算を要求されるのが一番難しいって事になるな。

542 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 22:29:18.42 ID:3+NHF9fi.net]
>>526
業務プログラムでグラボ必須で萌えキャラが動いてたらやり過ぎだってなる

543 名前:492 mailto:sage [2015/06/30(火) 22:36:53.62 ID:CMabFk2P.net]
>>495
まとまった作業領域を特に割り当てなくても実はマージソートを実装できるような予感がする
>>483 に触発された,参考書をみずに書けたらいいな

544 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 00:10:15.14 ID:8CsMilrf.net]
>>530
業務プログラムは正解がある。
ゲームプログラムは正解が無い。

545 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 00:24:48.66 ID:43NAfoSR.net]
無職QZが投稿した糞オナニー質問

357 名前:オナネタ(そんなに難しくはない)[sage] 投稿日:2015/06/30(火) 15:56:31.85 ID:xNq01ZTL [1/5]
[1]省略
[2]
3^n (n=0,1,2,....1000)
を出力するプログラム
main関数しか作ってはならない。
stdio.h string.h
のライブラリ関数しか使ってはならない。
マクロ関数もNG
行数20行以内
変数は整数配列一つのみ
書式
3^0=1
3^1=3
3^2=9
....
3^82=1330279464729113309844748891857449678409
.....
[3]
[4]
[5]省略

546 名前:デフォルトの名無しさん [2015/07/01(水) 00:27:32.83 ID:4eZhXtdL.net]
#include "sub.c"
ってやってもいいの?

547 名前:デフォルトの名無しさん [2015/07/01(水) 00:52:06.71 ID:Zw/7ZO9t.net]
やってもいい



548 名前:デフォルトの名無しさん [2015/07/01(水) 00:53:36.01 ID:rcJELInO.net]
20行以内という制約条件がバカまるだしだな。

549 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 01:15:26.84 ID:tpHgdX4X.net]
>>538
そのソース名がsub.cだったりして

550 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 01:22:44.82 ID:f6kTfm9E.net]
>>538
可能だが、作法的に間違っているのでたいてい
怒られるのでやめた方がいい

551 名前:デフォルトの名無しさん [2015/07/01(水) 03:28:37.87 ID:coV3YcmE.net]
typedef struct {
int* ex;
} kouzou;

というような宣言の後で
kouzou.*ex
というような使い方がしたいのですがエラーになります。
どうやって書けばいいのでしょうか?

552 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 04:00:39.36 ID:rcJELInO.net]
*kouzou.ex

553 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 04:04:42.34 ID:98X3PxoR.net]
構造体のメンバの型 って使い方したいの?
 関数の引数で、型を示すのに int * と記述するところを kouzou.ex で代用したい
とか もちっと具体的な記述がないと

554 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 04:56:30.33 ID:s8gT99zA.net]
ポインタは めでたくもあり めでたくも無し

555 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 11:15:31.52 ID:/eEOVGmi.net]
まあ>>544のとおりじゃね
聞きたいことが違ったらなんか言ってくるっしょ

556 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 02:49:48.25 ID:IjiULNYp.net]
ttp://codepad.org/1pc6cIh1
本当は順位の計算もmainの外でしたかったのですが難しくてできませんでした...
どなたか例を書いてはくださらないでしょうか、よろしくお願いします。

557 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 07:15:33.49 ID:Y0nozqak.net]
>>548
こういう事か?
元の順位の計算の仕方がよく分からなかったので書き換えた
それと成績と順位で構造体にした

ideone.com/XDrz0b



558 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 10:46:13.94 ID:Nk1ADPQF.net]
>>548
できるだけオリジナル()のテイストを残してみた。

codepad.org/nkkaRkNp

559 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 10:49:25.68 ID:Nk1ADPQF.net]
まちがえた。こっちw

codepad.org/Sdjndzhb

560 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 20:26:42.86 ID:4tz2xAQ6.net]
ゲームプログラマーってどう難しいんだろ?
テンプレートはもうあって、グラフィックを用意するかしないかの違いじゃないの?
これは業務プログラムとも変わらない気がするけど

561 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 20:31:27.90 ID:4tz2xAQ6.net]
どっちも経験したって人いるかな
居たら教えて欲しいな

562 名前:デフォルトの名無しさん [2015/07/02(木) 21:01:41.25 ID:fR4mHX0O.net]
>>552
キミのいうテンプレートがそう簡単に理解できるかな。

563 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:03:42.93 ID:GLjdUG+w.net]
業務プログラムは会社がテンプレートを保存するけど
ゲームプログラマーは毎回一から作る羽目になる。
まぁ最近はエンジンを買ってやってるらしいけど。

564 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:16:37.09 ID:4tz2xAQ6.net]
>>>555
いちから作る理由が分からない
横スクロールだと本当に簡単に作れるんじゃないの?

565 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:17:40.21 ID:4tz2xAQ6.net]
だって例えばジャンプのプログラムなんて
int v 速度
int g 重力
if(buttonA)
{
int x; //位置
int y; //位置
x=x+1
}

jump(int g)
{
y=g*t*t-x
}


こんな感じじゃないの?

566 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:23:23.08 ID:t5xfvhty.net]
天才プログラマー現る

567 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:24:37.08 ID:4tz2xAQ6.net]
ジャンプは放物線を描くようなコードを書けばいいだけで
一から作る必要あるのかなと



568 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:34:57.98 ID:3P8p1QiE.net]
ここでああだこうだ言っても伝わらないでしょ
自分でゲーム作ってみたらよろし

569 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:35:52.83 ID:3rjvAgUt.net]
単純に書いたら壁をすり抜ける

570 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:39:36.44 ID:2QBvSmMa.net]
昔は一度ジャンプすると着地するまで操作できないゲームが大半だった。
今は空中で方向転換可能なゲームがほとんど。
その操作可能な部分も空飛んでるかって言うぐらいのものからちょっと減速する程度のもの、何かのコマンド入れないと無理なもの。
多種多様な仕様にあわせたテンプレート作るぐらいなら毎回作った方が楽。
つか会社じゃなく、個人の頭の中に少々手を加えて使うテンプレートが入ってるのが普通。それを技術と言う。

571 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:58:50.63 ID:f0mLUFIo.net]
>557
>だって例えばジャンプのプログラムなんて
空気抵抗は?横風や吹上、吹き降ろし、竜巻がある仕様では?
ジャンプ中に攻撃受けたときの軌道は?その攻撃は砲弾?レーザー?近くでの爆破?
そもそもジャンプしてるのは人?虫?鶏?ガーウォーク?

572 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 22:09:06.69 ID:QzIg/aEW.net]
プ「Cでテンプレート(ライブラリ)つくったぞ!!」
リーダー「スマホ用ソフト作るからJavaで開発な。」
...
プ「Java用ライブラリも用意したぞ!!」
リーダー「あー、今回はゲームエンジン買ったからそれようのスクリプト言語で開発な。」

573 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 22:51:25.59 ID:a9U+9AyR.net]
ttp://blog.livedoor.jp/nicovip2ch/archives/1913609.html
こういういい加減な世界だからと思っておけ。

574 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 07:35:08.03 ID:mrG1M549.net]
>>555
テンプレートと言うより、要件定義だな。
どんな業務でも、要件定義が最も困難。

575 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 08:00:16.45 ID:cYS66H6n.net]
業務用は大抵WindowsやUnix系でその環境が長期に続くのが予想できるので
自社ライブラリ活用の重要性が高い。
ゲーム環境は16bit以前はアセンブラが主流でCPUも多種あったのでライブラリ化が難しい。
コンシューマはハードメーカーがある程度ライブラリを用意していてくれるが、
そのハードの寿命が5年程度だから自社ライブラリが揃う頃には市場の寿命が来ている。

まぁ今はツクール的ソフトが出回ってるので変わったことしたいメーカー以外はそういうヤツの
付属ライブラリで作ってるんじゃないのかな?
あとはメーカーの社長の方針次第。

576 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 11:19:48.00 ID:UFh7Oq4r.net]
>>6
3項演算式は、分かってる人が限定的に使うのがよろし

577 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 14:06:26.84 ID:FGYvKOaI.net]
オーバーヘッドは悪
抽象化は罪
保守性はこの世の果てに置いてきた

ゲームプログラマーよ、己が牙と爪を研ぎ澄ませろ



578 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:00:47.57 ID:cAK/4qt5.net]
ゲームだ業務だなんてのはC言語に限った話じゃないし完全にスレ違いじゃね?

579 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:10:36.43 ID:tM/c9bw4.net]
区別つけれない子が定期的に湧く

580 名前:デフォルトの名無しさん [2015/07/03(金) 20:52:16.55 ID:mLifhUye.net]
#define NEXTBYTE (n--,*p++)
#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}

このマクロってどういう動きになりますか?
zlibで実際に動いてるマクロなのですが・・・
括弧でくくった部分を左シフトするってどうなるのかわからなくて・・・。

581 名前:デフォルトの名無しさん [2015/07/03(金) 21:04:50.48 ID:Ujl9kI+Z.net]
*pをシフトする

582 名前:。そのあとpがインクリメントされる。 []
[ここ壊れてます]

583 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 21:58:42.25 ID:/GnoFs63.net]
>572
解からなかったらまず試す。
そのマクロを使ったサンプルソース作って見る。

584 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 23:33:21.10 ID:UFh7Oq4r.net]
>>572
DOS時代にC使ってたんだが、今時はこんな定義て普通なのか?

585 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/03(金) 23:51:47.82 ID:pBvJl+Tq.net]
>>572
NEXTBYTEはカンマ演算子の解釈に従って*pを返すが、
副作用としてnをデクレメントし、pをインクリメントする。
#define NEXTBYTE (n--,*p++)
恐らくpが読み込み位置を表すポインターでnが残りの長さであろう。

次にGRABBITSだが、kは8ずつ増えている。これは1バイトの
ビット数である。|=は、OR演算と代入である。k∈[0,j)に対してkビット
だけ左シフトしてORをとるを繰り返すのだから、これはバイトを
次々取得して低いバイトからbを埋めているのである。
#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}

586 名前:NAS6 ◆n3AmnVhjwc [2015/07/04(土) 00:16:33.50 ID:+0FMM883.net]
マクロって・・・
inlineにしろよ

587 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 00:21:29.98 ID:VV3jJEnC.net]
>>572
展開結果みればいいだけじゃん



588 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 04:03:44.48 ID:Fgik/57+.net]
>>577
どたらも、良し悪しある。
関数にすると、型が限定されてしまう。
マクロだと意図しない動作する可能性ある。

589 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 04:10:40.35 ID:pRWF/8JR.net]
どたらもな

590 名前:NAS6 ◆n3AmnVhjwc [2015/07/04(土) 07:12:51.83 ID:+0FMM883.net]
>>579
(C++ならば)それなら inline template

591 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 08:18:41.39 ID:negZyq4J.net]
Cスレ

592 名前:デフォルトの名無しさん [2015/07/04(土) 08:42:52.40 ID:MQHT1P6q.net]
幾度となく死線を潜り抜けてプログラムを極めた俺様に何でもきかんかい!

593 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 08:49:33.00 ID:negZyq4J.net]
はい

594 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 09:00:08.69 ID:5JPjTv/9.net]
>>581
ここはcスレ。

595 名前:デフォルトの名無しさん [2015/07/04(土) 13:38:46.30 ID:Tzt2/bWL.net]
これは秀逸だなって思うC言語のコードってあります?
前にマージソートの質問したもんですが、左配列用、右配列用と
一時保存用の配列を二つ用意せず一つ用意して、左右の端から走査して、
本来右を走査する配列が、左を走査しても問題ない、また逆も然りっていう
仕組みは凄いなって思いました。

他にあったら教えて下さい。まぁあってもそういうのって自分だけの秘密にしたいと
思うんですかね、中々言いたくないと思いますが。

596 名前:デフォルトの名無しさん [2015/07/04(土) 13:52:01.01 ID:zkccIDTn.net]
1~100を表示させてそのなかの任意の数字の倍数の総和を求めるプログラムの書き方を教えて下さい
a%b==0は使うことは分かるんですけど、総和をどう記述すればいいか悩んでます
aを足しあげるからaを最後に出力させるように書くと1<=a<=100の制限で100以下にしかなりません


#include <stdio.h>
main()
{
int a;
for(a=1; a<=100; a++)
{
  printf("%d\n",a);
}
int b,;
printf("任意の数字=");
scanf("%d",&amp;b);
for(b=1;b<=100;b++)

597 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 13:56:18.26 ID:7qFGbGe6.net]
int t=0,a,b;
for(a=1; a<=100; a++)
{
  printf("%d\



598 名前:",a);
}
scanf("%d",&b);
for(a=b;a+=b;a<=100) t+=a;

か?
[]
[ここ壊れてます]

599 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 13:57:08.10 ID:7qFGbGe6.net]
× for(a=b;a+=b;a<=100) t+=a;
○ for(a=b;a<=100;a+=b) t+=a;

600 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 14:04:13.84 ID:XWq4mp45.net]
int tmp=100/b;
int totatl = (a+a*tmp)*tmp /2;

整数の除算は余り切り捨てだよな?

601 名前:590 mailto:sage [2015/07/04(土) 14:05:25.39 ID:XWq4mp45.net]
って変数aじゃねぇ! orz
int totatl = (b+b*tmp)*tmp /2;

602 名前:デフォルトの名無しさん [2015/07/04(土) 14:10:27.16 ID:zkccIDTn.net]
例えば10が任意の数字だとしたら
10+20+30+40+50+60+70+80+90+100=
が出力されるってわけなんですが
それが表現できなくて歯がゆい

603 名前:デフォルトの名無しさん [2015/07/04(土) 14:58:12.11 ID:zkccIDTn.net]
助けてください発狂してしまいます

604 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 15:03:03.01 ID:3dpbiA1v.net]
レスもらっといて何言ってんだ

605 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 15:08:05.74 ID:XWq4mp45.net]
>592

>588-589 ←いじれば出来るだろ。
それさえも出来ないなら辞めちまえ。

606 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 15:16:21.71 ID:IoQCkQ/X.net]
いつものかまってちゃんだろ。放置しとけよ。

607 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 15:16:53.27 ID:WvwJxr10.net]
printfの中身を一字一句理解せず呪文と思ってるとそうなる

誰だCなんか勧めたのは



608 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 17:10:44.98 ID:hWeTlHuy.net]
CountChar関数内で渡された文字が文字列中に何回出現するかを求めて返す

というのがわからない

#include <stdio.h>

char CountChar(char ss[], char dt[] );

int main(void);
{
char c[100]:

int n;

scanf("%lf", c);

scanf("%ld", n);

CountChar();

return 0;
}

char CountChar(char ss[], char dt[] )
{
int a;



}

609 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 18:10:52.85 ID:3xe091DX.net]
>598
char 配列に実数データを格納して文字列と言い張る理由がわからない

610 名前:デフォルトの名無しさん mailto:sage [2015/07/05(日) 13:35:33.26 ID:TrBrpITS.net]
>>586
お付き合いした者です、刺激を沢山ありがとうございます
当初、作業領域なし/インプレイスで出来るんじゃないかと期待してたんですが、
いろいろ場合に当たった結果、やっぱり、当初与えられたデータ数程度の作業領域は必要なようですね
データ配列の「一個分位置ずらし」をコストとしてカウントしなければインプレイスにできるんですけども、
これは認めてもらえないだろうな‥

これはすごいっていうアルゴリズム‥たぶんいろいろあったんだとは思うけれども
感動する前にめんどくさいな、とか思ってしまっていたのでよくわかんない

とりあえず専用ブラウザから投稿させてほしい

611 名前:デフォルトの名無しさん [2015/07/06(月) 04:50:17.31 ID:r+1ftyuS.net]
ttp://www.nurs.or.jp/~sug/soft/tora/tora5.htm
最後の問題がさっぱりわからないです...

612 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 07:43:11.38 ID:UtQpsrfy.net]
そうですか。

613 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 04:41:15.27 ID:QhcZ6j1E.net]
QZには無理だから諦めろ才能ない無職

614 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 15:25:58.45 ID:uc2UtN37.net]
>>601
こういうことかな?
codepad.org/bE5S9dWG

ただし、手元の環境で実行すると、

int:0 float:0.000000 hex:0
int:1318926965 float:1318926976.000000 hex:4e9d3a75

となって、0x4e9d3a74→0x4e9d3a75で、floatがintを追い越すから、
intとfloatで同じビットパターンが同じ値を示すのは、0以外無いんだけど。
問題の解釈を間違えてるのかな?

615 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 21:16:09.81 ID:BL0LeVkm.net]
>>601

こんな感じかな
codepad.org/o1J0XqWR

int : 0, float : 0.000000, hex : 0
int : 1318926965, float : 1318926976.000000, hex : 4e9d3a75

616 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 21:35:40.91 ID:BL0LeVkm.net]
問題よく読んだらポインタの項だった。。。
課題1からの流れを汲み取ってあげるとこんな感じかな

float f = (float)i;
if (i == *((unsigned int *)&f)) {
printf("int : %d, float : %f, hex : %x¥n", i, (float)i, i);
}

617 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 22:32:58.19 ID:3oy//rai.net]
ホントに「intとfloatで同じビットパターンが同じ値を示す」数字って0以外にあるの?

ひょっとして、ビッグエンディアンなら0以外にもあるって事かしら?



618 名前:デフォルトの名無しさん [2015/07/07(火) 23:15:00.34 ID:QhcZ6j1E.net]
口調変えてもバレバレだろQZ
お前は低能なんだから低レベルの議論にするなよ永久無職

619 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:19:00.26 ID:BL0LeVkm.net]
エンディアン関係ないから

620 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:32:11.62 ID:3oy//rai.net]
そりゃそうだな、関係ないなw
じゃ、やっぱり問題の解釈が違うんかなぁ?

621 名前:デフォルトの名無しさん [2015/07/08(水) 00:36:50.13 ID:QLXOn1Rg.net]
QZには無理っていってんだろ

622 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 07:38:44.88 ID:IfW/Ay/U.net]
QZが何者か知らんが、お前が虐められて悔しいのは理解した。
いつまでも引きずってないで、前に進んだ方があなたのためですよ。
人生のリハビリだと思って頑張って下さいね。
ではでは。

623 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 08:44:03.79 ID:xRK5vE6u.net]
まじで、ネタで言ってたとしても「QZガ〜」は何の面白みもないからやめて欲しい。
ってか荒しだよね、スレから消えて欲しいいや板から消えて欲しい。

624 名前:デフォルトの名無しさん [2015/07/08(水) 10:36:42.18 ID:O7aPWqfj.net]
そういえばQZと片山のIDが同一だった発言を見た記憶がある

625 名前:デフォルトの名無しさん [2015/07/08(水) 10:47:21.02 ID:O7aPWqfj.net]
>509 :テスト ◆QZaw55cn4c :2015/04/29(水) 14:59:08.26 ID:z7uliay9
> テスト
>
>510 :片山博文MZ ◆T6xkBnTXz7B0 :2015/04/29(水) 15:28:32.77 ID:z7uliay9
> >>507 うまく修正できたよ。

これだったな

626 名前:デフォルトの名無しさん [2015/07/08(水) 13:36:33.08 ID:SQs9ZFsr.net]
そうなの?

627 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/08(水) 13:38:13.02 ID:73Ug3Wex.net]
Qzのトリップはバレてるからな



628 名前:テスト ◆QZaw55cn4c [2015/07/08(水) 13:39:14.38 ID:SQs9ZFsr.net]
テスト

629 名前:デフォルトの名無しさん [2015/07/08(水) 14:56:17.56 ID:O7aPWqfj.net]
いや、第三者が証明しないと意味ないから

630 名前:デフォルトの名無しさん [2015/07/08(水) 14:58:18.09 ID:O7aPWqfj.net]
せっかくだからQZのトリップを公開してもらおうか
バレてるのなら今更だろ?

#自爆乙

631 名前:デフォルトの名無しさん [2015/07/08(水) 15:06:04.19 ID:O7aPWqfj.net]
片山ってもしかしてバカなのか?

632 名前:デフォルトの名無しさん [2015/07/08(水) 15:21:02.25 ID:O7aPWqfj.net]
IDの自演も無しにしてほしいな

633 名前: ◆96Z1eVei2s mailto:sage [2015/07/08(水) 16:10:47.83 ID:PQcxNWhR.net]
すぐバレる嘘つきやがって全く

634 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/08(水) 17:43:38.36 ID:73Ug3Wex.net]
2ちゃんねるのトリップ漏洩事件によってQZのトリップは漏れてる。個人情報保護法があるから、詳しくは言えないが

635 名前:デフォルトの名無しさん [2015/07/08(水) 18:04:11.30 ID:gNgHjUOK.net]
つまり君は漏洩した情報を入手してそれを利用したというわけだね。
その時点で個人情報保護法に抵触しているよ。

漏洩した情報にはクレジットカードの番号も含まれているわけだが。
通報しますか?しませんか?

636 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:28:23.70 ID:gNgHjUOK.net]
::::::::::/           ヽ::::::::::::
:::::::::::|  ば  じ  き  i::::::::::::
:::::::::::.ゝ か   つ   み  ノ:::::::::::
:::::::::::/  だ  に  は イ:::::::::::::
:::::  |  な。       ゙i  ::::::
   \_         ,,-'
――--、..,ヽ__  _,,-''
:::::::,-‐、,‐、ヽ. )ノ      _,,...-
:::::_|/ 。|。ヽ|-i、      ∠_:::::::::
/. ` ' ● ' ニ 、     ,-、ヽ|:::::::::
ニ __l___ノ     |・ | |, -、::
/ ̄ _  | i     ゚r ー'  6 |::
|( ̄`'  )/ / ,..    i     '-
`ー---―' / '(__ )   ヽ 、
====( i)==::::/      ,/ニニニ
:/     ヽ:::i       /;;;;;;;;;;;;;;;;

637 名前:(株)今北産業 mailto:sage [2015/07/08(水) 18:58:50.66 ID:e1WcPcpR.net]
自分の犯罪を白状するスレはここですか?



638 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 19:21:27.57 ID:Y4/HOrqp.net]
ワロい過ぎた

639 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 20:10:15.83 ID:PAkk6Hqa.net]
すみません僕は2ch初心者なんですがQZって誰ですか?有名な人なんですか?

640 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/08(水) 20:22:50.07 ID:73Ug3Wex.net]
>>629
QZは、C/C++の宿題スレに生息している。

641 名前: ◆QZaw55cn4c mailto:sage [2015/07/08(水) 21:20:35.04 ID:dH1o5zRy.net]
>>630
最近はみかけないね‥

642 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 21:36:28.98 ID:43f6DXxl.net]
プログラム板にこの人ありって位、有名で有能なプログラマだよ。
覚えておいて損はない。

643 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 22:34:01.71 ID:P3MgPigD.net]
じっくりコードを読む事ができるが理解が遅いプログラマと
すばやくコードを読むことができるが間違いが多いプログラマなら

どっちが欲しいですか?リーダーとして

644 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 22:42:36.39 ID:m5k9DQUy.net]
有能ではないけど有名だな
プログラムの最後に /* end */ と付けるのが好きみたいだし
必要のない場所にすら二分木使ったり

645 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 22:43:52.91 ID:m5k9DQUy.net]
あ、そうだ、QZに課題出しといてやるよ
二分木探索は再帰を使わない非再帰に書き換える事が出来る
そうする事によって高速化やスタックオーバーフローを防止できる
これやってみ

646 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 22:57:48.60 ID:tSvJTLLc.net]
>>633
マ板池

647 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 23:28:30.75 ID:H34fJNZm.net]
>>633
後者のそれ読めてないじゃないですか



648 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 00:55:05.63 ID:J7b7Mxuc.net]
>>635
peace.2ch.net/test/read.cgi/tech/1313183984/793

649 名前:デフォルトの名無しさん [2015/07/09(木) 01:44:10.39 ID:1/aylVmX.net]
QZ怒りの自スレ紹介

650 名前:デフォルトの名無しさん [2015/07/09(木) 01:45:03.59 ID:1/aylVmX.net]
ほんと自演魔だなQZ
煽りまで自演かよ

651 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 18:53:17.69 ID:mde2xpnr.net]
思ったんですけどchar文字なんてあるんでしょうか?
intの-127〜127を割り当てればいいだけでは?
わざわざchar型を実装する意味がイマイチ分かりません。

652 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 18:55:57.53 ID:Elm3Zapl.net]
>>641
昔は今みたいに膨大な主記憶装置は無かったからね

653 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 19:00:26.47 ID:mde2xpnr.net]
>>642
??どういうことですか?

654 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 19:01:52.09 ID:mde2xpnr.net]
後疑問ですが
strcpy関数とかって返り値が0じゃないときは0以外の数ってなるじゃないですか?
何でずばり1って断定しないんですかねぇ…全然わかりません。
何で0のときは0(一致しないとき)、一致するときは0以外って曖昧だと思いません?

655 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 19:03:48.96 ID:wx8JTHvZ.net]
1と比較するアフォを排除する為

656 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 19:09:24.05 ID:mde2xpnr.net]
そもそも実装はどうなってるのって話ですよ
単純にreturn 1;って書けばいいのに
曖昧にするってことは

return rand()/%00;
みたいな感じなんですかね?

657 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 19:11:14.26 ID:B2+ONIF1.net]
charって文字コードの型ってよりは、最小単位のバイト数である、が重要だと思ってるんだけど違う?
大量のデータをとりあえずchar型の配列とかポインタで格納し、unsigned charでキャストして、unsigned charひとつ分のバイトデータに分割し、加工してまたくっつけるてlong型返すとか。



658 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 19:12:04.13 ID:80WFJcEW.net]
strcpyは第1引数返すだけだろ?
strcmpの事言ってるなら高速化のために単純に文字コードの引き算の結果返す実装があるから

659 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 19:12:44.32 ID:ntINu6aK.net]
>>644
思わない。0と比較すればいいだけ

660 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 19:15:24.14 ID:ntINu6aK.net]
>>647
charは文字のための型。最小かどうかは重要じゃない

661 名前:647 mailto:sage [2015/07/09(木) 19:19:34.86 ID:b3vJbeQ5.net]
>>650
でもこう書いてあるよ?
q.hatena.ne.jp/1381762366

662 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 19:19:52.03 ID:OqiP450p.net]
漢字は入らないでしょ

663 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 20:01:31.51 ID:yvZx6GXv.net]
メモリは沢山あるんだからcharなんか使わなくてint使えば良いだろ。俺は滅多にcharは使わない。

664 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 20:03:16.30 ID:mVlTl5rr.net]
>643
・バイトという単位があって、それに合った型がchar型。
・C言語はアセンブラと相性がいい言語。アセンブラで出来ることがC言語でも出来た方が都合がいいと判断した結果。
・C言語が出来た時代は搭載メモリが1Mも無いハードが主流の時代。1バイトでも使用容量を減らすのが当たり前の時代。
・専門家が必要と判断した結果。お前みたいなヒヨッコには経験不足で理解できないだけだ。黙っとけ。

665 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 20:23:52.40 ID:QKowWqJV.net]
アセンブラと相性がいいのはJavaでは?
だってjavaはメモリ操作関数Cより多いじゃん

666 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 20:27:10.54 ID:ditZL0Yg.net]
C言語出来たときにJavaが存在してたと?
C言語の他にアセンブラと相性のいい言語があったら、他に相性がいい言語は存在しちゃいけないの?

667 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 20:34:37.12 ID:Mmd8OX6L.net]
JavaはJava仮想マシン上で動くことが前提の言語。



668 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 20:55:12.40 ID:QKowWqJV.net]
C言語のコンパイラをjavaで作った場合、C言語もJVMで動くってことになるんですか?
そこらへん分かってません。
コンパイラって結局なんですか?

669 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 20:57:31.74 ID:nD2SHEs8.net]
「C言語の仕様はxxxと成ってますがxxxxの方がいいと思います。
なぜそのようになっていないのですか?」

・2chユーザーに聞くな!仕様決めたやつに聞け!
・理由が全く思いつかない?それはお前の経験不足のせいだ。もっと他人のソース読んだり、他の言語も勉強しろ!!ついでに国語を小学校からやりなおせ!
・面倒?そう思うやつはプログラマー向いてないから止めちまえ!!

670 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 20:58:56.44 ID:QKowWqJV.net]
コンパイラの意味が分からないです
だってコンパイラだって何らかの言語で作られてるわけでしょ
Cだからアセンブラと相性がいいっていうのは何故?

671 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:00:57.85 ID:deXGtrLg.net]
そもそもアセンブラが何かわかってなさげ

672 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:03:38.82 ID:i/qBMKbM.net]
>658
とりあえずコレ読んどけ
ttps://ja.wikipedia.org/wiki/コンパイラ

>C言語のコンパイラをjavaで作った場合、C言語もJVMで動くってことになるんですか?
そのコンパイラがJVMで動くコードを吐くように作られてるならそうなる。
Windows用コードを吐くように作られてるならJVMでは動かない。そういうのをクロスコンパイラという。

673 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:15:06.10 ID:QKowWqJV.net]
>>661
アセンブラは
INDEX
MAX
MIN
MOVEF
とかでしょ?分かってますよ


で疑問なのがCのコンパイラ作れ作れみたいな本って
全部CでCのコンパイラ作ってるんですよね?意味なくないですか?w
何でCのコンパイラを作らないとダメなのにCを介しているんだと…
遅くなるじゃないですか…

アセンブラで作るからCは高速なんだからアセンブラでコンパイラ作るべき
だと思うんですが、それは企業秘密なんですかね

674 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:16:48.88 ID:QKowWqJV.net]
後思うんですけ

675 名前:どjavaって遅い遅いって言われてるじゃないですか?
ならCをjava化すればいいだけでは?

java=遅いけど機能豊富
C=早いけど機能が単細胞アメーバ

なら単にCでjavaの機能実装すればいいだけでは?
単純にそう思います
[]
[ここ壊れてます]

676 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:21:43.77 ID:L3wwq7kt.net]
>>655
>アセンブラと相性がいいのはJavaでは?
下に根拠らしきものが書いてあるが、こういう知識が
どうして訂正もされずに頭の中にあるのか不思議。

677 名前:デフォルトの名無しさん [2015/07/09(木) 21:22:38.79 ID:JgLS8zBl.net]
>>664
お前が作ってくれ。
知らないが、LLVMアセンブラと、javaのアセンブラ相当の部分の橋渡しを作ったらいいのでは。



678 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:25:00.03 ID:OqiP450p.net]
Javaがネイティブに動くcpuを作れば良いのでは

679 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:25:39.32 ID:QKowWqJV.net]
もっと思うんだけど
プログラミング言語が一番高速なのはアセンブラでしょ?
ならアセンブラで開発すればいいと思います
アセンブラにもクラスみたいな機能あったはず

なのに何で組み込み系ってC言語なんですか?

組み込みってリアルタイムシステムじゃないですか?
なら

中途半端に早いC言語より超高速のアセンブラで作ればいいのではないかと
単純にそう思うんですがね

680 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:26:13.44 ID:deXGtrLg.net]
>>663
それはニーモニック

CコンパイラをC言語で書くのは
拡張性やメンテナンスをしやすくするためで意味がある

681 名前:デフォルトの名無しさん [2015/07/09(木) 21:26:33.56 ID:JgLS8zBl.net]
Javaバイトコード - Wikipedia
Javaバイトコードは、Java仮想マシンが実行する命令形式である。
命令
各バイトは潜在的な256個の値を持つが、256個の使用可能なオペコードを持つ。これらのうち、0x00から0xca、0xfe、そして0xffは割り当てられた値である。

命令は幅広い数に分類される:
?ロードおよびストア(例 aload_0,istore)
?算術および論理(例 ladd,fcmpl)
?型変換(例 i2b,d2i)
?オブジェクト作成および操作(new,putfield)
?オペランドスタック管理(例 swap,dup2)
?移動管理(例 ifeq,goto)
?メソッド呼び出しおよび復帰(例 invokespecial,areturn)




LLVM - Wikipedia
LLVM は、JavaとJava VMの関係のように、まず仮想機械をターゲットとした中間コード(ビットコード)を生成し、その仮想機械向けコードを特定のマシンの機械語に変換する。
この時言語やプラットフォームとは独立した最適化を行う。この方法によってLLVM は言語からもアーキテクチャからも独立しており、それぞれに特化した、
プログラミング言語固有のモジュールと、マシン向けコード生成部を用意することにより様々な言語アーキテクチャーに対応する。

682 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:32:17.80 ID:VxETAF0f.net]
>>668
アセンブラでクラスとかお前は一体何を言ってるんだ?

683 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:40:38.93 ID:ZBdPMQSU.net]
>>671
おい釣られるなよ

684 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:50:46.43 ID:QKowWqJV.net]
javaの参照もメモリを制御してるのに
何でCは早くて、javaは遅いの?

685 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:54:23.72 ID:syH16MxP.net]
それを説明するにはID:QKowWqJVの知識が低すぎるし、
その知識にあわせて説明すると解説本1冊作れるぐらいの情報が必要。

つまりそういう本を帰ってことだ。
とりあえずこれ読んでこい。

https://eb.store.nikkei.com/asp/ShowItemDetailStart.do?itemId=D2-00P83150B0
プログラムはなぜ動くのか

686 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 21:59:02.87 ID:QKowWqJV.net]
>>674
分厚いなぁww
何故動くかくらいは分かりますよ
機械語の組み合わせを一つの文字にまとめる
まとめたのをまとめる、結局それの繰り返しでしょ?

687 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:05:39.24 ID:AjjL7yX9.net]
>675
全くダメ!そんなイメージだからみんなの説明が全く理解できないんだよ。
読めと言ったらとにかく読め!それが出来ないなら来るな!



688 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:09:22.41 ID:QKowWqJV.net]
>>676
書店で読んでみますわ

689 名前:デフォルトの名無しさん [2015/07/09(木) 22:13:00.09 ID:JgLS8zBl.net]
CやJavaが言語として速度が遅いという根拠はない。
最適化と動作環境がマトモならアセンブラと並ぶ。

690 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:15:31.80 ID:OqiP450p.net]
メモリ使用量くらいかな、違うのは

691 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:15:41.15 ID:QRivXUtQ.net]
× 機械語の組み合わせを一つの文字にまとめる
根本的に間違ってる。どこをどう間違ってるか説明不能なぐらい間違ってる。

692 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:16:29.17 ID:QRivXUtQ.net]
>677
書店に迷惑だ!買うか図書館行け!

693 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:27:36.35 ID:G8eHbxF5.net]
またADHDの人が暴れてるのか。。。

694 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:33:51.62 ID:Elm3Zapl.net]
>>680
あながち間違いではないのでは?
視覚的に分かりやすいように機械語の命令

695 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:35:19.65 ID:Elm3Zapl.net]
>>680
あながち間違いではないのでは?
視覚的に分かりやすいように機械語の命令セットを割当いるのだし

696 名前:デフォルトの名無しさん [2015/07/09(木) 22:37:43.13 ID:1/aylVmX.net]
平日昼間から自演とは笑わせる

697 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:52:22.30 ID:B2+ONIF1.net]
はぁ、でたよ
あなたこそ、荒らすだけで何にも有益な情報だしませんよね。消えてください



698 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 22:53:13.19 ID:QRivXUtQ.net]
あいつはあいまいな部分を自分に都合のいいように超拡大解釈させるから
例外排除、厳密主義で説明しないとむちゃくちゃなことになる。

699 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 01:03:59.34 ID:6ULcnTjH.net]
あいつは何も創り出さないから、
パクリ屋の片山の方が少しだけマシ

しかし、あいつら重箱の隅をつついたり残飯あさりみたいなことして楽しいのかね?

700 名前:デフォルトの名無しさん [2015/07/10(金) 01:27:13.99 ID:9OV4RYzP.net]
QZ怒りの煽ってフルボッコにされるの巻き

701 名前:デフォルトの名無しさん [2015/07/10(金) 01:46:59.57 ID:BbUNOMqp.net]
ID出るようになってから本当にまともな情報出てこなくなったな。
にわかや間違った知識の初心者がただ暴れるだけのスレになってしまった。
まともな情報を提供できる人が減り、まともな情報を得られる人が減り、負のスパイラル。

このスレの存在価値って暇なときにそういう奴らをヲチれるってだけでしょ。

702 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 02:23:27.56 ID:WL3Gd+eK.net]
>>690
ID は関係ない,むしろ有益
どちらかというと専用ブラウザを排除したことの罪が重い

703 名前:デフォルトの名無しさん [2015/07/10(金) 02:30:20.46 ID:9OV4RYzP.net]
さすが公開オナニーを正当化したいQZのいうことは違う

704 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 05:31:28.35 ID:Jvm9pak2.net]
>>673
これはガベージコレクションが関係してるからじゃないんですか?
C系はRAII等でプログラマがメモリを自由に管理できるし、それも早さに繋がっているのでは?

705 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 06:35:18.95 ID:XAIUcdu4.net]
>>641
大昔は、文字コードは8bitしか無かった。
最近出来の言語ではcharは文字用になって、多バイト文字も扱える物も有る。(新たに byte型が出来てる)

706 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 07:46:38.37 ID:+KcTu61v.net]
C言語が速い(と思われる)のは引数の安全確認を省かれてる関数が多いから。
また、型が違う時のキャストも最小限にしかしないから。

707 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 07:55:52.36 ID:bM2M5Hwn.net]
クラッシュした時にデフォルトで呼び出しダンプが吐かれるのを見て
何でこんな無駄なことやってるんだ!? と呆れるのがCグラマ



708 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 12:54:35.54 ID:xr+IAg9x.net]
ある程度以上複雑な処理を、特定のCPUに特化したオプティマイザを持った
Cコンパイラが吐くようなコードをアセンブリ言語で書くなんて無理ゲーだろ。

もちろん諸般の事情で、どうしてもこの命令を使いたいなんてときには
書くこともあるがな。

709 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 13:10:49.66 ID:yh0xw8Sd.net]
Cより遅くなる要因はランタイムの有無だろ。

710 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 13:37:30.71 ID:bM2M5Hwn.net]
配列や構造体をスタックに置かない
例外やトレース情報など関数呼び出し時の無駄な処理
ライブラリの隅々にまで及ぶ徹底したオーバーヘッド撲滅の不足
みんな大好きガベージコレクション

711 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 13:41:38.65 ID:+KcTu61v.net]
ペンティアム1ぐらいの時代まではアセンブラ=>C言語だった。

712 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 14:20:51.40 ID:uxjenI25.net]
>>700
今でもアセンブラ 〉 C言語
これからもずっとアセンブラ 〉 C言語

713 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 18:41:42.06 ID:M5h7ZwqO.net]
初心者です。どなたか助けて下さい。
マイコンのROMに書き込むプログラムについてです。

ソースファイルをビルドして書き込み形式ファイルに変換したときに、
ROM上の所望のアドレスに所望の値(ビットパターン)が書き込まれるように
ソースコードで制御することはできるのでしょうか?
ポインタ(?)を使えばできるのでしょうか?

714 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 18:48:03.90 ID:ZMvCzyvK.net]
ROMライター側で (通信で)渡ってきたビットパターンを 特定のアドレスに書き込む
んだけど、なんか別の方法もあったようななkったような 忘れた

少なくとも
ROM上のプログラムが ROM上の記憶領域に対して書き込み方向のアクセスしても、書けないぞ

715 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 19:00:18.44 ID:Z2TbeI0I.net]
>>702
答えになっているか分からないが
参考になるかな
www.ertl.jp/~takayuki/readings/c/no09.html

716 名前:デフォルトの名無しさん [2015/07/10(金) 19:59:07.41 ID:9OV4RYzP.net]
初心者ながらQZの自虐無知識自慢とか意味不すぎる

717 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 20:09:33.91 ID:6ULcnTjH.net]
>>704
ていうか、その前の開発ターゲットと開発環境を質問すべきだろ
シッタカが過ぎて墓穴掘ってんじゃねーぞ



718 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 20:34:42.91 ID:86aMQ0Tc.net]
そんなの開発環境とか関係ない。
普通のROMライタならモトローラSフォーマットかインテルHEXフォーマットで書ける。
そんなのうけつけ無い、手作りのROMライタつかってるなら、こんな所に質問にこない。

719 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 21:14:28.60 ID:cETlnxs2.net]
>>680
どう間違ってるんですか?

ビット操作を文字列で置き換えたのがプログラミング言語なだけでは?

ビット操作をアセンブラにまとめて
アセンブラを言語でまとめる

それだけでは?

720 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/10(金) 21:17:42.37 ID:DCa/3nZ3.net]
>>708
条件分岐などの制御構造を持たないと、プログラム言語とは言えない

721 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 21:19:49.53 ID:9IScuLdJ.net]
アホがソースコードで制御って質問してるだろーが
ちゃんと質問読めよシッタカめ

722 名前:710 mailto:sage [2015/07/10(金) 21:21:39.03 ID:9IScuLdJ.net]
>>707

723 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 21:34:16.91 ID:BKxBIosQ.net]
>>708
マイコンキット買ってきて、機械語プログラムを体験してみたら?

724 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 21:47:49.28 ID:bM62bRJM.net]
>>702
環境が分からないから概要だけかいつまむと…

所望のアドレスでsectionを作る。
そのsectionにマッピングするように指定したコンストのグローバル変数を定義して、初期値に所望のビットパターンをセットする。
コンパイルする。
焼く。
以上。

725 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 21:54:23.17 ID:mihfK1KR.net]
>>694
> 大昔は、文字コードは8bitしか無かった。

大昔なら 7bit だろ
通信とかだと大文字限定にして 6bit もなかったっけ?

> 最近出来の言語ではcharは文字用になって、多バイト文字も扱える物も有る。(新たに byte型が出来てる)

Byte 型なんて VB6 の時代からあるし、Pascal で 0..255 範囲型定義すればバイトを扱えたと思う(こっちは処理系によるかも、もう記憶が曖昧)

726 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 21:55:41.81 ID:zONaO8sT.net]
>708 電子回路理論は別の板です。ここではありません。

727 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 22:09:15.13 ID:Q4vtffLq.net]
もしかしてコイツCPUかパソコン内にC言語ソースを解読する回路を持っていると思っているのではないかと本気で危惧。



728 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 22:35:53.64 ID:V5qL2Bce.net]
そういやぁ昔モニタにもPC同様のOSが入っててPCからモニタを制御して映像を出してると思ってたやつがいたな。
同一人物か?

729 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 23:08:56.72 ID:4ayEXXFA.net]
説明省いた所に勘違いの根源がありそうだけど…そこまで矯正してやる理由も利点も無いよなぁ。

730 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 23:23:33.71 ID:p4eBJ6uf.net]
>>702
できるよ
組み込みのファームアップで良くやるし

731 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 23:39:11.26 ID:ykzgorl/.net]
環境によってはこんなのもあったり、リンカスクリプト自分で書くとか
infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491bj/BABGJHDC.html

732 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 00:09:42.18 ID:yb9b9uYv.net]
一方私はhexファイルを加工するスクリプトを作った。

733 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 12:59:55.02 ID:2/75tmG3.net]
>>643
昔のPCはメインメモリ16Kとかでメモリ制限多かったのと
当時8bitCPUのレジスタサイズと相性良い

今残ってるのはファーム系や通信系、その他互換性かな
まだまだ使われてるとこが多い

734 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 14:11:53.54 ID:EetLUFfU.net]
8bitハードでC言語はやりたくないなぁ・・・。オールアセンブラが王道。

735 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 16:27:10.55 ID:JsXMIkKG.net]
うちは8bitのpicでもcで書いてるけどね。

736 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 20:15:30.31 ID:N+MxSKL/.net]
グズで役立たず程ネガティブ発言が多い

737 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 21:44:07.25 ID:s2rxtCK9.net]
皆さんは標準ライブラリは覚えておく派?
それとも必要に応じて引用する派?



738 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 21:55:07.98 ID:pd57RWsF.net]
必要に応じて調べている内に覚えちゃう派

739 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 14:27:14.74 ID:o+m4gL9U.net]
ラッパー化して自分専用ライブラリに。

740 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 15:30:24.74 ID:NWI6O2xz.net]
このスレでman見ろ言われてからman見る派

741 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 15:49:19.24 ID:BKAToTl0.net]
manって女性差別だろ。
呼び方変えるベキ

742 名前:テスト ◆QZaw55cn4c [2015/07/12(日) 16:04:50.67 ID:MzVYHQ6B.net]
manがだめなら、chinがあるさ

743 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 16:19:47.96 ID:NWI6O2xz.net]
ねーよ

744 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 19:37:07.12 ID:/ikWn7Z2.net]
man

745 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 19:37:41.14 ID:/ikWn7Z2.net]
コマンド

746 名前: ◆QZaw55cn4c mailto:sage [2015/07/12(日) 20:25:06.10 ID:fGWqKhxR.net]
>>731
おもしろいと思ったのか?厨には早いから初心者スレにでも

747 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 17:33:39.59 ID:wlq5ajTC.net]
>>703,704,713,719

レス本当にありがとうございます。

ご教示頂いた情報とリンクから、おそらくリンカスクリプトのSECTIONブロックに
.rodataのLMAを指定するのではないかなと理解しました。
まだ、具体的なところが分からないのですが、例えば、ROMの0xABCDEEと0xABCDEFに、
それぞれ11111111と00000000を書き込みたい場合、.rodataのLMAの指定方法(AT属性?)と、
LMA以降のアドレスにおける定数値とのマッピングはどのように指定すれば良いのでしょうか?

>そのsectionにマッピングするように指定したコンストのグローバル変数を定義して

と、思ったのですが、そもそも.rodataではなくて、個々のグローバル変数のLMAを
SECTIONブロックで定義できるのでしょうか?



748 名前:デフォルトの名無しさん [2015/07/13(月) 22:35:42.72 ID:2DWcmP+D.net]
QZF欄時代の糞課題
i.imgur.com/hbOo1dK.jpg?1
i.imgur.com/bCG68SN.jpg?1
i.imgur.com/zf9wrJ5.jpg?1
i.imgur.com/ZGD61Ml.jpg?1
i.imgur.com/Keoih8o.jpg?1
i.imgur.com/KDVwkUn.jpg
i.imgur.com/GsOscHJ.jpg
i.imgur.com/hMCBnbN.jpg

749 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 21:43:26.21 ID:YTQkbKn/.net]
こんな感じじゃダメ?
. = 0x01ABCDEE;
.MySct1 : { BYTE(0xFF);BYTE(0x00); }

750 名前:デフォルトの名無しさん [2015/07/14(火) 22:36:42.79 ID:rB0J2LcB.net]
QZは出入り禁止

751 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 02:52:47.11 ID:4s2DsMfA.net]
初歩的な質問させてください
同じ構造体の中のメンバーの値を比較して最大値を返すプログラムを作りたく、

max=data[0].a
for(i=1;i<=n;++i){
if(max<data[i].a)
max=data[i].a
}

と書きました
本来ならiが2の時の値が最大値になるのですが、nの値が出てしまいます

プログラムの間違いや構造体の比較の上で何か注意があれば教えてくださいm(_ _)m

752 名前:デフォルトの名無しさん [2015/07/15(水) 03:09:21.85 ID:rDPbITG6.net]
n個しかないのにn+1個目を呼んでるとか

753 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 10:37:53.35 ID:D5SeDEqJ.net]
>>738
ありがとうございます!ありがとうございます!

まだ思うように動かないのですが、
教えて頂いたコードはリンカスクリプトのどの部分(.rodata?)に書けば良いのでしょうか?
それと>>713さんからsectionにグローバル定数をからめられることを教えて頂いたのですが、
「BYTE(0xFF);BYTE(0x00)」の指定をグローバル定数で指定することはできるのでしょうか?

754 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 12:13:31.73 ID:4Gs4+rfn.net]
>>740
1) 「同じ構造多の中の」を比較するのに構造体自体が配列になっててそれを比較してるのはいいの?
2) data の配列はきちんと初期化してる?
3) max と data:a の型はなに?  signed だったりしない?
4) for ループの n はどっから出てきたの?

755 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 12:22:13.28 ID:nYMDh+es.net]
配列は 宣言が type array[個数] で
array[0] 〜 array[個数-1] までしか使えない

756 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 12:29:03.53 ID:cCeHMBdr.net]
max=0;
for(i=0;i<n;++i){
if(max<data[i].a)
max=data[i].a;
}
普通こう書くな

757 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 12:44:08.91 ID:AuuzzMz2.net]
>>745
新人に書かせると、毎年結構な割合でそう書くんだが、学校で教えてるのかねえ?



758 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 12:51:04.75 ID:2t4VwR8U.net]
>>745
値が全て負の時に結果が 0 になっちゃうからダメ

759 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 13:27:43.35 ID:s74LivYF.net]
アンパサンド使えばいいじゃない!

760 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 13:46:16.64 ID:cCeHMBdr.net]
>>747
負数は条件に入ってないでしょ
そう書いてあったらlimit.hから持ってくるだけだ

761 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 13:46:50.73 ID:cCeHMBdr.net]
問題はそこじゃなくて添字の使い方

762 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 13:48:35.13 ID:j8XNr1jp.net]
初期値を[0]から持ってくるのも、0件の時使えないしな。

763 名前:デフォルトの名無しさん [2015/07/15(水) 18:11:26.12 ID:m0HrC+H+.net]
>>740
その構造体の型とデータを、ここに貼ってみて欲しい。
本当に、i=2が最大なのか?

764 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 18:50:46.02 ID:fokCzg42.net]
・data[n]の初期化忘れ。
・for(i=1;i<=n;++i){ が for(i=1;i<n;++i){ の間違い。
・dataに予定と違うデータが入っている。

さぁどれだ?

765 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 19:20:52.98 ID:ekVQGYCu.net]
>>749
え、条件に入ってないの?

766 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 20:44:13.64 ID:uItIfLXq.net]
>>742
リンカスクリプトって環境によってかなり違うからどこに書くかといわれても。
SECTIONS { }
の中のどこかとしか。
俺はMinGWでld -verboseでスクリプト吐いて、
SECTIONS { }の一番下に
. = 0x01ABCDEE;
.MySct1 : { BYTE(0xFF);BYTE(0x00); LONG(0xAA55CC33); }
↑こう書いて、gcc -T hoge.x foo.cでコンパイルリンクして、
当然実行できないから
objcopy -F ihex a.exe a.ihex
↑した後にa.ihex見たらそれっぽくできてたんで>>738と書いただけ。
後、↓見たいに一行で書かないとエラーになるリンカが昔あった。
.MySct1 0x01ABCDEE : { BYTE(0xFF);BYTE(0x00); LONG(0xAA55CC33); }

> ローバル定数で指定することはできるのでしょうか?
. = 0x01ABCDEE;
.MySct1 : { *(.MySct1) }
↑こう書いて、ソース中で↓こんな感じ。
char gHoge __attribute__ ((section (".MySct1")));

767 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 21:13:12.09 ID:2t4VwR8U.net]
>>749
> 負数は条件に入ってないでしょ
わざわざ元の奴より改悪してどうするよ w

>>751
n = 0 の時は最小値自体が存在しないからループにはいる前にテストすべき



768 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 22:49:11.41 ID:D5SeDEqJ.net]
>>755
レス本当にありがとうございます!!
ゴールに近づいてきた気がします!

頂いたレスのグローバル定数のところなのですが、
>. = 0x01ABCDEE;
>.MySct1 : { *(.MySct1) }
>↑こう書いて、ソース中で↓こんな感じ。
>char gHoge __attribute__ ((section (".MySct1")));

ソース中でconstで定義したMySct1を上(char〜)のように指定するということで合っていますでしょうか?
おそらくあまりの無知に驚かれていると思いますが何卒お導きをお願いします!

769 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 01:01:14.23 ID:RYdqwZWN.net]
>>757
const char gHoge[2] __attribute__ ((section (".MySct1"))) = {0xFF,0x00};
> ソース中でconstで定義したMySct1を上(char〜)のように指定するということで合っていますでしょうか?
ソース中でconstで定義したgHogeを.MySct1セクションに配置。

770 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 19:35:19.57 ID:/5WSEGYs.net]
>>758
できました!
758さんのおかげです!本当にありがとうございました!

771 名前:デフォルトの名無しさん [2015/07/17(金) 22:13:40.88 ID:oJCZp1Jy.net]
文字列をパターンと比較してテキスト文字からそのパターンを見つけるっていう
プログラムで

mがパターンの文字列で
T()がテキスト文字の配列
P()がパターン文字の配列

照合するためのループが
台形括弧 j>m or T(i+j-1)≠P(j)
     j=j+1

という事ですが、このループ条件って正しいでしょうか?
だってjがm以上になれば延々とループすることになりますよね

これ11年度のAP試験の問題ですが、解答見ても分かりません。
何で一致しない限りjを進めるんでしょうか?
一致しない時点でjではなくiを増やすのが普通だと思うのですが、どういう
勘違いをしてるのか自分でもわかりません。

772 名前:デフォルトの名無しさん [2015/07/17(金) 22:17:38.93 ID:oJCZp1Jy.net]
台形=C言語のfor文の()
っていう理解でいいでしょうか?

もう少しプログラムを丁寧に書きます。

i→1
穴埋め→last
0→found

始点移動ループ台形括弧内[found≠0 or i>last]
1→j

照合ループ台形括弧内[j>m or T(i+j-1)≠P(j)]
穴埋め
照合ループ台形括弧閉じる

穴埋め

この穴埋めが>なら1→found
この穴埋め≦ならi+1→i

始点移動ループかっこ閉じる

プログラム終了

773 名前:デフォルトの名無しさん [2015/07/17(金) 22:19:41.86 ID:oJCZp1Jy.net]
2番目の穴埋めでjをインクリメントしてるのです。
一致しないのにインクリメントって意味があるんでしょうか?
テキスト文字列のindexを進めるのだからiをインクリメントするのは
分かるのですが、一致しないことがわかって何故パターン文字列の
jをインクリメントするのか分かりません。まさか誤植じゃないですよね?
さすがに僕の勘違いだと思いますが、すっきりしないです。

Cのforとフローチャートのループは仕様が違うんですかね…

774 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:20:53.16 ID:hZkEqQnf.net]
すまんが C で書いてくれ

775 名前:d []
[ここ壊れてます]

776 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 22:22:25.76 ID:62hGZ/Zb.net]
>>761
はなはだしくスレ違い。

777 名前:デフォルトの名無しさん [2015/07/17(金) 22:41:36.43 ID:oJCZp1Jy.net]
>>763
たぶん
i=1
last=?1;
found=0;
for(found!=0 || i>?1)
j=1;
for(j>m || T(i+j-1)!=P(j))
{?2;}
?3;
if(?3)found=1;
else i=i+1;
}

です。
?2がj=j+1
ということですがこれが理解不能です。



778 名前:デフォルトの名無しさん [2015/07/17(金) 22:43:35.44 ID:oJCZp1Jy.net]
i=1
last=?1;
found=0;
for(found!=0 || i>?1)
{
j=1;
for(j>m || T(i+j-1)!=P(j))
{?2;}
?3;
if(?3)found=1;
else i=i+1;
}

こうですね、forの後の{忘れていましたので…

779 名前:デフォルトの名無しさん [2015/07/17(金) 22:45:08.30 ID:oJCZp1Jy.net]
jが一旦mを超えたら、永遠にループをしてしまうと思うのです。
自分の目がおかしいのかもしれませんが、何に躓いてるんでしょうか…
1日考えてここまで理解できないプログラムってそうないんですけどね

780 名前:デフォルトの名無しさん [2015/07/17(金) 22:52:35.42 ID:oJCZp1Jy.net]
?もちゃんと書きます、ごめんなさい。

i=1;
last=n-m+1;
found=0;
for(found!=0 || i>last)
{
j=1;
for(j>m || T(i+j-1)!=P(j))
{j=j+1;}
if(j>m)found=1;
else if(j≦m) i=i+1;
}

781 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 00:12:13.32 ID:4wSKeiNn.net]
問題は省略するな全部正確に書き写せ。
それが出来ないなら問題の写真をうpして質問しろ。

782 名前:デフォルトの名無しさん [2015/07/18(土) 00:19:26.90 ID:oprjiCWN.net]
>>769
一応全部ですが、フローチャート?ifをひし形みたいにする表記って何っていう
んでしょうか?まぁそれをCに変換したまでです。

783 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 00:35:08.49 ID:4wSKeiNn.net]
問題文を正しく書き写しているというのなら、問題がおかしい。
そもそも、n-m+1ってなに?
mがパターンの文字列なんでしょう?nからパターンの文字列を引いて1足すってどういうことだよ。

784 名前:デフォルトの名無しさん [2015/07/18(土) 01:24:25.18 ID:VyGMEck6.net]
>>768
まずは日本語から覚えよう

785 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 01:54:50.50 ID:Qj7RPCLj.net]
擬似言語わかってないだけでしょ

786 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 02:09:23.66 ID:zVnebLmb.net]
たぶんこう.
https://ideone.com/xSZoob

787 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 02:12:30.32 ID:zVnebLmb.net]
そして照合失敗時の判定し忘れたわ



788 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 02:29:45.91 ID:zVnebLmb.net]
ごめん,デバッグせずにおかしそうなとこだけ変えてコードはったわ.
ちゃんとデバッグしたやつ
https://ideone.com/cIsFa5

789 名前:デフォルトの名無しさん [2015/07/18(土) 08:25:27.89 ID:oprjiCWN.net]
>>771
疑似言語だと思います。配列が1始まりなんで
その関係でn-m+1っぽいそうです。

>>776
本当にありがとうございます。
未だに分かりません。何故一致しないのに、j++するんでしょうか…

790 名前:デフォルトの名無しさん [2015/07/18(土) 08:29:23.23 ID:oprjiCWN.net]
えええええ何で&&なんだ…
参考書の方は疑似言語だけどorになってました。
両方のループもorでした。疑似言語ってor=&&なんですか?

791 名前:デフォルトの名無しさん [2015/07/18(土) 08:48:06.38 ID:oprjiCWN.net]
i.imgur.com/BBHdpQN.jpg

これです。orになっています。

792 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 08:54:08.55 ID:5OYZKZ4e.net]
それループの脱出条件だろ

793 名前:デフォルトの名無しさん [2015/07/18(土) 09:01:16.48 ID:oprjiCWN.net]
>>780
Cとつまり逆ってことですか

794 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 09:16:32.55 ID:42lL/E8Y.net]
なぜiの方には疑問をいだかないのか

795 名前:デフォルトの名無しさん [2015/07/18(土) 09:23:58.90 ID:oprjiCWN.net]
これ流れ図ですか、流れ図には制御条件が、成立時条件なのか、不成立時条件なのか
明確な規定はないんですか?

796 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 09:32:28.07 ID:42lL/E8Y.net]
まずはググろうね
そもそもこういうのC言語に変換する必要ないし
スレチね、うん

797 名前:デフォルトの名無しさん [2015/07/18(土) 10:36:12.95 ID:9KsA62Ua.net]
条件式の中身を読み間違えてるんだね
j > mは 「jよりmが小さい時」じゃなくて「jがmより大きくなるまでの間」って事だね

≠ も同じで「等しくない時」じゃなくて「等しくなくなるまでの間」だね

or は && で間違いないよ うん



798 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 10:39:46.48 ID:9KsA62Ua.net]
本物のcはそんなのじゃないからややこしいよね

799 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 10:49:36.80 ID:9KsA62Ua.net]
違うね orは || 「または」だね
ごめん

800 名前:デフォルトの名無しさん [2015/07/18(土) 10:56:48.34 ID:oprjiCWN.net]
for(i=0; i<=10; i++)はiは10以下のとき処理

台形括弧内 A or Bは、AまたはBのときループを抜ける、言い換えれば、
AまたはBになったときループを抜けるですか…

書いてくれないとわかりませんよね…後味が凄い悪いです
すっきり感もないですし…

801 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 11:12:07.27 ID:5OYZKZ4e.net]
プログラムのコメントにいちいち言語仕様の解説を書けと?

802 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 11:41:12.21 ID:42lL/E8Y.net]
>>788
お前がCで置き換えて勝手に勘違いしただけでしょ

803 名前:デフォルトの名無しさん [2015/07/18(土) 12:10:59.83 ID:9KsA62Ua.net]
>>788
コードは776さんが書いてくれた奴で納得してくれないかな…
キミを混乱させたのはor…だよね
これ、条件さえ満たせばどっちでもいいんじないかな?
&&でも||でも…

ごめんね よく分かってないのに口挟んで

804 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 13:03:00.30 ID:ahU+/wSx.net]
>>760は、780が言うようにループ脱出条件をループ条件と勘違いしてただけだね
すぐ上に同じ記号の始点移動ループがあるのに、そっちは無視してたんかね

805 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 13:05:09.58 ID:nQU9MOUl.net]
歴代の困ったちゃんがもし同一人物だとしたらと考えたら…

806 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 13:16:03.17 ID:GGLH3rbf.net]
そいつさえ叩いてしまえばみんな幸せ

807 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 14:11:23.82 ID:1dCgaP/A.net]
他のスレにも>>788みたいなのいたが同じ奴か



808 名前:デフォルトの名無しさん [2015/07/18(土) 14:49:18.66 ID:oprjiCWN.net]
>>791
混乱させたのはorというより、orがあるために「この条件に至るまでは
脱出しない」ってのが読み取れなかったんですよ。

もし一つの条件だと、Cのforと仕様と違うじゃんって分かったんですけどね…

どちらか満たせばいいって事に関してはCと流れ図で変わらない、だってorは
そういう意味なんだから、ですけど、まぁそれにしてももう少し仕様くらい
描いてほしかったですね…
だって流れ図なんて規格ないじゃないですか…、うーん実際の試験では
書いてあったんですかねー、そこらへん分かりませんが、問題の
愚痴っぽくなってすいません

809 名前:デフォルトの名無しさん [2015/07/18(土) 14:50:48.31 ID:oprjiCWN.net]
>>789
試験ってそういうもんじゃないですか?
というかもしかしたら表紙に書いてあるかもしれませんね
FE受けたときは最初らへんのページに書いてありましたから

810 名前:デフォルトの名無しさん [2015/07/18(土) 14:51:50.75 ID:oprjiCWN.net]
>>791
いや脱出するための条件なら&&はダメかと…

811 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 14:53:45.90 ID:nQU9MOUl.net]
やっぱり同一人物だろこいつ。
「俺は理解してないけど間違ってない!!」ってところが毎回同じ。

812 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 14:56:38.69 ID:5OYZKZ4e.net]
情報処理試験受けたことがあるのに流れ図のJIS規格の存在知らんとか

813 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 19:06:36.82 ID:9ORWa3DX.net]
流れ図って大正だろ。昭和の頃には廃れてたぞ。

814 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 20:11:14.44 ID:kyfBrlqO.net]
>>801
お前、幾つだよ w

815 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 21:00:52.98 ID:t59zGKRm.net]
リレーとか真空管でロジック組んでた人かな?

816 名前:デフォルトの名無しさん [2015/07/18(土) 21:55:25.96 ID:SEYwYF1P.net]
日本の潜水艦はリレーやタイマーがむき出しでついてるよね。

あれは攻撃を受けたときに自力で修理して動き続ける決意の表れだと思います。
実際に乗らない上層部の決意!

817 名前:デフォルトの名無しさん [2015/07/18(土) 21:58:23.97 ID:SEYwYF1P.net]
日本同様潜水艦運用歴の長いドイツはグラスコクピットだけど、どっちが実戦で強いだろうか。



818 名前:デフォルトの名無しさん [2015/07/18(土) 22:00:06.32 ID:SEYwYF1P.net]
ちなみに電子化が進んでいるとはいえドイツも配管やバルブは剥き出しです。

819 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 22:01:53.95 ID:5OYZKZ4e.net]
リレーだったらラダー図だろう…

820 名前:デフォルトの名無しさん [2015/07/18(土) 22:14:10.73 ID:akb2I6pr.net]
windowsでstdoutで文字を表示するプログラムを作って
別のプログラムでコマンドライン引数を表示するプログラムを作ったんですが
パイプでつなぐことができません。
argcの数が1で自身のフルパスしか表示されません。
a1 | a2 ってコマンド打ちました。
a1文字表示プログラム
a2引数受け取って表示するプログラム
stdin,stdoutの考え方が間違ってる?

821 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/18(土) 22:17:47.69 ID:DL93D/kr.net]
>>808
コマンドライン引数と標準入出力は直接は関係ないよ

822 名前:デフォルトの名無しさん [2015/07/18(土) 22:29:39.72 ID:akb2I6pr.net]
>>809
windowsのコマンドのオプションはコマンドライン引数で受け取ってるっとおもってました。
関係ないものなんですね。スッキリしました。ありがとうございます。

823 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 22:46:09.77 ID:pJsO7K4C.net]
え?

824 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/18(土) 23:09:08.42 ID:DL93D/kr.net]
標準入出力は勝手に開かれ、勝手に閉じる。
リダイレクションによって標準入出力のターゲットが切り替わる。
コマンドライン引数のファイルを開くのがfopen,freopen。

825 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 23:11:38.06 ID:zUetklfC.net]
コマンドラインでのパイプってのは
プログラム a1 の標準出力(stdout) を
プログラム a2 の標準入力(stdin) に連結する操作

手入力するんじゃなく、「プログラムa1の出力結果」を入力にしちゃうわけ

826 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 23:16:07.64 ID:zUetklfC.net]
補足
パイプの動作は a1 の出力を a2 起動時の引数に並べるわけじゃないよ

827 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 23:21:54.07 ID:Oy2k4qUz.net]
本当は理解してて痛い質問者を装ってるようにしか見えんわ。



828 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 23:26:27.90 ID:oDsD2wef.net]
com1 | com2

Winは知らないけど、Linuxではパイプラインでつないだ、
コマンド1・2は別のプロセスで、
標準入出力を使って、データを受け渡しているだけ

PowerShellの関数なら、
関数名 param1 param2
のようにすれば引数となり、
シェル変数 $args[0] などで参照できる

$ary = ls -File c:\scripts\*.* -include *.txt,*.log

一方、コマンドではこのように、
特定のディレクトリ内のファイルで、特定の拡張子のもの、
のようにオプション指定をするので、引数は使わない

829 名前:デフォルトの名無しさん [2015/07/19(日) 00:12:11.51 ID:eFeTA1Y7.net]
id変わってると思いますが>>808です。
みなさん色々説明して下さってありがとうございます。
痛い質問者装ってるわけではありません。
本当に勉強中の者です。
>>814さんの補足のようにa1の出力をa2の引数にできると思ってました。
ここが根本の勘違いのようでした。
お騒がせしてすみません。

830 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 00:24:43.98 ID:5PwANh2+.net]
>>815
なにが楽しくてんなことやってんだろな
死ねばいいのに

831 名前:デフォルトの名無しさん [2015/07/19(日) 00:31:48.87 ID:5PwANh2+.net]
>>817
痛い質問者ってのは頭も性格も悪い
>>796のこと

832 名前:デフォルトの名無しさん [2015/07/19(日) 00:36:32.15 ID:eFeTA1Y7.net]
>>819
自分の質問の間に書かれてたので自分の事かと思いました。
わざわざありがとうございます。

833 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 16:54:58.11 ID:+63DwPcF.net]
C言語で配列は0から始まりますが、実際に扱うデータの番号は1からが多いので
そういう場合配列も1から始めたほうが良いんでしょうか?
ずれてしまうのはやはり厄介だと思います。それでも0から始めたほうがいいなら
そのメリットなど教えてください。

834 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 17:26:04.90 ID:egOXVksg.net]
言いたいことが分からん
a[0]を未使用のまま
1個分無駄にしてメモリ使用したいというのならそうすればいい

ただし変なおぼえ方をして「ボクはC言語使えます」とか言ってたら蹴飛ばされる
メリットがわからないなら「そもそもCを使うべきかどうか」から疑った方がいい

835 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 17:28:54.54 ID:egOXVksg.net]
おっと大事なことをいい忘れていた
Cの隠れた前提として

コンピュータに楽をさせるために人間様が苦労を厭わない

というのがある。イヤなら他を探すべき

836 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 20:19:42.77 ID:SgxJVovQ.net]
>>821
どうぞご自由に。
いずれ自分でわかるときがくると思う。

837 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 20:44:13.20 ID:wG1rbxp8.net]
データの番号(というのが何物かわからんが)と配列のインデックスは、同じ整数同士であっても
意味が違うんだということを明確にしていればどっちでもかまわんだろう。



838 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 21:17:13.15 ID:AxVShlkv.net]
CはOS(Unix)を書くために設計された言語なので、
データに(数学の慣例に従い)1で始まる序数を付けるという概念的な美しさよりも
アドレス+オフセットでデータをポイントする(もしくはアドレスそのもの=ポインタで直接ポイントする)
という計算機のアーキテクチャが透けて見えるメリットを優先したということだと思う

839 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 22:10:06.74 ID:gF+ri5Ym.net]
どうしても1から始めたい、無駄なコードやメモリは使いたくないのであれば
他の言語あたったほうがよろしいかと

840 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 01:47:44.97 ID:joK6s3J+.net]
自然数が0から始まらなかったら、集合論がやりにくいだろうが

841 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 03:22:51.94 ID:P/gUAIjL.net]
>>828
ちょっ集合論の公理から1+1=2を証明する人でつか

842 名前:デフォルトの名無しさん [2015/07/20(月) 03:26:56.43 ID:LmmOYuiW.net]
自然数は1から

843 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 04:30:37.33 ID:ERLwMp/J.net]
自然数を 0 からとする流儀もあるんだよ

844 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 06:11:54.78 ID:/eaXeO3L.net]
どう見ても釣りやろ...

845 名前:デフォルトの名無しさん [2015/07/20(月) 08:03:33.48 ID:DyR30667.net]
よんよんよよん。

846 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:56:33.69 ID:Vtqi9X2t.net]
ヨーロッパでは日本で2階と言ってる階を1階というらしい。

847 名前:デフォルトの名無しさん [2015/07/20(月) 20:28:02.59 ID:C1R2wVAq.net]
>>834
そんなのイギリス英語の基本だろ。



848 名前:デフォルトの名無しさん [2015/07/20(月) 20:41:14.80 ID:n95qMHkT.net]
何で二階が一階なんですか?
じゃあ一回は二階なんですか?

849 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 21:15:51.15 ID:UhiBY71r.net]
GF 地面と同じ床      −1階
1F 地面から1個上の床  −2階
2F 地面から2個上の床  −3階

850 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 21:18:21.00 ID:gdO7FQR/.net]
GroundFather

851 名前:デフォルトの名無しさん [2015/07/20(月) 21:41:43.70 ID:n95qMHkT.net]
なんだイギリス人は頭悪いのか。

852 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 21:48:49.32 ID:4CXi8vOi.net]
ガールフレンド

853 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 21:57:34.42 ID:TvySEdcJ.net]
地面が0階じゃないのはおかしいとつねづね思っていた

854 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 22:03:37.15 ID:qFejjwvs.net]
ヨーロッパのエレベータは、地上階が0とかgroud floorのGのボタン表記になってるな

855 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 22:28:54.40 ID:AGKnnOa8.net]
くおえうえーーーるえうおおお(^q^)

856 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 22:38:05.03 ID:4CXi8vOi.net]
>>842
そこはGスポットだから押しちゃダメ

857 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 08:45:12.18 ID:0FycKRkr.net]
>>841
スレが1からスタートしていることに対しても疑問を思うクチですか?



858 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 08:56:17.65 ID:F8CwWRVR.net]
そういや時刻も 0 始まりだな

859 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 12:22:44.82 ID:MswFwDh+.net]
地上1階と地下1階の間に0階と言えるものは何かありませんか?

860 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 13:10:51.08 ID:LE8EkOwN.net]
それがあるかないかわかったところで、それとcと何の関係があるの?w

861 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 13:24:18.33 ID:rxIs9lXh.net]
夏休みが始まったと思ったららこれか・・・

862 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/21(火) 17:56:41.81 ID:wZ08wKQK.net]
vec (vector for C language)
https://github.com/katahiromz/vec

アンパンマン、新しい顔ができたよ!!!

863 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 18:10:44.86 ID:rxIs9lXh.net]
まともな作品紹介もできない時点でアウト、小学生の方がまだマシだな。
夏休みに入った新入学生に尊敬してもらいたいのかな? 犯罪者君

864 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 19:53:00.02 ID:Irntfcjb.net]
配列からの流れで。
xy平面的な2次元配列の場合普通はどう?
D[x][y] or D[y][x]
という意味で。
状況によるというのが回答だと思うけど、
俺は今まで全てD[y][x]で書いてきた。

865 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 20:19:22.98 ID:Lp0T2eYV.net]
>>852
状況ってどんな状況だよ
自分ルールは自分で閉じた世界だけにしとけよ

866 名前:デフォルトの名無しさん [2015/07/21(火) 22:17:58.94 ID:lFhEB+KC.net]
昔、どこかで読んだ本に
「1から始めるのが自然なのに0から始めるのはけしからん」
的なことが書いてあって、可哀想な人だなと思ったことを思い出した。
今なら解る。
多分、「無い」を「0個」と表現するのが許せない人なんだろう。

867 名前:デフォルトの名無しさん [2015/07/21(火) 22:40:35.31 ID:ZFydeI54.net]
自然界にゼロが存在しないことを証明できたら世界が変わる。

でもゼロが無いことくらい誰でも感覚的にわかってるよね。



868 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 23:29:45.43 ID:tYidWCQl.net]
ゼロという概念は有るじゃん。

869 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 23:34:00.23 ID:ykIrCRFz.net]
>>855
無いっていう言葉使っている時点でゼロの概念を持っているだろ。

870 名前:デフォルトの名無しさん [2015/07/21(火) 23:43:07.17 ID:LWWHwaoy.net]
>>855
1と足し算で、2=1+1がつくれるが。
1と引き算でつくれる1-1が0だ。

871 名前:デフォルトの名無しさん [2015/07/22(水) 00:48:02.54 ID:1bYFtsNS.net]
いや、ちょっと待って。「自然界に」って言ってるんだよ。
いったいどういう意味かなあ。
物質とか現象としてということかなあ。
0は存在しなくても1や2は存在するのだろうか。

872 名前:デフォルトの名無しさん [2015/07/22(水) 01:03:30.69 ID:r7y5Ju2f.net]
基数交換法で再帰呼び出しを除去することがクイックソートほど重要ではないのはなぜか?

お願いします

873 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 01:11:50.52 ID:M/n0+BzS.net]
>>859
0も1も2も人間が作り出した概念。

874 名前:デフォルトの名無しさん [2015/07/22(水) 01:19:33.86 ID:1bYFtsNS.net]
>>861
そう書いても良かったんだけど当人がどういうつもりだったかを知りたい。

875 名前:デフォルトの名無しさん [2015/07/22(水) 03:46:38.65 ID:npJxtfpG.net]
0から始まるのは文字コードで0を先に持ってきたせいじゃない?

876 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 04:30:31.09 ID:Lt27C2H/.net]
なんだそりゃ

877 名前:デフォルトの名無しさん [2015/07/22(水) 04:36:42.98 ID:npJxtfpG.net]
まあ基準から+1、+2、+3だからね。



878 名前:デフォルトの名無しさん [2015/07/22(水) 05:03:01.96 ID:npJxtfpG.net]
>>864
コンパイラのこと考えたことないの?

879 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 05:13:57.35 ID:GNp+ziID.net]
またお前か

880 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 11:59:40.81 ID:kIeW59ou.net]
文字コードは関係ないだろ

881 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 17:52:32.56 ID:QdTviyYV.net]
宣言以外のa[2]は*(a+2)の別の表現ってだけだから、
配列が0から始まるって言葉自体に違和感がある。
配列の先頭アドレスがaであって、
その先頭アドレスには当然最初の

882 名前:要素が入っていて、
次のアドレスには次の要素が入っているというごく自然な表現という感覚しかない。
[]
[ここ壊れてます]

883 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 17:59:13.21 ID:yxlux+WS.net]
配列の先頭アドレスをポインタに入れた時、常に要素が1から始まるようにしてあると
ポインタも+1してから使わないとバグる
そういう目に遭いたいらしいわ

884 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 18:11:45.18 ID:8TpaOP4G.net]
まだ0、1論争かよ。
迷ってんならVbaでも使えよ。
-100でも何でも行けるぞ

885 名前:デフォルトの名無しさん [2015/07/22(水) 21:09:43.08 ID:kfPxwJJV.net]
だからさ、ソースコードと実装は違うから。

886 名前:デフォルトの名無しさん [2015/07/23(木) 01:19:55.01 ID:65Ur3bjf.net]
QZは毎日が人生の夏休み

887 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 21:33:06.04 ID:+NRG6mWL.net]
ぶっちゃけ慣れの問題
どっちでも構わん
ただperlみたいに選択できるのは勘弁



888 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 23:34:14.60 ID:168Aqn4V.net]
>>855
言葉遊びに過ぎないし、パラドックスの研究の古いテーマじゃん。
その理屈だと、1や2も「存在」はしない。

889 名前:デフォルトの名無しさん [2015/07/24(金) 00:30:41.05 ID:waPr5lt7.net]
>>874
配列とコレクションの違いが分からないようではダメ。

890 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 01:52:04.39 ID:IyIFnxBR.net]
>>876
何言ってるんだ?

891 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 06:50:29.62 ID:26mYiG3x.net]
配列は、単にメモリ上に連続で確保された変数の集まり。
配列それ自体は、自分自身の要素数の情報を持たず、アドレス(ポインタ or 添え字)を経由しないと任意の要素にアクセスできない。
ましてや、先頭番地の情報など持っているはずもない。配列名は先頭要素の別名に過ぎない。
ここまで言えば、コレクションとの違いもわかるだろ。

892 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 08:51:49.66 ID:U7biJhIK.net]
そんな事はわかってるんだが…

何を言っているのかわからないっていうのは、>>874に対して>>876と言う、的外れとしか思えないレスをしていることに対してなんだけど…

あれ?もしかして触っちゃいけない人なのかな?

893 名前:片山博文MZ ◆T6xkBnTXz7B0 [2015/07/25(土) 12:27:26.19 ID:Uks06VJa.net]
アンパンマン、新しい顔が二つできたよ!!!

lis (singly linked list for C language)
https://github.com/katahiromz/lis

lst (doubly linked list for C language)
https://github.com/katahiromz/lst

894 名前:デフォルトの名無しさん mailto:sage [2015/07/25(土) 15:04:27.61 ID:wTwAcdhU.net]
配列名は先頭要素の別名って言い回しはどうかと思う
それだとまるで配列名には最初のデーターが詰まってるみたいじゃないのよさ
配列名にはアドレスしか入ってないのに

895 名前:デフォルトの名無しさん mailto:sage [2015/07/25(土) 17:41:25.81 ID:GU4GIGEf.net]
片山博文MZって何者? QZと同じにおいがする

896 名前:デフォルトの名無しさん mailto:sage [2015/07/25(土) 17:44:56.04 ID:bLirGUmg.net]
>>882
片山先生を知らないなんて完全に潜りだろw

897 名前:デフォルトの名無しさん mailto:sage [2015/07/25(土) 18:44:06.12 ID:6zkZTkly.net]
罵倒合戦があったし,片山センセと QZ を一緒にしちゃセンセが迷惑する
ところで camellia はオリジナルのソースから手を加えたの?



898 名前:デフォルトの名無しさん mailto:sage [2015/07/25(土) 21:20:02.61 ID:GU4GIGEf.net]
>>883
モグリでごめんね?
>>884
camelliaは仕様書を読んで一から自分で実装しましたよ。
手直しして今はだいぶ速くなったよ。

899 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 14:28:04.79 ID:d9clz1q1.net]
>>874
なんかバージョン5のいくつあたりかから
 local $[=1;
とかやると怒られるようになっとる
言語仕様がある日突然変わるのがスクリプト言語の醍醐味

900 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 02:11:37.78 ID:cbxH7i7j.net]
QZただいま名無し潜伏中

901 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/07/28(火) 16:53:34.62 ID:QJSjRtNV.net]
アンパンマン、新しい顔ができたよ。

vec2 (fixed block vector for C language)
https://github.com/katahiromz/vec2

902 名前:デフォルトの名無しさん [2015/07/28(火) 21:07:16.02 ID:vblF84RR.net]
>>886
怒られるというか、deprecated だね。使えなくなったわけじゃないけど
そういうことをしたければ tie しなさいということだね。

903 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 23:08:06.27 ID:PqGJhZis.net]
プログラミングをするなら、Windowsとmacはどちらがいいですか?

904 名前:デフォルトの名無しさん [2015/07/31(金) 23:11:51.42 ID:aMEtXk8u.net]
Windows

905 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 23:56:20.21 ID:y5XWVYV7.net]
>>890
どっちでもいいだろ。
好きな方を選べ。

906 名前:デフォルトの名無しさん [2015/08/01(土) 21:25:51.86 ID:jIqrjnfJ.net]
mallocでメモリ確保する時はサイズの指定をするのに
freeでメモリを解放する時はサイズの指定をしなくてもいいのは何故なんでしょうか?

907 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 21:41:16.47 ID:QePJH2WN.net]
返されたポインタの前にサイズ他の管理情報を置いているメモリーアロケーターが多い。
こんな感じ
struct mem {
size_t size;
...
char data[]; <==== mallocはこのアドレスを返す
};



908 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:13:36.30 ID:AlahCyHh.net]
扱いなれてる方。

909 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:20:16.52 ID:jIqrjnfJ.net]
>>894
ありがとうございました。
参考書とかには標準関数の使い方の説明はあっても
内部の実装の仕方の説明まではなかなかないので勉強になりました。

910 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:32:59.39 ID:mMrs3R6A.net]
void free(const void *,...);

という実装で二番目の引数を見るという
こともありえる鴨。規格外になるかも
しれないし、ソースレベルでの互換性が
失われるかもしれないが。

char *p=malloc(1024);
free(p); //普通の意味での解放
free(p,256);// pの先頭から256バイト目以降1023バイト目
までを解放

911 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:35:23.69 ID:mMrs3R6A.net]
そういう場合実際には
void _free(const void*,...);
#define free(x) _free(x,0)
とかしてるんだろね

912 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:36:26.78 ID:qeAWL2lY.net]
>>897
規格外どうのこうのの前に、二番目の引数の有無をどうやって判断するんだよ...

913 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:36:50.00 ID:mMrs3R6A.net]
free(p,256)
ぢゃなくて_free(p,256)
だた。スマソ

914 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:25:35.49 ID:CYsajC4S.net]
例えば、mallocで、サイズを200と指定すると、
アドレス100〜300番地を確保する。
それをプログラムは覚えている

次に、free 100番地と、
先頭アドレスだけを指定しても、

プログラムはサイズも覚えているので、
自動的に、100〜300番地を解放する

915 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:27:05.42 ID:oGwoY1R1.net]
覚えてるならgetする方法も提供しろよ常識的に考えて

916 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:41:09.84 ID:oGwoY1R1.net]
C/C++はオワコン
ソフトウェアエンジニアリングの仕事ではない
Javaやれ

917 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 01:01:31.96 ID:7iVchM+h.net]
え、今更 Java やるの?



918 名前:デフォルトの名無しさん [2015/08/02(日) 02:07:49.29 ID:wwgo3D7Q.net]
>>896
実装なんて分からない。

妄想レスもあるので注意。

919 名前:デフォルトの名無しさん [2015/08/02(日) 03:28:18.62 ID:sfcp/621.net]
>>903
と言ってると、ますます日本のソフトウェア産業が土木工事になります。

920 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 08:15:52.14 ID:8TunHJN8.net]
>>906
実装屋はどこまで行っても実装屋でしかない。

921 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 09:00:03.54 ID:YdYZAVrS.net]
ユーザーの誤った書き込み操作が行われやすい
場所に重要な情報を置くのは汎用mallocでは
あまりやりたくない実装方法
隔離保護された場所にビットマップとかを
置いて(malloc領域を)管理。

922 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 09:04:25.44 ID:SLv/z ]
[ここ壊れてます]

923 名前:Rdd.net mailto: >>908
たかだかユーザーのプログラムにリンクされたライブラリの分際で
「確保保護された」領域を入手できるのか?
[]
[ここ壊れてます]

924 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 09:39:58.33 ID:8sAzrEqX.net]
>>908はそのようなライブラリを自作して使ってるんだろうな。
あの偏屈王DJBでさえ、mallocは自作してなかったのにスゲー。日本の宝。
是非公開して欲しい。

>>909
ページを書込み保護すれば出来る。きっと>>908はそうやっている。
超絶テクニックで、malloc/freeの都度発生する書き込みモードの変更による性能低下は軽く克服してるんだろう。
是非是非公開して欲しい。

925 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 09:49:40.21 ID:SLv/zRdd.net]
>>910
>ページを書込み保護すれば出来る。
たかだかユーザーモードあるいはユーザーに提供された領域を
書き込み保護をかけるとか,バンバン使われる malloc()/free()
ルーチンが重くならないかね?

926 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 09:51:52.46 ID:QpxppfHz.net]
実装はOS依存の場合も。

927 名前:デフォルトの名無しさん [2015/08/02(日) 10:08:57.20 ID:8sAzrEqX.net]
>>911,912
そこは偏屈王DJBを楽勝で凌駕する>>908の事だから、凡人には思いつかない超絶テクニックで回避してるに決まっている。



928 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 14:36:02.95 ID:4+/pksin.net]
>>896
ちょっそれK&R本に実装例の1つが詳細に書かれていた希ガス…

929 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 14:48:48.65 ID:4+/pksin.net]
ていうかネットに転がってた、
ttp://radlon.github.io/blog/2014/08/25/krmalloc/

K&R malloc!!!!!!!!!!!!!!!11!!!!!!!!1111

930 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 15:01:15.98 ID:q/ikqjRA.net]
しょっぱなからコードのスペルミスかましてたので見るのやめた

931 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 20:33:28.15 ID:q4wUyYJ7.net]
p[-1]なんかはバグでうっかり破壊しがちだが、
64ビットとアドレス空間のどこかにある
ビットマップをうっかり破壊する確率は
比較的低いって話だろ。

ってか >>894 みたいな実装は、古いシステムと組み込み系でしかもう使われていないのでは。

932 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 20:42:19.52 ID:4+/pksin.net]
>>917
VCでは現役
メモリブロックの管理情報(リンクチェーン)が実データ領域と隣接して存在するからこそ
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
とかでリンクチェーンの破壊を検出できすぐる、

ていうか>>894みたいな実装の代表例がK&R本に書いてあるやつなのであって、
マジK&R本は不磨の大典

933 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 20:44:57.53 ID:4+/pksin.net]
メモリ破壊系のバグは破壊が起きたタイミングで即検出しないとデバッグがやっかい極まりない話になるので
データ領域でメモリ破壊が起きても動いてしまうビットマップ方式はちょっと…

934 名前:918 mailto:sage [2015/08/02(日) 20:51:55.93 ID:4+/pksin.net]
スマン訂正、ヒープの整合性確認は_CrtCheckMemory()呼び出しでやるんだった;
(もしくは_CrtSetDbgFlag(_CRTDBG_CHECK_ALWAYS_DF)でmalloc()/free()毎に自動チェック)
実データ領域でのメモリ破壊がこれで高い率で検出できる

_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
というのはプログラム実行時のリークチェックのやつ

935 名前:片山博文MZ ◆T6xkBnTXz7B0 [2015/08/02(日) 21:45:05.24 ID:/jG0U/Tz.net]
C11 gccでインライン関数を分割コンパイルすると、シンボル重複エラーがでるんだが、
どうすればいいか。C++は簡単だった。

936 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/08/02(日) 22:01:40.19 ID:/jG0U/Tz.net]
やっぱりCでインライン化はやめた方がよかったか

937 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 22:33:38.49 ID:fK6YlTvs.net]
ヘッダファイルにインライン関数を書いて、各ソースから参照するって話ではなくて?



938 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 07:14:10.73 ID:PHSALL0j.net]
質問です。

printf("Aを入力して下さい >");
scanf("%x",&n);
printf("%d",n);

このように書いたときに、最後に10が表示されるのですが、なぜでしょうか。
Aが入力されると16進数としてnに格納されると思いますが、
最後にはそれを10進数で出力するので65になるのではないでしょうか?

939 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 07:25:47.50 ID:qre9PyEM.net]
%xなんだから、入力した文字列自体を16進とみなす
A=10, B=11, C=12,,,

例えば、1A とか入力出来るが、どう考える?

940 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 11:03:40.66 ID:PHSALL0j.net]
>>925
ありがとうございました。納得しました。
「16進数のA」と書いてあったのですがそういうことだったのですね。

941 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 21:51:45.27 ID:sGt3KLZv.net]
C/C++はオワコン
何も新しいソフトウェア技術を取り入れてない
オブジェクト指向止まりの化石言語
こんなのにしがみついてたら未来ないよ

942 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 22:26:04.26 ID:0GTb8PhE.net]
>>927
未来の有る言語を具体的に挙げてみよ

943 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 22:55:02.33 ID:sGt3KLZv.net]
javascript最強

944 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 22:56:09.34 ID:B7i1Mk8j.net]
うわぁ・・・

945 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 23:19:33.87 ID:8xO+ORV8.net]
visual basic 最強

946 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 23:31:28.33 ID:0GTb8PhE.net]
>>929
もうちょっと面白い展開を期待した。

947 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 01:51:10.39 ID:NqgUCWy0.net]
>>928
アセンブラ、
無限の可能性を秘めている。



948 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 07:15:20.34 ID:RTmVcCCe.net]
お前らDIもAOPもわかんねえだろ
完全に時代遅れなんだよ

949 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 07:17:21.98 ID:Pymojyae.net]
0000: JP 0000

950 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 07:45:43.98 ID:LuqeIwCC.net]
HALT

951 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 08:18:27.03 ID:s6JmbTZM.net]
>>931
俺も俺も>>932

952 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 13:43:24.15 ID:uyJvzdpF.net]
>>934
ああ知ってるよ
確か COBOL/2005 がいきなり名前を変えたやつだろ

953 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 21:48:55.89 ID:RTmVcCCe.net]
大学はWEB系のプログラミングを教えるべき
大学教授が古い人間しかいないから時代遅れの化石言語しか教えられない
WEB業界では新しいソフトウェア技術がどんどん出て来てるのに完全に日本は置いていかれている
C言語なんて糞言語やる前にもっと危機感を持つべき

954 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 21:54:31.44 ID:TJyjY+1J.net]
そんなことやるのは専門学校だけで十分

955 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 21:56:09.13 ID:RTmVcCCe.net]
日本のソフトウェア技術が世界と比べて劣っているのは
既得権益にしがみついている時代遅れの大学関係者のせいなのは間違いないね

956 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 01:24:04.78 ID:LsDzIRl9.net]
こんな会社ばっかだから。
ttp://www.geocities.co.jp/Playtown-Dice/3834/KAGE-OL12.jpg

957 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 06:48:13.81 ID:D0x4pWwH.net]
大学では計算機科学の一般教養としてはSICPをみっちりやればおk



958 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 06:53:47.83 ID:D0x4pWwH.net]
ていうか今ググったらSICPが何かタダで読めるようになっているっぽい
ttp://d.hatena.ne.jp/minghai/20140402/p1

あと副読本として『翻訳系構成論序論』とか、
内容もさることながら翻訳がたいへん味わい深い

959 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 07:31:28.76 ID:Ud96BClW.net]
和田先生訳の方も公開されてるし、原著も公開されてる。
あと、h抜きは素人っぽいからやめろ。

960 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 08:24:02.24 ID:cYx2D4V+.net]
>>945
> あと、h抜きは素人っぽいからやめろ。
自称玄人カッケーっす

961 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 09:11:04.96 ID:D0x4pWwH.net]
(ノーコメント)

962 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 09:31:28.19 ID:D0x4pWwH.net]
ていうか素人丸出しの質問のですが、
strtol()の第1引数はconst char*でconst付きなのに、
第2引数はchar**であってconst無しになるなのは何でですか??

963 名前:デフォルトの名無しさん [2015/08/08(土) 11:23:27.11 ID:Ud96BClW.net]
>>946
素人の補集合は玄人じゃない。
補集合は高校数学で学ぶから、中学生はROMってろ。

964 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 12:03:47.08 ID:cYx2D4V+.net]
>>949
> あと、h抜きは素人っぽいからやめろ。
上から目線でアホなこと言ってるから自称玄人って言われてるだけ
最近覚えて使いたかったんだろうけど補集合は関係ない

965 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 12:27:31.84 ID:y5hyBra1.net]
保守烏合

966 名前:デフォルトの名無しさん [2015/08/08(土) 12:44:06.05 ID:Ud96BClW.net]
>>950
hを抜くバカに対して上から目線は当然。
繰り返すが、中学生は補集合習ってから出直しなさい。

967 名前:デフォルトの名無しさん [2015/08/08(土) 12:47:15.24 ID:Ud96BClW.net]
バカとは、思考能力が欠除してる障害者の総称な。念のため。



968 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 13:27:04.14 ID:HVhVW7oy.net]
>>953
自己紹介乙

969 名前:デフォルトの名無しさん [2015/08/08(土) 13:43:02.67 ID:Ud96BClW.net]
>>954
こりゃまた、h抜きに負けるとも劣らない古参煽り。

ニワカ乙
って、返すんだっけ? 頭悪そう。

970 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 13:51:25.58 ID:cYx2D4V+.net]
かわいそうな奴...
さすが、にちゃん玄人ですね!

971 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:04:41.69 ID:1hj8NI9z.net]
まあなぜhを抜いてるのかを知っている時点でそれなりの年齢のはずなんだけどね
もっと大人にならなきゃいけないよね

972 名前:デフォルトの名無しさん [2015/08/08(土) 14:16:31.72 ID:Ud96BClW.net]
>>956
補集合習ってから出直せと言ったはずだぞ。中学生。

973 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:43:13.18 ID:cYx2D4V+.net]
>>958
で、どれとどれが補集合じゃないって言ってるんだ?
書いてみ w

974 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 14:48:59.02 ID:1hj8NI9z.net]
素人の補集合≠玄人
って書いてあるじゃん
なんか低レベルすぎる争いが楽しそうなので混ぜて

975 名前:デフォルトの名無しさん [2015/08/08(土) 14:56:08.54 ID:Ud96BClW.net]
>>959
まだ、習ってないことを無理して理解しなくても良い。

976 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 15:17:48.69 ID:cYx2D4V+.net]
>>960
h抜きしない奴は玄人って言ってるわけじゃないぞ
低レベルの話にもついてこれないなら割り込んでくるなよ...

>>961
はい、逃げた w

977 名前:デフォルトの名無しさん [2015/08/08(土) 15:34:58.60 ID:Ud96BClW.net]
>>962
補集合を知らないことを、そんなに必死でアピールしなくて良いよ。中学生。



978 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 17:48:46.64 ID:cYx2D4V+.net]
>>963
>>959 にレスできないチキン w

979 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 17:55:19.32 ID:Gxm0vaAV.net]
プログラマー目指してる大学生なんですけど、優秀な趣味プログラマーでも
長年仕事でプログラミングしてる平凡なプログラマーに負ける事っていったら
何ですか?

どんだけプログラミングしてても実務で培われるものってあるじゃないですか
そういうのが知りたいです。ちなみに僕は優秀でもなんでもない趣味プログラマですw

980 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 18:03:00.86 ID:1qUf1CZr.net]
このままいつもの人まで出てきてスレを
使いきる気かよ

981 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 18:08:16.54 ID:D0x4pWwH.net]
>>965
ようわからんが仕様と検証と納期に対してどんだけシビアになれるかの違いじゃないの

982 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 18:13:42.89 ID:D0x4pWwH.net]
>>965
併せて工数は予算内に、

ていうか>>948の回答も誰かよろしくなのデス…
パーサを作るときにstrtol()の第1、第2引数のインターフェースを真似た関数をしばしば作るのですが、
第2引数をconst付きにしなくていいのか今も悩み中、

あと>>944の結びは「翻訳もカッケーぃ☆」としとけば完璧だったorz

983 名前:デフォルトの名無しさん [2015/08/08(土) 19:04:38.81 ID:Ud96BClW.net]
>>964
心配すんな中学生。クラスの平均以上の学力あって、補集合習えばわかるようになるから。

>>968
中学生弄ってて回答した気になってたわ。第2引数がconstじゃないのは、const char **にはchar **も渡せる。
すなわちhoge(const int); 以下の意味しかないが、それでもconstつけたいならつければよい。

984 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 19:50:59.65 ID:D0x4pWwH.net]
>>969
ちょっ>>948のは、現実のstrtol()の第2引数はchar**でconst char**を「渡せない」んだけど何か理由有り?
という質問のですが…

ぶっちゃけ説明不足だったかもしれないので今から説明すると、strtol()の第2引数がchar**である結果、
次のコードの変数endをconst付きにできず、万が一[A]の行が紛れ込んでもコンパイル時にwarningにならないという、
long foo(const char* str) {
 /*const*/ char* end; /* ←左のconstのコメントアウトを外すとエラー*/
 long val = strtol(str, &end, 10);
 *(end - 1) = '*'; /* [A] 上の結果、strを書き換えるコードが合法に… */
 return val;
}
このような事故は、strtol()の第2引数がconst char**でありさえすれば防げるのですが、そうなっていないのは何故…!?という疑問

あと引数の型const char**に対し、char**型変数を渡せるというのは真実としていかがなものかと…(VCだとエラーになる

985 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 20:17:04.90 ID:Ud96BClW.net]
>>970
それをstrtolのプロトタイプで防止しようとするのが間違い。
第2引数がconstであっても、
char *endptr;
strtol("123x", &endptr);
はエラーではない。

> あと引数の型const char**に対し、char**型変数を渡せるというのは真実としていかがなものかと…(VCだとエラーになる
ここはCのスレだよ。C++ならエラーだろうね。

986 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 20:27:38.50 ID:D0x4pWwH.net]
>ここはCのスレだよ。C++ならエラーだろうね。
ほんまや(゜д゜)!Cだとconst char** end;でエラーにならない
はずかC〜(*ノノ

987 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 20:43:42.60 ID:cYx2D4V+.net]
>>969
補集合でどや顔してるけど、補集合関係ないことは理解できないんだな
関係あるならちゃんと説明できるよね? w



988 名前:デフォルトの名無しさん [2015/08/08(土) 20:45:16.30 ID:Ud96BClW.net]
>>973
高校で習うまで我慢してなさい。中学生。

989 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 20:58:55.89 ID:1hj8NI9z.net]
結局const char**じゃないのはなぜなのかは解答ないのね

990 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 21:05:28.11 ID:Ud96BClW.net]
constにする事に意味が無いからと答えたが。

991 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 21:15:13.37 ID:cYx2D4V+.net]
>>974
もう逃げきりを図ろうとしてるのはみえみえ

>> あと、h抜きしない方が玄人っぽいよ
> 自称玄人カッケーっす

ってなってたらこいつどう言うんだろうな w

992 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 21:21:07.53 ID:1hj8NI9z.net]
const char**にしてもchar**が渡せるから意味がないってのか
じゃあconst char*にしてもchar*が渡せるからそれも意味がないんですね
じゃあ引数につけるconstなんて全て意味がないんですねわかります

993 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 21:37:14.26 ID:D0x4pWwH.net]
>>978
const char*にキャスト無しでchar*を代入することはC言語でも非合法だからその噛み付き方は無いわ〜

994 名前:979 mailto:sage [2015/08/08(土) 21:39:27.65 ID:D0x4pWwH.net]
反対だったorz、
char*にconst char*を代入するのはC/C++ともにNG
char**にconst char**を代入するのはCだとOK、C++ではNG

995 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 21:44:06.68 ID:Ud96BClW.net]
>>977
補集合習えばそれもわかるようになるよ。

996 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 22:04:53.22 ID:Ud96BClW.net]
>>978
意味ないだろ。
void hoge(const char **p)
{
static const char s[]

997 名前: = "alb";
*p = s;
}
void hage(void)
{
char *p;
hoge(&p);
*p = 0;
}
[]
[ここ壊れてます]



998 名前:!rebuild:age mailto:sage [2015/08/08(土) 22:13:50.40 ID:9YQ92kuf.net]


999 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 22:21:53.19 ID:1hj8NI9z.net]
strtolの第2引数にconstが無いのはあってもなくても意味がないからなんかじゃなく
strtolがconstをつけるかどうかを判断する箇所ではないから制約にしていないだけ

第1引数につくconstはstrtolの内部ではポインタ先の実態を変更しないということを示す
strtolの中の操作を制限するという意味になるのでそう実装していることを使用者に示している

第2引数の先頭にconstをつけるかどうかに対応するのは
第1引数に渡される文字列自身がconstなのかどうか
そしてそれはstrtolの関与する部分ではない

>>970のようにconst文字列を渡す前提ならconstがあっても問題ないが
constじゃない文字列を渡して変換できなかった箇所を起点に文字列を変更することも考えられる
するともし第2引数にconstがついていると(やらなくてもコンパイルできるかどうかは置いておいて)constからconstなしへのキャストをすることになる

1000 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 00:33:45.74 ID:ofrSttk1.net]
次スレおね

1001 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 04:54:16.32 ID:ofrSttk1.net]
まだーー

1002 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 05:52:26.39 ID:h6XvpjyR.net]
>>978
あっても無くても意味が無いなんていう事じゃ無い。
constは呼び出し先での制約であり、呼び出し側を制約する事はできない。
ので、意味が無い。

1003 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 06:48:44.91 ID:TarQJqGz.net]
>>981
もうその返ししかできないんだな恥ずかしすぎるわ w

1004 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 07:09:46.99 ID:TarQJqGz.net]
次スレ

C言語なら俺に聞け(入門編)Part 130
peace.2ch.net/test/read.cgi/tech/1439071526/

1005 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 08:32:59.69 ID:i0YjHh3P.net]
const ついてれば、(その関数内で参照先を)書き換えするつもりはないよ とわかるけど
ついてない場合はどっちともとれるから中途半端よねぇ

1006 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 08:44:02.42 ID:uP4RKIW6.net]
>>989
乙乙乙

1007 名前:デフォルトの名無しさん [2015/08/09(日) 09:09:30.47 ID:Mf04DnbC.net]
>>988
補集合理解してれば
>> あと、h抜きしない方が玄人っぽいよ
こんな発言はしないから。キミの妄想は実現しない。
頑張って補集合勉強しろよ。



1008 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 10:07:05.43 ID:UBu5K04W.net]
高校レベルで学ぶ集合論は集合論のうちに入らぬ、
前提命題
 XはURLをh抜きで書く→Xは素人である ( = ¬((XはURLをh抜きで書く)∧¬(Xは素人) )
から
 XはURLをhを抜かずに書く→Xは玄人である ( = ¬(¬(XはURLをh抜きで書く)∧¬(Xは玄人) )
という命題を導くためには、
 { 素人 } ∩ { 玄人 } = φ (排中立)
が成立せねばならないぬが、{ 素人 } ∩ { 玄人 }が無限集合である以上、
演繹系を無限集合の排中律を認めるやつに固定せねば妥当な演繹にならない

1009 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 10:10:28.22 ID:TarQJqGz.net]
>>992
>>988
ループつまんね

1010 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 10:16:29.21 ID:QKRToHAT.net]
out引数の型のconstが意味ないとかいう人の設計はすごい言語に依存しまくったものになってそう

1011 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 10:18:03.07 ID:UBu5K04W.net]
>>995
C言語でおk

1012 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 10:22:58.14 ID:QKRToHAT.net]
そのうちx86では呼び出し規約が○○だから××という前提
とかアーキテクチャにまで依存し出したりするからそういう考え方は根絶やしにしたい

1013 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 11:18:15.91 ID:9Ej9Po2R.net]
>>993

>>(排中立)→「排中律」
『広辞苑』には、「排中原理」と書いてある。この方がもっと分かりやすいかも

1014 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 11:31:16.30 ID:QKRToHAT.net]
>{ 素人 } ∩ { 玄人 }が無限集合である以上
これは自明なの?

1015 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 11:41:47.48 ID:855SMF2a.net]
>>995
> out引数
ようやくそこに言及する人が出てきたか

1016 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1017 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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