C言語なら俺に聞け(入門編)Part 92
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/11/10(木) 22:55:06.15★前スレ
C言語なら俺に聞け(入門編)Part 91
http://hibari.2ch.net/test/read.cgi/tech/1319581056/
★過去スレ
http://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++の宿題片付けます 153代目
http://hibari.2ch.net/test/read.cgi/tech/1320365280/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
★ぬるぽ。
長くなりそうなコードはcodepadに貼り付けてもいいでしょう
http://codepad.org/
0002デフォルトの名無しさん
2011/11/10(木) 22:56:09.00/;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;ヽ.
/;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;ヽ.
/;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:ヽ.
i;:;:;:;:;:/ノ-'-''"ヽ;:;:;ヽ'''-ヽ、;:;:;:;:;|
{;:;:;:;:ノ■■■ ■■■ヽ;:;:;}
ヽ;:;{ _ _ |;:;:{
};:;|三/ ●),. 、(● ヽ三 |〈
ヽ| " ゙='"/:::ヾ='"゙ | } __________
{ |∫ ∴ (,.、::,. ) ∵ |/ /
ゝ::●. ...:人:人:::..... ...! < そーですワタスが変なおじさんです
{;;ヽ:.:.:.:.:.:.:.<Ξ>:.::.:.:.:.:.:.:/;} \
/ ヽ:.:.:.:.::.:.:.:.:.:.:.:.:.:.:/ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ |ヽ:.:.:.:.:.:.:.:.:.:/| \
ヽ ̄ ̄ ̄ /
ヽ___/
0003デフォルトの名無しさん
2011/11/10(木) 23:10:16.68大変お疲れ様です
死にます
0004デフォルトの名無しさん
2011/11/11(金) 00:57:39.31戻り値が構造体の関数を宣言し、構造体を戻り値として返したときに、
その構造体をポインタ変数へ代入したいのですが、うまくいきません。
p = tesFunc;
(p:ポインタ変数、tesFunc:戻り値が構造体の関数)
イメージとしては、こういう風にしたいのです。
いくつか、やり方を変えて試したのですが、エラーが出てしまいます。
私がやりたいことは、
ある構造体を色々な関数で使い、なおかつ値を変えたりしたいわけです。
なので、違う方法でもできるのなら、そちらの方法で試してみたいと思います。
0005デフォルトの名無しさん
2011/11/11(金) 01:01:51.760006デフォルトの名無しさん
2011/11/11(金) 01:07:35.10まぁ素人さんはポインタなんか使わずに構造体をそのまま受け取るようにした
方がいい。
構造体を戻り値とするんだから、受け取るにもポインタではなく構造体を指定す
ればいい。
ただのintなんかと同じに考えればいい。
0007デフォルトの名無しさん
2011/11/11(金) 01:16:22.78>>6 確かにポインタなんて使いたくはないんですが、
戻り値の構造体と、受け取り側の構造体が別々の変数になってしまう
というのが、ちょっと具合が悪くて。
0008デフォルトの名無しさん
2011/11/11(金) 01:17:34.03グローバルに置いておきexternするみたいなことをちょっと隠蔽してみたりしたいんだよな?
0009デフォルトの名無しさん
2011/11/11(金) 01:58:44.810010デフォルトの名無しさん
2011/11/11(金) 02:28:23.20解決しました。
戻り値が構造体へのポインタの関数を使うことと、staticを使用することの2つがキーだったみたいです。
皆さん、ありがとうございました。
0011デフォルトの名無しさん
2011/11/11(金) 02:41:46.21わけのわからんバグに悩まされると思うぞ?
元の変数に戻したければ素直に代入しとけ。intと同じに考えればいい。
0012デフォルトの名無しさん
2011/11/11(金) 02:58:23.03こういう目的なら、構造体を1個だけ確保しておいて、「色々な関数」へは、
その構造体を指すポインタを引数として渡すのがシンプルだと思うけどな。
構造体がごく小さいものであれば>>11の言うとおり。
0013デフォルトの名無しさん
2011/11/11(金) 03:36:44.59struct A* f(void) {
struct A a = {.i = 9999999};
return &a
}
先に予想しとくわ
0014デフォルトの名無しさん
2011/11/11(金) 05:23:01.800015デフォルトの名無しさん
2011/11/11(金) 05:43:59.66--
戻り値の構造体と、受け取り側の構造体が別々の変数になってしまう
というのが、ちょっと具合が悪くて。
--
これが何を言いたいのか誰か解説してくれ。
0016デフォルトの名無しさん
2011/11/11(金) 06:00:24.970017デフォルトの名無しさん
2011/11/11(金) 10:02:01.510018デフォルトの名無しさん
2011/11/11(金) 10:10:58.12ググれ。
http://ja.wikipedia.org/wiki/Malloc
0019デフォルトの名無しさん
2011/11/11(金) 13:17:49.84for(boo=0 ;boo <=1 ;boo++){
みたいなループ作ったら
warning: incrementing a bool value is deprecated
っていう警告が出ます。
確かにbool型に足し上げることは推奨されないですが何か別の方法ありますか?
0020デフォルトの名無しさん
2011/11/11(金) 13:22:35.87for( i=0; i < 2; ++i ){
boo=i;
わりとマジレス
0021デフォルトの名無しさん
2011/11/11(金) 13:26:01.02func();
でいいだろ
0022デフォルトの名無しさん
2011/11/11(金) 13:31:11.25例えば、
int Function1(int x, int y)
{
int temp;
temp = (x + y) / Function2(x, y);
return temp;
}
こんな関数の代わりに、関数呼び出しのオーバーヘッドを考慮して、
#define Function1(x,y) (((x) + (y)) / Function2(x, y))
このようにマクロを定義するのってマズイですか?
0023デフォルトの名無しさん
2011/11/11(金) 13:32:39.590024デフォルトの名無しさん
2011/11/11(金) 13:37:36.46引数の評価に副作用がある場合はマズイ。
そうでないならおk。
0025デフォルトの名無しさん
2011/11/11(金) 14:09:01.46大抵そう。極端な場合、内部でmalloc()とmemset()を呼んでいる。
0026デフォルトの名無しさん
2011/11/11(金) 14:23:25.46C99/C++処理系ならインライン関数も検討したほうがいいと思う
0027デフォルトの名無しさん
2011/11/11(金) 17:19:34.93ありがとう
やっぱそんな感じにしないとダメですね
0028デフォルトの名無しさん
2011/11/11(金) 20:39:01.570029デフォルトの名無しさん
2011/11/11(金) 20:54:21.420030デフォルトの名無しさん
2011/11/11(金) 20:59:42.33最悪の場合宇宙が崩壊する
結構マジで
0031デフォルトの名無しさん
2011/11/11(金) 21:20:42.610032デフォルトの名無しさん
2011/11/11(金) 21:22:22.740033デフォルトの名無しさん
2011/11/11(金) 21:38:11.03どこが間違っているか教えてください!
http://codepad.org/GDXIYcVE
0034デフォルトの名無しさん
2011/11/11(金) 21:40:25.920035デフォルトの名無しさん
2011/11/11(金) 21:52:55.76ごめんなさい、わからないです。
リストを作るところまでは、合ってますか?
http://ideone.com/YXuBD
>>34
いまだにその落とし穴にはまって首をひねることが。
0037デフォルトの名無しさん
2011/11/11(金) 21:56:23.040038デフォルトの名無しさん
2011/11/11(金) 22:02:53.97>>37 p=p->nextじゃ、移れてないってことですか?
あと実行したときに、後ろから?表示されているのもよくわかりません。
0039デフォルトの名無しさん
2011/11/11(金) 22:14:01.850040デフォルトの名無しさん
2011/11/11(金) 22:19:26.90逆順になるのは、リンクリストの最初のほうにセルを挿入してるからだな。
0041デフォルトの名無しさん
2011/11/11(金) 22:21:10.390042デフォルトの名無しさん
2011/11/11(金) 22:25:43.46start->head = p; で、セルをつなげてる?
>>40 わかった!ところてんみたいに入れてった感じですね!
0043デフォルトの名無しさん
2011/11/11(金) 22:46:38.06ところてんマグナム!!
0044デフォルトの名無しさん
2011/11/11(金) 23:10:16.530045デフォルトの名無しさん
2011/11/11(金) 23:31:51.28多倍桁の計算をするときは実装するほかないですよね?
大学の考察でこんな課題がでました。
教えてください。
どうしてでしょうか?
>どうしてでしょうか?
How を説明すればいいのでしょうか?それとも Why ?
0047デフォルトの名無しさん
2011/11/11(金) 23:41:34.79つうか、それが分からない人間がなんで多倍桁なんて言葉を知ってるの?
0048デフォルトの名無しさん
2011/11/11(金) 23:41:43.28そうしたほうが作る人が楽だから
0049デフォルトの名無しさん
2011/11/11(金) 23:42:40.74両方お願いします。必然性があるのか、そもそもどういう仕組みになっているのか、
両方において曖昧な認識です。
プロフィール: 進研数学偏差値74.8
0050デフォルトの名無しさん
2011/11/11(金) 23:45:13.26アルゴリズムとして知ってるから。
ちなみに、桁*桁の計算が4つあったら、桁*桁を3つと足し算といった感じで
計算量を大幅に減らす事もできるんですよね。
>>48
コンピュータの内部の事情って関係ありますかね?
0051デフォルトの名無しさん
2011/11/11(金) 23:51:16.19質問するほどのことではない
0052デフォルトの名無しさん
2011/11/11(金) 23:52:32.50これでいいですか?
0053デフォルトの名無しさん
2011/11/11(金) 23:54:50.27そこまでしてやる需要がないとか。
8086とか68000くらいのころはけっこう複雑な命令があったけど、その後RISCが流行って
単純な命令を高速実行する流れになって、またその後CISCががんばって効率化して
RISCとかCISCって分類が無意味になって、みたいな流れだよね。
8086のころはBCD演算をサポートする命令があったから、RISCのトレンドがなかったら
そっち方面に技術が発展して、もしかしたら多倍長演算がCPUでサポートされてる
ような世界になってたかもしれない。それはないかな?
0054デフォルトの名無しさん
2011/11/11(金) 23:56:33.912 根幹演算を組み合わせて実装した方が効率の良いアルゴリズムが開発できるから。
3 ハードウェアが複雑になるから。
こういう認識でいいでしょうか?
0055デフォルトの名無しさん
2011/11/12(土) 00:01:26.32ハードに変更があると多大な範囲に影響が及ぶから
変えるに変えられネーってことでだらだらやってんだろ
0056デフォルトの名無しさん
2011/11/12(土) 00:07:11.540057デフォルトの名無しさん
2011/11/12(土) 00:07:36.280058デフォルトの名無しさん
2011/11/12(土) 00:11:06.21レジスタだったら何十個もあるんじゃないかな。
8086の系統は少ないかもしれないけど、内部的にはたくさんもってるみたいな
話を聞いたことがある。
0059デフォルトの名無しさん
2011/11/12(土) 00:25:22.040060デフォルトの名無しさん
2011/11/12(土) 00:38:00.65昔はみんな自作してた。
0061デフォルトの名無しさん
2011/11/12(土) 00:42:42.74情報系なら大学の実験なんかで作るだろ。
0062デフォルトの名無しさん
2011/11/12(土) 00:44:33.590063デフォルトの名無しさん
2011/11/12(土) 00:44:43.140064デフォルトの名無しさん
2011/11/12(土) 00:45:13.72今更こんなもんやってられんわ
FPGAのほうがなんぼかやろうって気になれる
熱い‥‥‥。
>>61
電子系ならそうだったみたい。制御系ならせいぜい TTL ゲートでシリアル4bit 加算、というレベルでした、うちの大学は。
>>49
ふーん、今の若い子はそういう自己を表現することもあるんだ。
いや、別に否定するわけじゃあありません。私だったら‥‥これこれこうこうの本を読みました、って書くなあ(実のところ読めてなくて見たレベルなんでしょうけれども、それに気づくのはずっとあとの話)。
0066デフォルトの名無しさん
2011/11/12(土) 02:37:41.99早く説明してやれよ。>>46
0068デフォルトの名無しさん
2011/11/12(土) 03:09:03.790070デフォルトの名無しさん
2011/11/12(土) 03:38:42.21桁数が増えると必然的に結果が出るのが遅くなるんだよね
キャリールックアヘッド、というのがあってキャリーの伝播を極力早くする方法があります。回路はその分多くなりますが。
証明は論理式の and と or の内外をいれかえるだけだったかと記憶しています。
繰り上がり待ち方式はリップルキャリーといいます。
ちょっと不正確。多入力ゲートが2入力ゲートのくみあわせよりも早いと期待できることがポイントだったかと。だから多入力ゲートの入力数の限界までは適用できますが、それ以上は実際どうなんでしょうね、よくわかんない。
0073デフォルトの名無しさん
2011/11/12(土) 03:56:20.520074デフォルトの名無しさん
2011/11/12(土) 04:13:33.96知ったかしたいがために、
訊かれもしていないことをぺらぺらしゃべるやつが約1名いるようなんでね
0077デフォルトの名無しさん
2011/11/12(土) 04:29:07.43俺はお前のことだとはこれっぽっちも言ってないぜ(笑)
ん?私も私のことだとは言ってませんね。
0079デフォルトの名無しさん
2011/11/12(土) 04:33:18.330080 ◆jMy.vROSfw
2011/11/12(土) 04:33:29.82え? もう鳥パクッタ?
0084デフォルトの名無しさん
2011/11/12(土) 06:02:44.630085デフォルトの名無しさん
2011/11/12(土) 06:18:05.000086デフォルトの名無しさん
2011/11/12(土) 11:49:35.81bool b();
if (a() || b()) ... としたときに b() が呼ばれない可能性がある。。というのはいいんだけど、
bool x = false;
x |= a()
x |= b()
こういう場合でも b() が呼ばれない可能性ってあるの?
0087デフォルトの名無しさん
2011/11/12(土) 11:51:24.470088デフォルトの名無しさん
2011/11/12(土) 12:00:04.550089デフォルトの名無しさん
2011/11/12(土) 12:43:50.98すぐバレる嘘つくな糞vipperがwww
お前の鳥でググってら一杯出てくる出てくるwwwwwwwwwwwww
0090デフォルトの名無しさん
2011/11/12(土) 13:00:52.950091デフォルトの名無しさん
2011/11/12(土) 13:04:06.480092デフォルトの名無しさん
2011/11/12(土) 13:09:12.93しかし、1時間ちょいで同じコテ見つけて書き込めるかねぇ?
0093デフォルトの名無しさん
2011/11/12(土) 13:15:15.57それが分かるのは糞コテ本人か解析者
レス内容からして>>92は糞コテ本人と推定
0094デフォルトの名無しさん
2011/11/12(土) 13:31:52.08最近のコテだと◆QZaw55cn4cと>>80は別人だが。
コテ付けてほしいのか?
今時コテ叩きして楽しいかい?
0095デフォルトの名無しさん
2011/11/12(土) 13:41:12.63>最近のコテだと◆QZaw55cn4cと>>80は別人だが。
いや、君と◆QZaw55cn4cが同一人物の可能性なんてちっとも考えなかったよw
0096デフォルトの名無しさん
2011/11/12(土) 13:42:49.230097デフォルトの名無しさん
2011/11/12(土) 13:48:30.65下のは両方呼ばれるよ。
しかし、bool型にビット演算って違和感が。
警告とか出ないのだろうか。
0098デフォルトの名無しさん
2011/11/12(土) 17:02:00.63A,B,C,...,G,Hという7個以上の要素から6つ取り出して並べたときの、全ての組み合わせを出したいのですが、うまくいきません。
例としては、
AAAAAA
AAAAAB・・・
と出していくのですが、同じ要素を使っていても並び方が違えば別のパターンとして表示します。
長文申し訳ありませんが、手におえず、ご教授頂きたい次第です。
よろしくお願いします。
0099デフォルトの名無しさん
2011/11/12(土) 17:22:21.297進数6桁の数値として考えればOK
0100デフォルトの名無しさん
2011/11/12(土) 17:27:25.980101デフォルトの名無しさん
2011/11/12(土) 17:36:30.17いる
0102デフォルトの名無しさん
2011/11/12(土) 18:03:53.75そもそもこの2chのread.cgiはCだろ
0103デフォルトの名無しさん
2011/11/12(土) 18:11:40.61それなら、Cを知っていれば、他の言語なんて
そんなに勉強する必要は無いのかな?
0104デフォルトの名無しさん
2011/11/12(土) 18:28:13.44CGIを作りたたいなら、他の言語も学んでおいて損はない。
0105デフォルトの名無しさん
2011/11/12(土) 18:29:47.34場合によっては他の言語処理系を作ることも含めて。
そう思っていた時期が私にもありました。
でも、現実に多くの言語があるのは、それが必要だからだよ。
それぞれにメリットとデメリットがある。
結論を言えば「用途による」としか言いようがないなぁ。
とりあえず C で CGI を作るのはあまりオススメできない。
0106デフォルトの名無しさん
2011/11/12(土) 19:46:36.970107デフォルトの名無しさん
2011/11/12(土) 21:28:12.24ありがとうございます。
ただ、もしよろしければですが、コードを教えていただけないでしょうか。
0108デフォルトの名無しさん
2011/11/12(土) 21:32:03.870109デフォルトの名無しさん
2011/11/12(土) 21:33:51.60お前が他の処理系を作れないだけだろ。
0110デフォルトの名無しさん
2011/11/12(土) 22:05:41.930111デフォルトの名無しさん
2011/11/13(日) 10:55:16.42どの位置が何色(RGB)なのかを調べたいのですが
どのように調べるのでしょうか?
0112デフォルトの名無しさん
2011/11/13(日) 10:57:57.460113デフォルトの名無しさん
2011/11/13(日) 10:59:03.850114デフォルトの名無しさん
2011/11/13(日) 11:01:50.710115デフォルトの名無しさん
2011/11/13(日) 13:47:41.59末尾に新しいセルを挿入したいのですが、先頭に入ってしまいます><
http://codepad.org/UDC0PS5l
0116デフォルトの名無しさん
2011/11/13(日) 13:53:13.890117デフォルトの名無しさん
2011/11/13(日) 14:11:48.82これ先頭にも入らないだろ?
while(p->next != NULL)
にして最後にp->nextに入れろ
もちろんslist->headがNULLだったらわかってんだろうな
あとループがむかつく、slistにtailとか入れて最後のを保存しとけ
0118デフォルトの名無しさん
2011/11/13(日) 16:05:24.68多次元配列でchar a[N][M]のNの部分をreallocで拡張した場合、
元々格納されていた文字列は新しく確保した領域にコピーされているのでしょうか?
0119デフォルトの名無しさん
2011/11/13(日) 16:08:08.62realloc はできません
0120デフォルトの名無しさん
2011/11/13(日) 16:20:00.86できました!ありがとうございます。
0121デフォルトの名無しさん
2011/11/13(日) 16:23:35.31回答ありがとうございます。
realloc出来ないんですか。。
ではこの場合Nを動的に拡張するには一般的にどういった方法があるんでしょうか?
0122デフォルトの名無しさん
2011/11/13(日) 16:26:15.06char (*)[M]
という型の変数を用意します
0123デフォルトの名無しさん
2011/11/13(日) 16:26:33.060124デフォルトの名無しさん
2011/11/13(日) 16:35:28.87回答ありがとうございます。
char a[N][M]のNとMの両方を動的に作成しようとしていたので困っていました。
0125デフォルトの名無しさん
2011/11/13(日) 16:46:24.69両方動的にするなら
char**
0126デフォルトの名無しさん
2011/11/13(日) 19:22:34.08switch (式){
case 値1:
case 値2:
処理A
break;
case 値3:
処理B
break;
default:
処理C
break;
}
とすることで,値1または値2の場合には処理Aを,値3で処理Bを,それ以外で処理Cを実行するといったことは出来るのでしょうか?
また,こういった書き方って嫌わられるものなのでしょうか?値1のところにも値2と同じ処理をコピペしておいた方がいいのでしょうか?
0127デフォルトの名無しさん
2011/11/13(日) 19:23:31.90良くある手法
0128デフォルトの名無しさん
2011/11/13(日) 19:23:35.430129デフォルトの名無しさん
2011/11/13(日) 19:25:23.81http://ja.wikipedia.org/wiki/Switch%E6%96%87
0130デフォルトの名無しさん
2011/11/13(日) 19:54:09.12実際上、使う状況はかなり珍しいとは指摘しておく
しかもfall-throughがデフォルトなのは、珍しいどころかバグの元(breakの書き忘れ)なので
コメントで明示的にfall-throughだと書くぐらい
機械語の観点からすると自然な仕様なんだが、
最適化コンパイラが当たり前の現代ではC言語の欠陥
0131デフォルトの名無しさん
2011/11/13(日) 20:02:16.42みたいにcaseが連続してる場合はいちいちコメントは入れないな。
処理があるのにbreakなしの時にはコメントを入れる。
処理があるのにbreakなしってことはめったにないけど、caseラベルが連続してるのは
ちょくちょくあるね。
0132デフォルトの名無しさん
2011/11/13(日) 20:35:47.20参考書にbreak必ず入れろみたいなことが書いてあったのでこういう使い方すると慣例的にダメなのか気になったんですが
使っても大丈夫のようで安心しました。
0133デフォルトの名無しさん
2011/11/13(日) 21:51:28.37goto アレルギーと全く同じ
0134デフォルトの名無しさん
2011/11/13(日) 22:01:35.240135デフォルトの名無しさん
2011/11/13(日) 22:05:45.610136デフォルトの名無しさん
2011/11/13(日) 22:21:29.96switch (key) {
case 0:
{
...;
}
break;
case 1: case 2:
{
...;
}
break;
default:
break;
}
0137デフォルトの名無しさん
2011/11/13(日) 22:35:37.14また,SBクリエイティブの基礎からのCには,break書かないのは行儀が悪いと書かれてました
まぁcaseという名前からすると直感的でない感じもします
0138デフォルトの名無しさん
2011/11/13(日) 22:44:05.46case 値1: と case 値2: のあいだに何の処理も入れないなら、
意図も明白だし、なんの問題も無いような気がする。
switch (式){
case 値1:
処理A
case 値2:
処理B
break;
のような場合に、
「値1 の場合は、処理Aと処理Bを行い、値2の場合は処理Bのみを行う」という意味なのか、
「値1 の場合は、処理Aを行い、値2の場合は処理Bを行う、というつもりだったが、break を入れ忘れた」
のか判別しづらいってことが問題なのでは。
0139 忍法帖【Lv=40,xxxPT】
2011/11/14(月) 00:34:40.15実行をしたいんですが、どうすればいいのでしょうか?
質問なのでageさせてもらいました。
0140デフォルトの名無しさん
2011/11/14(月) 00:35:26.760141 忍法帖【Lv=40,xxxPT】
2011/11/14(月) 00:35:50.23ネタはいらん
0142デフォルトの名無しさん
2011/11/14(月) 00:36:36.55Win32APIスレへいきな
0143デフォルトの名無しさん
2011/11/14(月) 00:36:38.660144デフォルトの名無しさん
2011/11/14(月) 01:03:38.640145デフォルトの名無しさん
2011/11/14(月) 01:54:49.21作者がいなくなっても、発展は続くのだろうか
0146デフォルトの名無しさん
2011/11/14(月) 02:35:17.49C言語は今の状態で固定されたほうがいい
変な拡張するなら色々なシガラミを切り捨てて別言語にしてしまうのが吉
0147デフォルトの名無しさん
2011/11/14(月) 06:09:10.43マルチしている奴が威張るな
0148片山博文MZ
2011/11/14(月) 16:30:35.880149デフォルトの名無しさん
2011/11/14(月) 17:22:22.67CPU代金くらいだよね?プログラミングほど金のかからないものはないよね。
情報処理系の学科進んで本当によかった。
0150デフォルトの名無しさん
2011/11/14(月) 17:35:23.700151デフォルトの名無しさん
2011/11/14(月) 17:46:13.280152デフォルトの名無しさん
2011/11/14(月) 17:58:14.66言語オタクになると毎月の技術書代が・・・
何か一つの言語に集中した方が技術は身に付くし、金も掛からないんだろうな
0153デフォルトの名無しさん
2011/11/14(月) 18:03:03.00美術系の専門書とか無茶苦茶高いぞ。
0154デフォルトの名無しさん
2011/11/14(月) 18:07:46.52本で購入なんて、お前さん情強のくせにアナログなことしてんじゃねーよ
0155デフォルトの名無しさん
2011/11/14(月) 18:38:54.86満足できる品揃えじゃ無いんでね>図書館
0156デフォルトの名無しさん
2011/11/14(月) 18:39:48.75B型乙www
0157デフォルトの名無しさん
2011/11/14(月) 18:41:28.19まともな本を書いてる人に金を落とすのが情強だろ
0158デフォルトの名無しさん
2011/11/14(月) 18:41:33.10だから品揃えは自分で注文して良くするんだよ
0159デフォルトの名無しさん
2011/11/14(月) 18:41:43.59買ってくれる制度があるんだがww
それで専門書頼めば買ってくれるかな。
0160デフォルトの名無しさん
2011/11/14(月) 18:42:28.67俺は購入厨とは友達になれない。
0161デフォルトの名無しさん
2011/11/14(月) 18:43:04.450162デフォルトの名無しさん
2011/11/14(月) 18:45:37.87まじで図書館って便利だよな。
俺今までにコンピュータ関連でハード以外金使ったことないわ。
0163デフォルトの名無しさん
2011/11/14(月) 18:48:59.54こっちから願い下げだよ
0164デフォルトの名無しさん
2011/11/14(月) 18:53:27.04少ない友達大切にしろよ購入厨。
0165デフォルトの名無しさん
2011/11/14(月) 19:10:24.45金払わなくてもいいものに金払ったら負けだろ
0166デフォルトの名無しさん
2011/11/14(月) 19:15:19.520167デフォルトの名無しさん
2011/11/14(月) 19:18:37.890168デフォルトの名無しさん
2011/11/14(月) 19:18:46.43そういう人の金の使いみちを知りたい
0169デフォルトの名無しさん
2011/11/14(月) 19:21:00.680170デフォルトの名無しさん
2011/11/14(月) 19:54:53.920171デフォルトの名無しさん
2011/11/14(月) 19:58:23.160172デフォルトの名無しさん
2011/11/14(月) 20:13:32.64家賃とか光熱費とか言い出しそうでなぁ
0173デフォルトの名無しさん
2011/11/14(月) 22:30:34.190174デフォルトの名無しさん
2011/11/14(月) 22:57:31.430175デフォルトの名無しさん
2011/11/14(月) 23:09:25.96ハード・ソフト込みでゼロ
趣味で大金つかったのはアセンブラ
BASIC は親のすねが大部分で、自分の稼ぎで買ったのはほんの数十万
0176デフォルトの名無しさん
2011/11/15(火) 01:20:26.55食糞に見えた
0177デフォルトの名無しさん
2011/11/15(火) 01:35:50.81C言語のためというかプログラムのために新しいビデオカード買ったりUSBカメラ買ったり あーそういえばタブレットも買ったなぁ
あとかわいい表紙の技術書買ってみたりググって参考にしたサイトが参考にしたという技術書をあさってみたりしてるぜ
タッチディスプレイも買ったし、あぁHMZだっけか?ソニーのヘッドマウントディスプレイも欲しいな
0178デフォルトの名無しさん
2011/11/15(火) 02:19:01.10で、趣味でC言語のために使ったのは?
0179デフォルトの名無しさん
2011/11/15(火) 02:39:58.45合計金額のことなら聞かないでくれ、計算したくない
最近はHacker's Delightって本買ったのが趣味でのC言語のための出費かな
ってかC言語のためにっての難しいな、趣味(と仕事)のためのC言語だし
0180デフォルトの名無しさん
2011/11/15(火) 02:45:57.07卒業してからはLSIC-86試食版が手に入るまでC言語は使わなかったな。
C++もボーランドのフリー版が出るまでは使わなかったし・・・
0181デフォルトの名無しさん
2011/11/15(火) 02:48:19.600182デフォルトの名無しさん
2011/11/15(火) 03:04:53.370183デフォルトの名無しさん
2011/11/15(火) 03:10:34.88Vista以降にしてからそのバージョンだと起動時になんか言われるようになったから新しいの買おうかとも思ってるところ
0184デフォルトの名無しさん
2011/11/15(火) 03:15:25.05何?カジノで20億とか使ったという馬鹿は?こいつのせいで社員何人辞めることになるんだよ
0185デフォルトの名無しさん
2011/11/15(火) 03:20:06.86PC代は含めていいのか分からず。
最近は仮想化でいろいろ楽できるからいいなとおもう。
もしかすると本はもう少しかかってるかも。
0186デフォルトの名無しさん
2011/11/15(火) 03:20:44.47管理者権限で起動しないとデバッガが動かない
0187デフォルトの名無しさん
2011/11/15(火) 03:22:22.62興味がうせかけてる。
0188デフォルトの名無しさん
2011/11/15(火) 03:23:38.29安く買える学生のうちに買っておいた方がいいですかね
0189デフォルトの名無しさん
2011/11/15(火) 03:24:48.39でもとりあえずはExpressから使えばいいと思うよ。
0190デフォルトの名無しさん
2011/11/15(火) 03:25:40.12開発用OSライセンス含めて無料ってやつ。興味があるなら探してみ
0191デフォルトの名無しさん
2011/11/15(火) 03:45:17.87文字通りにしか解釈できないとか、アスペもいいとこ
0192デフォルトの名無しさん
2011/11/15(火) 03:58:19.30あれ?トレースデバッグとかできたような
>>187
ゲームにも結構な金突っ込んでるけどまだ飽きてないよ
そもそも金勘定嫌いな人なんで
0193デフォルトの名無しさん
2011/11/15(火) 04:47:42.93いっぱい使ってるから計算したくないんだよーってか計算嫌いだしwいっぱい使ってるけどねw
0194デフォルトの名無しさん
2011/11/15(火) 08:00:08.82VCとなると・・・ソフト代+5000円超えの本が6冊ぐらいかな。
0195デフォルトの名無しさん
2011/11/15(火) 08:35:32.590196デフォルトの名無しさん
2011/11/15(火) 09:19:10.78今のところ実害ないけど(デバッグも普通にできてる)、何が動かないんだろう?
0197デフォルトの名無しさん
2011/11/15(火) 09:25:06.980198デフォルトの名無しさん
2011/11/15(火) 10:28:13.990199デフォルトの名無しさん
2011/11/15(火) 12:00:20.670200デフォルトの名無しさん
2011/11/15(火) 12:04:12.87卒業しても使用していいってMSが言ってたはず
あと昔は学校関係者じゃなくて、学生限定の激安(5000円弱)のもあった
でも今はタダで使えるExpressがあるからなぁ
ホビー用途ならこれで十分じゃね
0201デフォルトの名無しさん
2011/11/15(火) 13:12:54.45ウソ情報すみませぬ
0202デフォルトの名無しさん
2011/11/15(火) 21:19:44.24俺は学生で割厨だから、金かけてパソコン勉強してる人見るとリッチだなと思う。
0203デフォルトの名無しさん
2011/11/15(火) 21:28:46.310204デフォルトの名無しさん
2011/11/15(火) 21:30:13.430205デフォルトの名無しさん
2011/11/15(火) 21:31:37.020206デフォルトの名無しさん
2011/11/15(火) 21:34:21.25コンピュータ部=BASIC
学科の授業=C言語
がデフォなんだろ・・
逆はない気がする。
0207デフォルトの名無しさん
2011/11/15(火) 21:53:08.09学科で C が全盛だった時期にはタイムラグがあるだろ。
0208デフォルトの名無しさん
2011/11/15(火) 21:55:01.90まさに、おまえさん向きということか
0209デフォルトの名無しさん
2011/11/15(火) 21:58:07.34主人公の成長に合わせて育つ言語
C の教科書が出始めたのは 1987年ごろだったかな。そのころは確か 8bit 機に統一OSの動きがあったかと。(S-OS"Sword" http://www.retropc.net/ohishi/s-os/)
0211デフォルトの名無しさん
2011/11/15(火) 22:11:21.92それは表面しか見ていない論評だ
コン部の BASIC はマシン語ランチャ
0212デフォルトの名無しさん
2011/11/15(火) 22:18:27.82どうなりますか?出力は16桁のfloat型でお願いします。
0213デフォルトの名無しさん
2011/11/15(火) 22:50:05.41ポケコンのリセットボタンを乗っ取って、
試験のとき押されてもダミーを表示する感じだった。
0214デフォルトの名無しさん
2011/11/16(水) 01:05:09.550215デフォルトの名無しさん
2011/11/16(水) 01:14:17.33web系ならたくさんあるけど
0216デフォルトの名無しさん
2011/11/16(水) 01:15:47.98金をドブに捨てるようなもんだ
0217デフォルトの名無しさん
2011/11/16(水) 01:46:27.06floatに16桁も精度はない。
0218デフォルトの名無しさん
2011/11/16(水) 01:58:45.77そうなんだけど、中国に出しちゃったりするんだよね。あれもドブ
0219デフォルトの名無しさん
2011/11/16(水) 02:38:20.22大学の友達に,C言語がまず基本だからCからやれというようなことを言われたんですけど,C言語からやった方がいいですかね?
いきなりC#をやるのは算数やらずに数学やるようなもの?
0220デフォルトの名無しさん
2011/11/16(水) 02:51:26.77とりあえず両方手を付けてみて、続けられそうなほうをがんばればいいよ。
とっかかりはどちらも覚えることが多くて大変だろうけどね。
ちなみに最後の例えは、
πを3.14と覚えればそれでいい算数(C#)と
πをどうやって求めるかを学ぶ数学(C)の
どちらから始めるかって言うこともできるので。
0221デフォルトの名無しさん
2011/11/16(水) 05:07:10.62とりあえずC言語一通りやってからC#をやってみようと思います.ありがとうございます.
0222デフォルトの名無しさん
2011/11/16(水) 05:10:18.640223デフォルトの名無しさん
2011/11/16(水) 06:56:28.700224デフォルトの名無しさん
2011/11/16(水) 07:12:53.47C言語のスキルだけで食っていけるという話なら、
自分でコンパイラ作っちゃえるぐらいのレベル。
0225デフォルトの名無しさん
2011/11/16(水) 07:40:17.69コンパイラだって純粋なC言語のスキルだけじゃ作れないだろうがw
0226デフォルトの名無しさん
2011/11/16(水) 10:21:32.430227片山博文MZ
2011/11/16(水) 10:27:08.460228デフォルトの名無しさん
2011/11/16(水) 15:59:57.39それらを書かなくても最低限のものが最初から用意されてるのがC#
0229デフォルトの名無しさん
2011/11/16(水) 16:00:52.78チェーン店で定型レシピの料理を上手に作れる料理人
どちらも本人次第で運が良ければもうかる
0230デフォルトの名無しさん
2011/11/16(水) 16:38:29.560231デフォルトの名無しさん
2011/11/16(水) 17:10:30.53しかしC#で用意されていないものを作ろうとしたとき、Cで書かれたアルゴリズムを参照することになる
0232デフォルトの名無しさん
2011/11/16(水) 17:23:16.22もっといいものを作る気がないやつの来るところではない
0233デフォルトの名無しさん
2011/11/16(水) 17:30:29.700234デフォルトの名無しさん
2011/11/16(水) 19:13:29.79何をやっても砂上の楼閣だよ。
0235デフォルトの名無しさん
2011/11/16(水) 19:18:01.670236デフォルトの名無しさん
2011/11/16(水) 19:30:41.70それが必要になるくらいC#を使えるなら、
Cのコードもなんとか読めるくらいにはなってると思う。
0237デフォルトの名無しさん
2011/11/16(水) 19:37:00.47上の文の20って、どういう意味があるんですか?
0238デフォルトの名無しさん
2011/11/16(水) 19:43:52.060239デフォルトの名無しさん
2011/11/16(水) 19:47:24.98>上の文の20って、どういう意味があるんですか?
10進数の20です。
第一引数の%cに20が対応しているので、ASCIIコード20が表示されますね。
表示できるキャラクタかしら?
それより第3引数は対応する変換器号がないから、どこかコードがおかしくないかな?
0240デフォルトの名無しさん
2011/11/16(水) 19:54:14.37じゃないの?
0241デフォルトの名無しさん
2011/11/16(水) 20:14:02.89そうです、書き間違えしてしまいスミマセン。
これを出力すると、20文字分スペースが開いて*が出力されるのですが、
出力桁数を変えるには、%cの部分に20を書かなければならないと習ったので、この20はどういう意味なのだろう?
と思い質問させていただきました。
追記申し訳ないです
0242デフォルトの名無しさん
2011/11/16(水) 20:28:32.17フィールド幅
0243デフォルトの名無しさん
2011/11/16(水) 20:33:08.30なるほど、*を付けると次の引数分スペースを開けて出力という意味になるのですか
ありがとうございました。
0244デフォルトの名無しさん
2011/11/16(水) 20:35:38.910245デフォルトの名無しさん
2011/11/16(水) 20:38:25.570246デフォルトの名無しさん
2011/11/17(木) 01:12:11.38どこが原因なんでしょうか?
http://codepad.org/Sm40ZyMW
0247デフォルトの名無しさん
2011/11/17(木) 01:16:08.820248デフォルトの名無しさん
2011/11/17(木) 01:26:37.88>fscanf(fpr,"%d",d);
fscanf(fpr,"%d",&d);
これじゃね?
ぱっと見だけでまじめに読んでないけど。
0249デフォルトの名無しさん
2011/11/17(木) 01:35:04.82gdbを使おうとしたのですが、まだ良く分かっていなくて…
>>248
それでした!完全に見落としてました。
ありがとうございました。
0250デフォルトの名無しさん
2011/11/17(木) 01:36:35.190251デフォルトの名無しさん
2011/11/17(木) 02:04:35.990252デフォルトの名無しさん
2011/11/17(木) 02:24:03.140253デフォルトの名無しさん
2011/11/17(木) 02:29:28.940254デフォルトの名無しさん
2011/11/17(木) 04:51:33.270255デフォルトの名無しさん
2011/11/17(木) 04:54:24.86昔の流儀で、プロトタイプ宣言の代わりに自前で関数を宣言している。
今なら、#include <math.h>で事が足りる。
0256デフォルトの名無しさん
2011/11/17(木) 13:32:18.44あほw
0257デフォルトの名無しさん
2011/11/17(木) 13:42:35.100258デフォルトの名無しさん
2011/11/17(木) 14:39:47.810259デフォルトの名無しさん
2011/11/17(木) 18:06:48.93(・∀・)ニヤニヤ
0260デフォルトの名無しさん
2011/11/17(木) 18:07:29.88アホすぐる
0261デフォルトの名無しさん
2011/11/17(木) 18:18:37.91関数の中にある、変数宣言や代入、他の関数の呼び出し、IF文など、まとめてなんと呼ぶんでしょうか?
ステートメントと呼んでいる文献もありましたが入門書だと触れてないのが多くて困っています。
名前なんてどうでもいいという意見もあるかも知れませんが・・・。
cdecl なら今でも。あと、構造体をもらったり返したりするようになってからは、やっぱりいるんじゃないかな。
0263デフォルトの名無しさん
2011/11/17(木) 18:33:18.49ステートメントか文でいいよ
0264デフォルトの名無しさん
2011/11/17(木) 19:17:07.14入門書にイラつけるようになったら規格票買え
0265デフォルトの名無しさん
2011/11/17(木) 19:41:24.36オフセットを用いて表現するにはどうすればいいですか?
0266デフォルトの名無しさん
2011/11/17(木) 20:23:35.89return 2;
printf("d");
はOKだけど
javaだと
return 2;
println(3);
だとエラーがでる?
これはプログラミング言語のコンパイラ及び実行マシンのどのような
性質によるものか?
レポートの問題なんですが良く分かりません。
0267デフォルトの名無しさん
2011/11/17(木) 20:25:40.600268デフォルトの名無しさん
2011/11/17(木) 20:28:46.470269デフォルトの名無しさん
2011/11/17(木) 20:42:23.13「OKだけど」とあるが、そのあと二重質問で「エラーが出る」のはなぜかになっている
0270デフォルトの名無しさん
2011/11/17(木) 20:46:44.64単純にそういう言語仕様だからってだけのような気がするけど、なんか深い理由でもあんのかね。
javaのほうが後発だからチェックが厳しくなってるとか。
0272デフォルトの名無しさん
2011/11/17(木) 21:11:08.08しないっつーポリシーだからじゃね?
Javaだとエラー扱いなのか?
0273デフォルトの名無しさん
2011/11/17(木) 21:21:37.35暫定的に処理を打ち切りたいときとかめんどくさそうだね
0274デフォルトの名無しさん
2011/11/17(木) 21:25:54.19内容はwebとまったく同じだった
0275デフォルトの名無しさん
2011/11/17(木) 21:30:41.910276デフォルトの名無しさん
2011/11/17(木) 22:41:43.110277デフォルトの名無しさん
2011/11/17(木) 22:54:01.00K&Rにしたがって以下のようなコードをコンパイルしました。
#include <stdio.h>
main(){
int c;
while( (c = getchar()) != EOF )
putchar(c);
}
実行したところ、入力した文字列はコピーされたのですが、その後入力待ち状態になります。
いろいろと実験したところ、getchar関数で最後に読み込まれている文字は'\n'のようで、
while文の条件式を(c = getchar()) != '\n'に変えると文字列コピー後プログラムが終了しました。
どうしてこのようにテキストと違う結果になるのでしょうか?
よろしくおねがいします。
0278デフォルトの名無しさん
2011/11/17(木) 22:55:12.98君がそういう環境でやっているからだよ。
0279デフォルトの名無しさん
2011/11/17(木) 23:01:24.83それはK&Rの想定するマシンでは最後に読み込まれるのはEOFだけれど、
自分のマシンでは\nになってしまっているためにwhile文が無限ループになっているという解釈で
良いのでしょうか?
0280デフォルトの名無しさん
2011/11/17(木) 23:04:07.92DOSのときは、Ctrl-ZでEOFが入力できたから、windowsでも同じなんじゃないの?
unix系は知らないけどEOFを入力する方法があるはず。
0281デフォルトの名無しさん
2011/11/17(木) 23:23:48.56正規表現とか正則表現ってどういう意味ですか?
プログラムではなく言語の一般的な概念らしいけどどういうことですか?
掻い摘んで教えてください。
0282デフォルトの名無しさん
2011/11/17(木) 23:44:11.03unix系なら ^D で入力おしまい。
0283デフォルトの名無しさん
2011/11/17(木) 23:45:28.61http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE
0284デフォルトの名無しさん
2011/11/17(木) 23:46:39.09お前、Enterキーを押してないか?
0285デフォルトの名無しさん
2011/11/17(木) 23:58:03.08押してますが・・・
わざわざEOFを>>280>>282のように手でEOFを入力しないといけなかったんですか?
てっきり自動的にEOFが最後に読み込まれるのかと思ってましたが・・・
0286デフォルトの名無しさん
2011/11/18(金) 00:02:57.81標準入力から入ってくるものは改行も含めて全部読むんだよ。
だから改行を入力したらgetchar()は'\n'を返す。
何も読めるものがなくなったらEOFを返して終わりだって事を示すの。
0287デフォルトの名無しさん
2011/11/18(金) 00:10:57.82みなさん長々とありがとうございました。
0288デフォルトの名無しさん
2011/11/18(金) 00:16:28.45そうしたらgetchar()はもう終わりだよという意味でEOFを返すの。
標準入力がファイルに繋がってる場合なら、getchar()を繰り返せば
ファイルの中身が「終わり」まで全部読めるわけ。
最初の1行だけとかじゃなくてね。
0289デフォルトの名無しさん
2011/11/18(金) 00:21:25.14上のCtrl+DなどはEOFという値ではなく、「入力終わり」を示してるってことですね?
理解が遅くて申し訳ないです。
0290デフォルトの名無しさん
2011/11/18(金) 01:53:56.15中には「EOFを入力する」なんて言い張るのもいるからね。
0291デフォルトの名無しさん
2011/11/18(金) 03:12:08.110292デフォルトの名無しさん
2011/11/18(金) 03:35:14.50ネタはいいから。
0293デフォルトの名無しさん
2011/11/18(金) 08:19:52.620294デフォルトの名無しさん
2011/11/18(金) 09:33:42.86UNIXの場合なら、^D、DOSの場合なら^Zを
データとしてコンソールから入力したい時、
どうするの?
0295デフォルトの名無しさん
2011/11/18(金) 09:54:09.090296デフォルトの名無しさん
2011/11/18(金) 10:06:03.960297デフォルトの名無しさん
2011/11/18(金) 10:22:00.59どうしても必要なら、unix系はsttyコマンドでeofを別の文字に割り当てられるけど、
エディタで予め作っておいた方がいいんじゃね?
0298デフォルトの名無しさん
2011/11/18(金) 10:25:18.35ファイル内にEOFを書くためには
ファイルシステムから選びなおさないとダメだよ
FAT とか NTFS とか ext2 ext3 なんかはダメだね
0299デフォルトの名無しさん
2011/11/18(金) 10:52:57.80配列の場合、随所でCが勝手にポインタ型に変換するから。
char s[]; の場合、sと書くと、ほとんどの場所で自動的に &s[0] に変換される。
0300デフォルトの名無しさん
2011/11/18(金) 12:56:57.710301デフォルトの名無しさん
2011/11/18(金) 16:36:07.36何も言わずにTCHARでググれ。
そして何も考えずに一番互換性のある文字型を使え。
0302デフォルトの名無しさん
2011/11/18(金) 16:47:59.36それが何なのか理解してないと混乱するばかりだと思うけど。
0303デフォルトの名無しさん
2011/11/18(金) 18:48:25.080304デフォルトの名無しさん
2011/11/18(金) 19:36:37.56scanf()が欲しいのはデータを格納する先であり、変数の中身ではない。
だから殆どのものは変数名に&をつけ、変数の中身ではなく、場所をscanf()に教えている。
(つけないとそれはただの「式」であり、結果として変数の「中身」を渡してしまうことになる)
でも、文字列を読み込むときに与えるのは配列名。
[添字]を後ろにつけずに配列名だけ書いた場合、
それが意味するのは配列の内容ではなく「配列のデータを格納している場所」そのものだからね。
場所を与えているのだから、書かなくて正解なのよ。
0305デフォルトの名無しさん
2011/11/18(金) 19:42:20.59そのまま出力したらバグるのはなんで?
0306デフォルトの名無しさん
2011/11/18(金) 19:43:32.23ターミナルの設定ができてないから
0307デフォルトの名無しさん
2011/11/18(金) 19:44:44.270308デフォルトの名無しさん
2011/11/18(金) 21:08:26.05for(i=0; i<10; i++)
{
for(j=0; j<10)A[j]=
}
←
forの中のforみたいに箱入り娘になってるA[]が
二重forを抜けたら元々のAに戻ってるのですが何故ですか?
二重forによって得られたAが欲しいのに二重forを抜けたら
その得られたAじゃない。
0309デフォルトの名無しさん
2011/11/18(金) 21:10:09.740310デフォルトの名無しさん
2011/11/18(金) 21:13:14.52省略せずにソース全部書かないと、意味不明
0311308
2011/11/18(金) 21:46:22.88#include<string.h>
int main(void)
{
char C[10]; int i,j;
for(i=0; i<10; i++)
{
char G[10]; sprintf(G,"%d",1234);
for(j=0; j<10; j++){C[i]=G[j];printf("%c\n",C[i]);}
}
printf("C=%s",C);
}
何故か配列の値がforを抜けると変わっているという・・・ わけがわかりません。
0312308
2011/11/18(金) 21:48:44.60#include<string.h>
int main(void)
{
char C[10]; int i,j;
for(i=0; i<10; i++)
{
char G[10]; sprintf(G,"%d",1234);
for(j=0; j<10; j++){C[i]=G[i];printf("%c\n",C[i]);}
}
printf("C=%s",C);
}
訂正しました。 j→i 下から4行目
0313デフォルトの名無しさん
2011/11/18(金) 21:50:37.10途中で NUL文字が入るから
0314デフォルトの名無しさん
2011/11/18(金) 21:56:59.39それ、Cに"1234"って文字列が入る動作だけど、どう動いて欲しいの?
0315デフォルトの名無しさん
2011/11/18(金) 22:06:30.22C[0]=G[0] を10回実行して何がしたいんだ
「どうなってほしいのに」「こうなってしまう」って具体的に書いてくれ
0316デフォルトの名無しさん
2011/11/18(金) 22:11:31.07http://codepad.org/lVZY9Y7D
正しく動いてると思うけど?
0317308
2011/11/18(金) 22:26:27.93例えば strが abc re tみたいなのだと、 %cで表示しようとすると
abc re tと出ますが
%s表示だと何も表示されません?何故ですか?
for(i){printf("%c",str[i])};←表示される
printf("%s",str);←表示されない
0318デフォルトの名無しさん
2011/11/18(金) 22:33:08.590319デフォルトの名無しさん
2011/11/18(金) 22:35:20.18えろいマーク書く前に落ちついて。
ちゃんとでるよ
0321デフォルトの名無しさん
2011/11/18(金) 22:38:29.110322デフォルトの名無しさん
2011/11/18(金) 22:39:55.71%c で一文字ずつ表示しようが %sで表示しようが、ちゃんと動いてるよね。
>>308はいったいどこでC言語を学んだんだ。
もし入門書とかで勉強したなら、変な入門書は窓から投げ捨てろ。
0323308
2011/11/18(金) 22:41:00.29何故でしょう?
forの二重の前にchar Aと宣言してるんです。
二重の中でAに文字が代入されて
さぁprintf("A=%s",A);とするとA= となるんです。
でもfor(i=0; i<10; i++)printf("%c",A[i])とすると、
abc re とでます。
何故でしょう?
string.hはちゃんとヘッダで読み込んでます。
0324デフォルトの名無しさん
2011/11/18(金) 22:43:19.670325308
2011/11/18(金) 22:48:20.65#include<string.h>
int main(void)
{
char A[10];
A[0]='S';
printf("%s",A);
}
の場合はちゃんとSがでました。\0を入れてないから文字化けした部分はありますが。
0326デフォルトの名無しさん
2011/11/18(金) 22:50:13.18Aは初期化してるの?
変数は宣言したら初期化しておかないと変なバグを生み出す可能性があるよ。
いったい何がやりたいんだろう?
0327デフォルトの名無しさん
2011/11/18(金) 22:50:41.21%sで文字列出力するとき、最後に改行入れてみ
0328デフォルトの名無しさん
2011/11/18(金) 22:54:06.37ごみ中の CR を受けて表示端末行頭に戻って
(でも LF居ないので次の行にいかず)
続く文字が非表示可能文字かスペースで消された
なんてことはないよな?
リダイレクトしてファイルに出力:バイナリエディタで確認すりゃわかるかもしれないが
0329デフォルトの名無しさん
2011/11/18(金) 22:56:59.860330デフォルトの名無しさん
2011/11/18(金) 23:00:25.71表示されないと言っているが、どう表示してほしいんだ?
デバッグしてやるからソース全文さらせ。
0332デフォルトの名無しさん
2011/11/18(金) 23:14:45.63遅くなりましたがありがとうございました
いろいろとつながりました
0334デフォルトの名無しさん
2011/11/19(土) 14:23:08.980335デフォルトの名無しさん
2011/11/19(土) 16:35:04.56しかしバッファを1バイトずつ読んでいって"\n"があったらその場所に行番号をfprintfで追加していくようにしても、
ファイルの中身が最終行まで全部出力された後に、行番号がまとめて出力されてしまいます。。。
ファイルをreadした後は、writeとcloseが実行されるまで、fprintfの中身の出力は追加できないのでしょうか?
どなたか詳しい方、教えていただけませんか?
http://codepad.org/
fflush()
0338デフォルトの名無しさん
2011/11/19(土) 17:10:39.43>行番号をfprintfで追加して
行の本体も、その時に編集すればいいのに。
0340デフォルトの名無しさん
2011/11/19(土) 17:57:35.36void print_array(int size,int *a[]);
int main(void){
int b[3];
print_array(3,&b);
printf("%d",b[0]);
printf("%d",b[1]);
return 0;
}
void print_array(int size,int *a[]){
int i;
for(i=0;i<size; ++i){
*a[i]=1;
}
}
ユーザ関数内で得たものを配列に入れて返したいのですが
上のプログラムだとコンパイルすると
警告 W8075 a.c 8: 問題のあるポインタの変換(関数 main )
と出て実行すると停止してしまいます。
どうすればよいのでしょうか?
0342デフォルトの名無しさん
2011/11/19(土) 18:15:01.91&bをbにすれば良かったんですね!ありがとうございます。
ちなみにどうしてただの変数を返す時と違って配列では&を使ってはいけないのでしょうか?
0343デフォルトの名無しさん
2011/11/19(土) 18:28:03.54ttp://codepad.org/FXbWcoKj
読みにくいので
ttp://codepad.org/pnBO3znk
このように書き換えましたが、多次元配列を解析する場合、入力と出力される型が
異なります。三項演算子からif文に直している部分の直し方が多分変だと思うのですが、
バグの原因が分かる人おられますか。
0344デフォルトの名無しさん
2011/11/19(土) 18:32:45.83配列の場合、配列名自体が先頭アドレスを指しているので
&b[0]と同じ意味を持つからです。
0345デフォルトの名無しさん
2011/11/19(土) 18:41:32.88これで型の整合性は合うんじゃないかな?
可変長配列をサポートしていなければ、int (*a)[3]にしないといけないけどね。
#include <stdio.h>
void print_array(int size,int (*a)[size]){
int i;
for(i=0;i<size; ++i){
(*a)[i]=1;
}
}
int main(void){
int b[3];
print_array(3,&b);
printf("%d",b[0]);
printf("%d",b[1]);
return 0;
}
0346デフォルトの名無しさん
2011/11/19(土) 18:59:26.15しかもプロトタイプ逃げてるし
憶えたての厨二コードだな
0347デフォルトの名無しさん
2011/11/19(土) 19:25:44.49ちゃんと確認していないが、D()の中のwhile()の条件を関数外出しとかしてから、綺麗にしてみたら?
パッと見、
Wが40の時に return (t(0),printf("func returning "),t(41));
Wが91 && t(0)==32 の時に return (printf("array[0..%d] of ",atoi(X)-1),t(0));
Wが91 && t(0)!=32 の時に return (printf("array of "),t(93));
それ以外 return 0;
だろ?
0348デフォルトの名無しさん
2011/11/19(土) 19:51:37.430349335
2011/11/19(土) 20:17:20.05先ほど同様、基本的にシステムコールだけ(fopenなどではなくopenなど)を使ってUNIXでいう"cat"コマンドのように
ファイル名・開始行・終了行を指定してやると、ファイルの内容(行番号付き)が指定した開始行から終了行までのみ表示されるような
プログラムを実装しようとしています。
しかし行番号は指定した通りになるのですが、肝心のファイルの内容が指定した行の通りに出力されません。
どうしたらいいのでしょうか?どなたか教えて戴きたいです。
現時点のコードは以下の通りです.
http://codepad.org/U8HzseFI
0350デフォルトの名無しさん
2011/11/19(土) 20:39:25.27を printf なり汁w
0351デフォルトの名無しさん
2011/11/19(土) 20:46:13.30なぜ低レベルI/Oを使うの?
0352デフォルトの名無しさん
2011/11/19(土) 20:59:11.35文字列出力に低レベル I/O を使う必要は無いと思うんだがな。
0353335
2011/11/19(土) 21:08:51.86いやもちろんwrite()やってるんで出力はされるんですが
たとえば
$ ./a.out test.txt 4 8
4 <01行目の内容>
5 <02行目の内容>
6 <03行目の内容>
7 <04行目の内容>
8 <05行目の内容>
みたいになるのです。
1バイトずつread()して、if文を使って指定行の範囲内でのみwrite()するようにしているのですが・・・。
readしたものをwriteしないまま再びreadをすると、次にwriteした時に、前回writeしなかったものもまとめてwriteされるという事でしょうか?
よく分からないのですが、これを解決するにはlseekとかを使えばいいのですか?
0355デフォルトの名無しさん
2011/11/19(土) 21:12:13.35じゃあ sprintf 使って作った文字列を write したほうが早くね?
0356335
2011/11/19(土) 21:31:23.87read -> 改行を発見したらsprintfで行番号を追加 -> writeということでしょうか?
0357デフォルトの名無しさん
2011/11/19(土) 21:31:42.12俺もそれ知りたい
kwsk
0358デフォルトの名無しさん
2011/11/19(土) 21:32:35.86行番号変数だけは指定の4から開始しているが、
無条件に1行目からwriteしてる
(んで、行番号が指定に達したら停止しているけど)
0359デフォルトの名無しさん
2011/11/19(土) 21:34:45.83write( ,文字列格納領域, );
って話だよw
0360デフォルトの名無しさん
2011/11/19(土) 21:52:26.46・行番号の数え方が間違っている
・read(), write()を使う課題でprintf()を使っている
・改行文字のみならず復帰文字まで改行と扱っている
0361デフォルトの名無しさん
2011/11/19(土) 21:54:17.86・readしたものを全てwriteしないで該当行まで捨てるだけだな。
・本人がいいと思うのならいいんじゃね?
・本人が(ry
0362デフォルトの名無しさん
2011/11/19(土) 21:59:16.400363デフォルトの名無しさん
2011/11/19(土) 22:05:41.60UTF-8のchar配列を出力して文字化けしないようにしたいのですが
そういうことはできなくて毎回shift-jisに変換しないとだめなのでしょうか?
0364デフォルトの名無しさん
2011/11/19(土) 22:07:37.68つまり、C言語は関係ない。
http://codepad.org/
read/write 系と stdio.h とを一緒に使わないのが近道
0366335
2011/11/19(土) 22:12:27.43oh... まさにその通りですね。。。
17行目でlinenumの初期値を1ではなく linenum = atoi(argv[2]);
としてしまっていたせいでファイルの中身が最初から表示されてしまっていました。
今思うと明らかに意味不明なのに自分じゃ気づかないものですね・・・ご指摘本当にありがとうございます。。助かりました、。。
0367335
2011/11/19(土) 22:19:26.75・行番号の数え方が間違っている
→解決しました.ありがとうございます。
・read(), write()を使う課題でprintf()を使っている
→すいません、勉強不足なもので。。
fprintf(stdout, %d, x)でもやはりだめなのでしょうか?
・改行文字のみならず復帰文字まで改行と扱っている
→read()とwrite()で一文字ずつ読んでいった時の挙動が分からなかったのでとりあえず\rと\nと\r\nのどれが来ても改行
結果として改行が2回続いていても行番号が1つしか出力されないバグが出来ましたが・・・。
こちらもどうすればいいのかご存じでしたら教えて戴きたいです。
0368デフォルトの名無しさん
2011/11/19(土) 22:29:50.65>361も書いているけど、仕様の問題だから教えるもへったくれもないよ。
0370デフォルトの名無しさん
2011/11/19(土) 23:07:06.29忙しい時期に仕事が増える
0371デフォルトの名無しさん
2011/11/20(日) 00:42:11.16こんな感じで配列に何度も数字を入れなおしたら
メモリ消費とか酷くなりますか?
int a[50]
while(j=1000){
for(i=0;i<50;i++){
a[i]=i;
}
j++
}
0372デフォルトの名無しさん
2011/11/20(日) 00:51:03.070373デフォルトの名無しさん
2011/11/20(日) 00:53:06.06アセンブラでも少しは覚えたほうがいい
0374デフォルトの名無しさん
2011/11/20(日) 00:53:17.90ならない。
メモリアロケーションは int a[50] の分だけ。
何度読み書きしようとメモリ消費量が変動したりはしない。
0375デフォルトの名無しさん
2011/11/20(日) 00:54:44.370376デフォルトの名無しさん
2011/11/20(日) 00:58:25.07アセンブラの前に、
アセンブラはCPUを設計出来るようになってからやるべき
コンピュータの基礎が全くない奴がプログラムなんて作れない
0377デフォルトの名無しさん
2011/11/20(日) 01:00:54.440378デフォルトの名無しさん
2011/11/20(日) 01:04:57.08こいつ最高にバカ
0379デフォルトの名無しさん
2011/11/20(日) 01:10:14.01ようやくCPUが何をしているのか理解出来るようになった
マになった奴って学校でCPUの設計やらされたんじゃないのか
0380デフォルトの名無しさん
2011/11/20(日) 01:20:04.460381デフォルトの名無しさん
2011/11/20(日) 01:20:55.71とりあえずはね
0382デフォルトの名無しさん
2011/11/20(日) 01:21:19.55学校でやるレベルだとストップウォッチを作ってみましょうで終わるんじゃないの?
HDL か RTL か C 記述かで変わるんだろうけど
0383デフォルトの名無しさん
2011/11/20(日) 01:26:43.53kwsk! kwsk! kwsk!
0385デフォルトの名無しさん
2011/11/20(日) 01:50:06.96チャールズペゾルドのCODEって本読むといいよ
0386デフォルトの名無しさん
2011/11/20(日) 01:54:04.12linux上でアプリケーションを作成しました。
シェルがプログラムAとプログラムBを呼び出します。
プログラムAがプログラムCをSYSTEMで呼び出します。
暫く実行すると、プログラムCがSegmentation faultかabortで終了します。
ただし、シェルで呼び出しているプログラムBをコメント化すると、Cが落ちることはなくなります。
プログラムBは単純に内部でSYSTEMコールで外部プログラムを起動するだけのものです。
(呼び出す外部プログラムは計算を行うPGですが、数秒で終了します。)
そもそも、Segmentation faultが、Cでのコードにより発生する要因として、
添え字の範囲外はmallocのfree忘れくらいしかないと思いますが、他になにかありますか?
0387デフォルトの名無しさん
2011/11/20(日) 01:57:33.02プログラムCが悪い
プログラムBは無実
プログラムCが無効なアドレスを読み書きしようとしているのが原因
0388デフォルトの名無しさん
2011/11/20(日) 01:58:31.92ファイル操作とかはないの?
0389デフォルトの名無しさん
2011/11/20(日) 02:08:02.55ところが、プログラムBの機能をプログラムAに入れると、
今度はプログラムAがSegmentation faultで落ちだします。
反面、Cが落ちることは何度か動かしましたが、確認していません。
Aに追加した場合、単純にSYSTEMコールを行うスレッドをループさせているだけなのですが。。。
>>388
ファイル操作はあります。
ただ、繰り返しでオープン、クローズを繰り返したりはないのですが。。。
書き込みファイルをオープンしたままで、プログラムCは書き込み続けます。
プログラムBはプロセスを大量に生成しますが、それは問題ないのでしょうか?
system()を使用し、同期させてますので、Bが同時に子プロセスを大量に作成することは無いし、
呼び出したプロセスが残ってる訳でもないのですが、
新しいプロセスを作るたびになにかしらの資源が消費されたりするのでしょうか?
前のプロセスは終了してるのもかかわらず。。。
0390デフォルトの名無しさん
2011/11/20(日) 02:10:46.76それならプログラムBとプログラムCの共犯だな
petzold氏 って Windows 以外の本も書いてるんですねえ。(Programming Windows 3.1 以来ご無沙汰ですけどね)
でも、目次を見るかぎりは、CPU の作り方 http://www.amazon.co.jp/dp/4839909865/ のほうが面白そう。amazon の個人お勧めリストにもいろいろとあるようですけれども。
それはそうと、verlog でどのくらいの規模の cpu を書いてるんですか?kwsk! kwsk! kwsk!
0392デフォルトの名無しさん
2011/11/20(日) 02:42:08.79むしろどの規模なら書いたことあるの?
cpu はない。xilinx/spartan3e/10万ゲートor2000ロジックのおもちゃで遊んだことなら。なんだかいろいろ積み上げていくうちに急に動かなくなってしまった記憶があります。
えーと、たぶんこれ:http://www.amazon.co.jp/dp/4789838617/
0394デフォルトの名無しさん
2011/11/20(日) 06:40:10.060395デフォルトの名無しさん
2011/11/20(日) 07:52:20.209行目
:w("array of "),t(93) の解釈がおかしい
t(93)がカンマ演算子でくっついてるのは直前のw("array of ")ではなく
t(0)==32?からの三項演算子式だ
だから>>343のでいうとt(93);はif (t(0) == 32){..}else{..}の後になる
0396デフォルトの名無しさん
2011/11/20(日) 08:06:42.09core 調べりゃどこで起きたかわかるっしょ。
それ調べずに憶測で話をしててもしょうがない。
0397308
2011/11/20(日) 09:42:13.67int main(void){
char x[10]; char y[10]; int i;sprintf(x,"%d",123);
for(i=0;i<10;i++)y[i]='\0';y[4]=x[0]; y[2]=x[1]; y[5]=x[2];
printf("%s",y);putchar('\n');
for(i=0; i<10; i++)printf("%c",y[i]);}
0398308
2011/11/20(日) 09:44:40.59> 2 13
こうなります・・・何がまずいのでしょうか? 本当は
>2 13
>2 13
こうなって欲しいのですが・・・
0399308
2011/11/20(日) 09:46:55.04#include<stdio.h>
int main(void){
char x[10];char y[10];int i;sprintf(x,"%d",123);
for(i=0;i<10;i++)y[i]='\0';y[4]=x[0]; y[2]=x[1]; y[5]=x[2];
printf("%s",y);putchar('\n');
for(i=0; i<10; i++)printf("%c",y[i]);}
訂正しました・・どこが悪いのでしょうか?
0400デフォルトの名無しさん
2011/11/20(日) 09:49:53.310401デフォルトの名無しさん
2011/11/20(日) 09:50:06.61Qは大嘘付きだからな
野田みたい
0402デフォルトの名無しさん
2011/11/20(日) 10:00:53.28スレの上のほうを見るのが面倒だから見てなくて、なにをやりたいのかいまいちわからないけどこんな感じ?
#include <stdio.h>
int main()
{
char x[10];
char y[10];
sprintf(x, "%d", 123);
y[0] = x[0];
y[1] = x[1];
y[2] = x[2];
y[3] = x[3];
printf("%s\n", x);
printf("%s\n", y);
return 0;
}
0403デフォルトの名無しさん
2011/11/20(日) 10:12:52.26int main()
と
int main(void)
どちらでもいいんですか?
0404デフォルトの名無しさん
2011/11/20(日) 10:17:31.430405デフォルトの名無しさん
2011/11/20(日) 10:40:55.17あのさぁ、printf("%s",y); ってしてるけど、y[0]に何が入ってるか理解してるよね?
y[0] == '\0' だからmainからprintfに入った時点で文字列は終端を迎えていると判断されるんだけど。
残りのy[1]からy[9]までは表示されないよ?
y[4]=x[0]; y[2]=x[1]; y[5]=x[2]; ではなく y[0]=x[1]; y[1]=x[0]; y[2]=x[2];
にしてみれば?
0406デフォルトの名無しさん
2011/11/20(日) 11:02:43.69どちらでもいいよ。
0407デフォルトの名無しさん
2011/11/20(日) 11:14:51.26Cの場合、main() は、引数があるのかもしれない(引数の個数は不定)
C++の場合、main() は、main(void)とおなじ(引数がない)
0408デフォルトの名無しさん
2011/11/20(日) 12:12:49.11>>406
>>407
ありがとうございます。
意味がわかるまではint main ()
にしときます。
0409デフォルトの名無しさん
2011/11/20(日) 12:37:48.770410デフォルトの名無しさん
2011/11/20(日) 12:51:42.270411308
2011/11/20(日) 12:54:59.06なるほど!!!'\0'の性質今やっと知りました・・
一応xとyの添え字の対応はランダムです。
ってことは,必要な所以外は' 'のスペースをいれておけばいいのですね。
ありがとうございます・・
0412デフォルトの名無しさん
2011/11/20(日) 13:05:37.48あと、初心者の質問に、わざわざ実ソースコードを書いて親身に説明するところも感心するし、尊敬もする。普通はめんどくさくてやらない。
QZは、普通に良コテになれる素質は十分にある。
とりあえず演技でもいいから、「俺は実はすごい人なんです。うふふ」的な演出を所々に挟むのは控えたほうがいい。
それだけで印象は大分変わる。
反感買いそうな憎まれ口的な要素を含んだ発言は、コテ外してやった方がいい。いつもコテ付ける正直者もいいけど、
その辺は要領良く使い分けようぜ…orz
0413デフォルトの名無しさん
2011/11/20(日) 13:10:29.16ちゃんとコテつけて書きこめよ、Q
0414デフォルトの名無しさん
2011/11/20(日) 13:41:35.58どうだろなあ。
CとC++の区別がハッキリ判るまでは省略形のが良い気がするけど。
0415デフォルトの名無しさん
2011/11/20(日) 14:02:50.03その言語の規定に従って記述すべき。
省略は、意味が分かってからでもできる。
0416デフォルトの名無しさん
2011/11/20(日) 14:14:18.410417デフォルトの名無しさん
2011/11/20(日) 14:39:08.18いや、ケチるんじゃなくて
たまたま動く誤った記法になり得る記法を続けるよりは
一応どっちでも正しく通る記法を使ったほうがよくね?
0418デフォルトの名無しさん
2011/11/20(日) 14:43:04.55よりも
std::vector< int >::iterator i = v.begin();
の方が明示的なので良い、と。
それがC99 で変わった。
ISO/IEC 9899:1999 6.7.5.3.14
An identifier list declares only the identifiers of the parameters of the function. An empty
list in a function declarator that is part of a definition of that function specifies that the
function has no parameters. The empty list in a function declarator that is not part of a
definition of that function specifies that no information about the number or types of the
parameters is supplied
つまり、int main() { ... } のように、part of definition of that funcsion ――関数宣言と同時に関数の内容も同時に定義している場合には、
int main() は no parameters、すなわち int main(void) と同じ。
すなわち
>>406 が厳密にあてはまって、どちらでもいい。
>>401
せめてここまで記述できるぐらいにまで成長してほしいものですが、百年一日なんにも変わらないのは、もう obsolete ―精神的に干上がった―なのでしょうか?
>「俺は実はすごい人なんです。うふふ」的な演出を所々に挟むのは控えたほうがいい。
そっかー。
身の丈でお話しているつもりで、そんな演出意図はぜんぜんないのですけれども、そうなってしまうのですか‥‥‥。
ちょっと考えていましたが、とりあえず >>336 の方針でやっていこうと思っています。
0421デフォルトの名無しさん
2011/11/20(日) 15:23:47.64いちいち下に表示していくんじゃなくてアニメーションみたいにするにはどうすればいいですか?
0422デフォルトの名無しさん
2011/11/20(日) 15:26:32.95無理だろ
Qは人格障害だから
0423デフォルトの名無しさん
2011/11/20(日) 15:33:32.28アニメーションと言うわけにはいかないけれど、改行文字の代わりに復帰文字を使ってはどうだろう。
0424デフォルトの名無しさん
2011/11/20(日) 15:34:21.140425デフォルトの名無しさん
2011/11/20(日) 15:38:24.240426デフォルトの名無しさん
2011/11/20(日) 15:52:09.250427デフォルトの名無しさん
2011/11/20(日) 15:54:22.94ここの>ただし、この問題は以下に示すようにいくつかのデータセットが与えられることに注意して下さい。
に対する、関数が宣言できずに困ってます。
とりあえず,int k[20]; でつくって提出しましたWrong Answerになってしました。
提出したソース
#include <stdio.h>
int main()
{
int i,j,count;
int k[20];
i = 0;
count = 0;
while(1){
scanf("%d",&k[i]);
if(k[i] == 0)break;
i++;
count++;
}
for(j=0;j<count;j++)
printf("Case %d: %d\n",j+1,k[j]);
return 0;
}
0428デフォルトの名無しさん
2011/11/20(日) 15:58:08.95問題読んだ?
リンク間違い?
0429デフォルトの名無しさん
2011/11/20(日) 15:58:42.56http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10006
0430デフォルトの名無しさん
2011/11/20(日) 16:07:18.46小数第15位(double)くらいまで近時させるにはどういった計算をすべきだろう?
おしえてエロい人。
0431デフォルトの名無しさん
2011/11/20(日) 16:10:47.42一行単位で扱うようにして fgets
数値かどうか判定して sscanf
逐次出力 配列いらない
すればいいんじゃね?
0432デフォルトの名無しさん
2011/11/20(日) 16:11:28.95exp(x, y)
0433デフォルトの名無しさん
2011/11/20(日) 16:15:22.31すまんこ
説明不足だったライブラリ無しで作ってる
ちなみに今はe^x = 1 + Σ(x^n)/n!
これだと一つの項が大きくなりすぎて切り捨てられてしまう。
0434デフォルトの名無しさん
2011/11/20(日) 16:21:48.82int a[20];
1.23456789なら
a[0]=1;
a[1]=2;
とかやって、n倍、桁上がりを自分で実装か?
0435デフォルトの名無しさん
2011/11/20(日) 16:31:51.88まず用語の意味を正しく覚えよう。
0436デフォルトの名無しさん
2011/11/20(日) 16:32:54.55これで
有効桁数15桁じゃなくて常に小数点以下15桁が必要なら多倍長演算しないとダメ
#include <stdio.h>
double myexp2(int x, int n, double x_n_n)
{
if(x_n_n<1.0e-16) return 0.0;
return myexp2(x, n+1, x_n_n*x/n)+x_n_n;
}
double myexp(int x)
{
return myexp2(x, 1, 1.0);
}
int main(void)
{
printf("%.20f\n", myexp(5));
return 0;
}
0437デフォルトの名無しさん
2011/11/20(日) 16:39:43.170438デフォルトの名無しさん
2011/11/20(日) 16:49:30.73ありがとう。暇つぶしによさげだわw
ちなみに、こんな感じのコードを提出したらAcceptedになりました。
http://ideone.com/rtZqP
0439デフォルトの名無しさん
2011/11/20(日) 16:51:31.78積み残し誤差が問題なら後ろ側から足してけ
小さい方から足すと積み残し誤差は最小限に抑えられる
浮動小数点数の宿命だな
0440デフォルトの名無しさん
2011/11/20(日) 16:55:48.66realloc()とか使ったらだめなん?
配列の大きさを決め打ちするとWrong Answerになるならvectorみたいな
コンテナがいいけど、頑張ればCでも書けない事もない
0441デフォルトの名無しさん
2011/11/20(日) 17:15:43.51いささかトリッキーだけど、Cでもこういう風に書けばメモリの許す限りデータを入力出来る
http://ideone.com/KBxEV
0442デフォルトの名無しさん
2011/11/20(日) 17:47:39.28色々と助言ありがとう
実戦してみる
0443デフォルトの名無しさん
2011/11/20(日) 17:55:54.100444デフォルトの名無しさん
2011/11/20(日) 18:19:47.00topcoderいきな
0445デフォルトの名無しさん
2011/11/20(日) 19:33:03.92俺専門(笑)何だけど
0446デフォルトの名無しさん
2011/11/20(日) 19:42:55.970447デフォルトの名無しさん
2011/11/20(日) 20:03:09.57この配列の各要素に、10進数の各位の数をセットしたものを、多倍長型として定義して、
この多倍長型同士の掛け算関数も実装して、
多倍長型を使って適当に固定小数点数として扱ってA,Bを乗算すれば、仕組みがシンプルで簡単じゃね?
0448447
2011/11/20(日) 20:04:39.47複素数じゃなくて、普通のchar型配列とかでいいですw
0449デフォルトの名無しさん
2011/11/20(日) 20:08:38.650450デフォルトの名無しさん
2011/11/21(月) 02:26:59.48引数を二つ持った再帰関数の問題なのですが、
停止条件がなぜ1ではなく(base)になるのか理解できません。
停止条件を1にしてみると27になり、1乗分足りないようです。
なぜなのでしょうか?
自分なりに調べましたが、引数を2つ持った再帰関数の情報が見つけられませんでした、
お手数とは思いますが、よろしくお願いします。
#include<stdio.h>
int power (int ,int);
int main (void){
printf("%d\n",power(3,4));
return(0);
}
int power (int base ,int exponent){
if(exponent == 1)
return (base);
else{
return(base * power(base,(exponent-1)));
}
}
0451デフォルトの名無しさん
2011/11/21(月) 02:57:55.47return 1にしたいならexponent==0だろ。
0452デフォルトの名無しさん
2011/11/21(月) 03:03:02.920453450
2011/11/21(月) 03:35:34.08if(exponent == 1) return (base);
つまり、baseの1乗はbaseなので、1乗になったらbaseを返す。
if(exponent == 0) return (1);
baseの0乗は1、0乗になったら1を返す。解ってしまえば当たり前な事でした。
再帰一回分余計になるからこうなっているのですね。
階乗の停止条件を形だけでしか見れていなかったようです。
return(base * power(base,(exponent-1)));
ここの理解も曖昧だったのですが、
手書きでなぞってみたら
return(base * 3);
return(base * 9);
return(base * 27);
と帰っていく流れが掴めました。
(base * power(base,(exponent-1)))
停止条件のreturnからbaseを返してもらって、
(base * base)
(base * (base * base))
(base * (base * base * base))
最後にprintfに81を返すと。
良かったです、ありがとうございました。
つぎはハノイの塔に挑戦してきます。
0454デフォルトの名無しさん
2011/11/21(月) 06:41:25.81#include <stdio.h>
int main(void)
{
int num = 0;
int sum = 0;
printf("計算したい数字を入力(0で終了)\n");
do{
scanf("%d", &num);
sum += num;
}while(num);
printf("合計は%dです\n",sum);
return 0;
}
�@scanfして数字をnumへ
�Asumに加算する
�Bくり返しの条件はnumが0以外の時
while(num != 0)なら、0以外ならくり返し(=0入力で終了) と分かるのですが、
while(num) がなぜ0のとき終了できるのか分かりません。どういうことでしょうか(´;ω;`)
0455デフォルトの名無しさん
2011/11/21(月) 07:01:55.466.8.5 繰返し文
構文規則
繰り返し文:
while (式) 文
do 文 while (式)
for (式opt ; 式opt ; 式opt) 文
for (宣言 式opt ; 式opt) 文
(中略)
意味規則 繰返し文は、ループ本体 (loop body) と呼ばれる文を、
制御式が0と比較して等しくなるまでの間、繰り返して実行する。
確かに普通わかりやすく書くのであれば
do {...} while(num != 0)
で 「num が 0 でなければループ続行」。
これは != 演算子が「二つの項が等しくなければ 1、それ以外ならば 0 」を返す2項演算子と考えてよいから。
printf("%d\n", 1 != 0)
printf("%d\n", 1 != 1)
を実行させて値を調べてみよ。
do {...} while () 文は条件式が 0 以外のときループを続行する。
したがって、これを
do { ... } while (num)
と書いても同じ意味。
if 文でも同じことがいえる。
if (a != 0) { ... }
を
if (a) { ... }
と書くことができる。
0457デフォルトの名無しさん
2011/11/21(月) 08:02:59.48難しく考えることはない。式の値は、0じゃなければ真となる。
でも、!=0を書くことは意味をはっきりさせることになるから必要が無ければ書かない癖はつけない方がいい。
0458デフォルトの名無しさん
2011/11/21(月) 08:51:11.45おぉありがとうございました(´;ω;`)気が楽になりました モヤモヤすっ飛んだ
0459デフォルトの名無しさん
2011/11/21(月) 09:53:20.10/*5件の体重データをキーボードから入力し体重の最大、最小、平均、合計を求めよ*/
#include<stdio.h>
int main(void)
{
float weight,kei=0,heikin,max=0,min=1000;
int n=1; //ここはint型にするべきなのか?float型にすべきか?
while(1){
printf("%d件目のデータを入力してください: ",n);
scanf("%f",&weight);
if(n==0)break;
kei = n;
n++;
if(n==1){
不明;
不明;
}
if(weight>max)
max=weight;
if(min>weight)
min=weight;
}
heikin=kei/n;
printf("合計 %6.1f\n件数 %6.0f\n平均値 %6.1f\n最大値%6.1f\n最小値%6.1f\n",kei,n,heikin,max,min);
return 0;
}
0460デフォルトの名無しさん
2011/11/21(月) 10:16:32.23論理的思考がきちんとできていない悪寒。
n は件数を数えるだけだから整数型でいい。
それ以外のことは、ロジックをきちんと考えて作り直してからだな。
0461デフォルトの名無しさん
2011/11/21(月) 15:33:40.03指摘されないのかね?
0462デフォルトの名無しさん
2011/11/21(月) 16:16:52.260463デフォルトの名無しさん
2011/11/21(月) 16:54:18.45heikin→ave
n→cnt
などのようにして統一するべき
それよりも型が不明ですとか
ソースが埋められませんだと
勉強の仕方や手順に問題があるな
0464デフォルトの名無しさん
2011/11/21(月) 16:55:47.77重箱の隅
0465デフォルトの名無しさん
2011/11/21(月) 17:07:43.380466デフォルトの名無しさん
2011/11/21(月) 17:26:51.40似たような問題があっても可笑しくない
0467デフォルトの名無しさん
2011/11/21(月) 17:30:23.94数年前だとチト判らねェなあ
コピペ臭いソースだって?
ここにゃ沢山あるからねェ
0468デフォルトの名無しさん
2011/11/21(月) 17:32:06.28教える内容なんて毎年変わらない
0469デフォルトの名無しさん
2011/11/21(月) 17:33:35.010470デフォルトの名無しさん
2011/11/21(月) 18:00:32.760471デフォルトの名無しさん
2011/11/21(月) 18:02:26.190472デフォルトの名無しさん
2011/11/21(月) 18:42:30.9478年後だよ。どうしてそんなのも計算できないのにプログラムやってるのはなぜ?
0473デフォルトの名無しさん
2011/11/21(月) 19:21:00.87lisp と同じくらいに C も存在しているだろう。
0475デフォルトの名無しさん
2011/11/21(月) 20:02:42.43それにlispもCもあるか分からないが正解
0476デフォルトの名無しさん
2011/11/21(月) 20:43:33.21プログラミングなんてなくなってるような気がする。
自然言語でおkみたいな。
0477デフォルトの名無しさん
2011/11/21(月) 20:50:23.60ん??順当に考えれば2015年の冬じゃないか?
0478デフォルトの名無しさん
2011/11/21(月) 20:52:56.710479デフォルトの名無しさん
2011/11/21(月) 20:54:15.630480デフォルトの名無しさん
2011/11/21(月) 20:56:03.15ビル・ゲイツはPowerPointみたいにプログラミング出来ないか?と社内で言い続けて、それでもVC/VB/VC#しか無いんだぞ
理想にいちばん近いのでもスクラッチが今の限界だ
0481デフォルトの名無しさん
2011/11/21(月) 21:11:43.88char str[] = "ABCDEFG";
と宣言するのと
char *str = "ABCDEFG";
と宣言するのと
char str[8];
と宣言してヌル文字含めて一文字ずつ代入するのとで出来上がるstrに違いってありますか?
出力したりサイズ測ったりSTRCMPで比べたりしてみた限りでは違いは無いみたいなのですが・・・
0482デフォルトの名無しさん
2011/11/21(月) 21:11:55.190483デフォルトの名無しさん
2011/11/21(月) 21:12:26.14//ソースコード
int main(void){
char str1[] = "ABCDEFG";
char *str2 = "ABCDEFG";
char str3[8];
str3[0] = 'A';
str3[1] = 'B';
str3[2] = 'C';
str3[3] = 'D';
str3[4] = 'E';
str3[5] = 'F';
str3[6] = 'G';
str3[7] = '\0';
printf("str1:%s, sizeof str1:%lx\n",str1, sizeof str1);
printf("str2:%s, sizeof str2:%lx\n",str2, sizeof str2);
printf("str3:%s, sizeof str3:%lx\n",str2, sizeof str3);
printf("str1 = str2 :%d\n", strcmp(str1,str2));
printf("str2 = str3 :%d\n", strcmp(str2,str3));
printf("str3 = str1 :%d\n", strcmp(str3,str1));
}
0484デフォルトの名無しさん
2011/11/21(月) 21:12:38.34str1:ABCDEFG, sizeof str1:8
str2:ABCDEFG, sizeof str2:8
str3:ABCDEFG, sizeof str3:8
str1 = str2 :0
str2 = str3 :0
str3 = str1 :0
0485デフォルトの名無しさん
2011/11/21(月) 21:16:07.19read onlyの文字列の領域が確保された後にそのアドレスをポインタで指すか
0486デフォルトの名無しさん
2011/11/21(月) 21:18:14.10文字数変えても sizeof str2 の数値だけは変わらんよ
ポインタが 8byte ってことは 64bit でコンパイルしたのかな?
0487デフォルトの名無しさん
2011/11/21(月) 21:25:03.8160年代とか、チェスで人間に勝つのは絶対無理とか言ってた学者がいたのに勝てたじゃん。
50年もしたらなにがおきるかわからん。
0488デフォルトの名無しさん
2011/11/21(月) 21:34:48.83>>485
なるほど、str1とstr2は後から書き換えできないんですね。
書き換えるとしたら、別の文字列を用意してポインタの参照先変更ですか。
>>486
あー確かにこれだとポインタ変数のサイズになっちゃいますね
STRLEN使わないとダメですか。
Macでやってるので64bitになってるかも知れません・・・
32ビットだと4バイトになるのですか?
てか最後の出力のとこ間違ってstr2になってますね 正しくはstr3です
0489デフォルトの名無しさん
2011/11/21(月) 21:52:39.58str1は配列の初期化、最後に\0ははいらない
0490デフォルトの名無しさん
2011/11/21(月) 21:56:25.15str1とstr3は初期化と代入という違いはあるけどほぼ同じ
0491デフォルトの名無しさん
2011/11/21(月) 21:57:36.1050年もしたら将棋で人間に勝てるようになってるかもね
0492デフォルトの名無しさん
2011/11/21(月) 22:15:49.58女流は負けた。将棋連盟会長も苦しいだろう。ここは光速の谷川さんに期待したい。
0494デフォルトの名無しさん
2011/11/21(月) 22:45:16.070495デフォルトの名無しさん
2011/11/21(月) 23:07:48.750496デフォルトの名無しさん
2011/11/21(月) 23:12:55.77下の(1)と(2)って意味が異なりますか?
どちらも必ず処理を1つ行った後にbreakされると思っているのですが
結果が異なるようです。何か助言があればお願いします。
(1)breakを出した状態
switch (c) {
case A: if(aa>bb){処理 A;}
break;
case B: if(aa>bb){処理 B;}
break;
default:処理 N;
}
---------------------------------------------------------
(2)breakを{}に含めた場合
switch (c) {
case A: if(aa>bb)
{
処理 A;
break;
}
case B: if(aa>bb)
{
処理 B;
break;
}
default:処理 N;
}
0497デフォルトの名無しさん
2011/11/21(月) 23:15:49.51全然ちがいます
0498デフォルトの名無しさん
2011/11/21(月) 23:18:54.48入門書読め
0499デフォルトの名無しさん
2011/11/21(月) 23:22:15.25ってことはこうですかね
パターン1:char str[(要素数)] (= 文字列リテラル);
要素数分の配列を用意してから、文字列リテラルで初期化する。文字列リテラルの代わりに{'A','B','C',・・・'\0'}でも初期化出来るが、ヌル文字は自動で追加されない。
文字列リテラルで初期化した場合のみ、要素数を省略可能。その場合、文字列リテラルの文字数+1(ヌル文字分)の要素数の配列となる。
要素数を指定した場合、文字列リテラルの文字数に関わらず指定した要素数の配列になるが、要素数≧文字列リテラルの文字数+1でないと初期化するときにエラーが出る。
後から各要素に代入可能だが、ヌル文字のない文字列にならないよう注意しなければいけない。
パターン2:char *str = 文字列リテラル;
書き換え不能な文字列リテラルがメモリ上に用意されたあと、文字列の先頭アドレスがstrに格納される。アドレスの参照先は変更可能だが、文字列の各要素に代入は出来ない。
それにしてもC言語の文字列の扱いは面倒ですねぇ
なんかまだ落とし穴がありそう・・・
0500496
2011/11/21(月) 23:22:58.86>>498
case Aが必ず選択されて、aa>bbが真になる場合でも
処理が違うということでしょうか??
case Aが選択されてaa>bbが偽になる場合にcase Bが実行されるのは分かるんですが
0501デフォルトの名無しさん
2011/11/21(月) 23:25:10.23×文字列リテラルで初期化した場合のみ、
↓
○文字列または配列要素列挙で初期化した場合のみ、
または、
○初期化した場合のみ、
てかリテラルじゃなくても初期化は出来ますな
0502デフォルトの名無しさん
2011/11/21(月) 23:26:26.60何を聞きたいのか分からん
いつもそれが成り立つなら switch いらないよ
0503デフォルトの名無しさん
2011/11/21(月) 23:28:40.46(2)だとcase A:で処理Aを行った時しかブレークしないじゃん
つまりcase Aかつ、 aa>bbでないとき、ブレークせずにcaseBの分岐に行っちゃう。
0504デフォルトの名無しさん
2011/11/21(月) 23:29:41.32そこだけみれば一緒じゃないかな。
ただaa>bbが偽のときに処理Nに行くけどいいのか?
0506デフォルトの名無しさん
2011/11/21(月) 23:37:11.59>str1とstr2は後から書き換えできないんですね。
str1は書き換えられる。
str1とstr3は初期値付の宣言か、宣言後の代入かの違いで、
ほぼ同等といえる。
0507デフォルトの名無しさん
2011/11/21(月) 23:42:25.91>要素数分の配列を用意してから、文字列リテラルで初期化する。文字列リテラルの代わりに{'A','B','C',・・・'\0'}でも初期化出来るが、ヌル文字は自動で追加されない
NULキャラ込で初期化されるぞ。
>要素数を指定した場合、文字列リテラルの文字数に関わらず指定した要素数の配列になるが、要素数≧文字列リテラルの文字数+1でないと初期化するときにエラーが出る。
今手元にK&Rが無いので調べられないが、配列サイズより文字列リテラルが大きい場合は、
未定義だったと思う。
>後から各要素に代入可能だが、ヌル文字のない文字列にならないよう注意しなければいけない。
先に述べたように、NULキャラ込で初期化されるので、サイズだけ気にすれば良い。
0508デフォルトの名無しさん
2011/11/21(月) 23:47:33.20本でサイコロを作成し、
label1.Textにランダムで1〜6の数字を表示させるプログラムがあります。
それを今度、数字ではなく、●の数(1であれば●1つ)で表現する演習があります。
■
Random suuji = new Random();
label1.Text= suuji.Next(1, 7).ToString();
0509デフォルトの名無しさん
2011/11/21(月) 23:48:02.08マジですか!
てことは
char str = {'A','B','C','D','E','F','G'};
でもちゃんと文字列として最後にヌル文字勝手に追加されて初期化されるんですかね?
逆に文字列としてではなく単なる文字型の配列として初期化したい場合どうすればいいんでしょうか?
また、ヌル文字のある要素にヌル文字以外の文字を代入した場合、自動的に次の要素にヌル文字が自動代入されるってことでしょうか?
0510デフォルトの名無しさん
2011/11/21(月) 23:51:06.61本でサイコロを作成し、
label1.Textにランダムで1〜6の数字を表示させるプログラムがあります。
それを今度、数字ではなく、●の数(1であれば●1つ)で表現する演習があります。
数字を表示させる行を少し改良し
Random suuji = new Random();
label1.Text= suuji.Next(1, 7).ToString(); から
Random suuji = new Random();
suuji.Next(1, 7).ToString();
if (suuji="1")
label1.Text="●"
とif文を入れてみたのですがうまくいきません・・・
本の中に答えが無く、先に進めません・・・どうすればいいのですか?
0511デフォルトの名無しさん
2011/11/21(月) 23:52:45.71スレチ
言語が違うよ
0512デフォルトの名無しさん
2011/11/21(月) 23:54:23.73↓
label1.Text="●";
0513デフォルトの名無しさん
2011/11/21(月) 23:55:36.87if (suuji="1")
↓
if (suuji.Next(1, 7)=="1")
0514デフォルトの名無しさん
2011/11/21(月) 23:56:30.86if (suuji="1")
↓
if (suuji.Next(1, 7)==1)
0515507
2011/11/22(火) 00:46:13.21>char str = {'A','B','C','D','E','F','G'};
>でもちゃんと文字列として最後にヌル文字勝手に追加されて初期化されるんですかね?
ちがう。>>499自分で言っているように
char str[(要素数)] (= 文字列リテラル);
で初期化する場合はヌル文字込で初期化される。
「文字列リテラル」ってのは"でくくられたものだよ。わかっている?
char str[] = {'h', 'o', 'g', 'e', '\0'};
の簡易記法が
char str[] = "hoge";
と思っておけば良い。
>逆に文字列としてではなく単なる文字型の配列として初期化したい場合どうすればいいんでしょうか?
下記だね。
char str[] = {'h', 'o', 'g', 'e'};
>また、ヌル文字のある要素にヌル文字以外の文字を代入した場合、自動的に次の要素にヌル文字が自動代入されるってことでしょうか?
もちろん、そんな気の利いたことはしてくれない。
0516デフォルトの名無しさん
2011/11/22(火) 00:57:20.49えっと、つまり、やっぱり
文字列リテラル(ダブルクォーテーションで括られた文字の羅列)で初期化した場合と違って、
配列要素を列挙して初期化した場合ヌル文字は自動で追加されないから最後にヌル文字も列挙しないといけないってことですよね?
また、要素にアクセスしてヌル文字を上書きしてしまった場合、ヌル文字を自動で追加したりはしてくれないので、ヌル文字が無い配列にならないよう、
ヌル文字より前だけをいじるか、ヌル文字を上書きした場合、それより後ろにちゃんとヌル文字を自分で挿入しないといけないってことですよね。
>>499はそういうつもりで書いたのですが・・・
0517デフォルトの名無しさん
2011/11/22(火) 01:02:50.36は?
分かってるんだったら>>509みたいに揚げ足取りみたいな聞き方しないでそういうつもりで書きましたって最初から書けばいいじゃん。
わざわざ試すような聞き返し方して、どういうつもり?舐めてんのお前?立場分かってる?死ねば?
0518デフォルトの名無しさん
2011/11/22(火) 02:26:38.10言いたいことをシンプルに伝えられるようにするか、規格読むのがいい。
>>507は普通に間違えてるからびっくりする気持ちもわかるけどね。
> > 文字列リテラルの代わりに{'A','B','C',・・・'\0'}でも初期化出来るが、ヌル文字は自動で追加されない
> NULキャラ込で初期化されるぞ。
0519デフォルトの名無しさん
2011/11/22(火) 03:48:38.500520デフォルトの名無しさん
2011/11/22(火) 07:59:30.360521デフォルトの名無しさん
2011/11/22(火) 08:36:42.54上司がよければそれなりに役に立つが
勝手に問題をばら撒く、もしくは勝手に悩んでつぶれるやつが多い
0522デフォルトの名無しさん
2011/11/22(火) 09:00:34.63有能な働き者は参謀にせよ。
無能な怠け者は...
そうだな、連絡将校ぐらいならできるだろう。
無能な働き者?
それは処刑するしかあるまい。
0523デフォルトの名無しさん
2011/11/22(火) 12:09:05.10printf("%c",c);
としなくてはいけないところ、
int c = 'a';
printf("%c",c);
でもちゃんとaと表示されるのはなぜですか?
0524デフォルトの名無しさん
2011/11/22(火) 12:14:16.58'a'は97の別の書き方。(文字コードがASCIIの場合)
charもintも整数。
0525デフォルトの名無しさん
2011/11/22(火) 12:22:58.940526デフォルトの名無しさん
2011/11/22(火) 12:28:02.440527デフォルトの名無しさん
2011/11/22(火) 12:32:29.150528デフォルトの名無しさん
2011/11/22(火) 12:32:52.25int ic='b';
printf("%c %c\n",cc,ic);
逆アセンブル
char cc='a';
004113CE mov byte ptr [cc],61h
int ic='b';
004113D2 mov dword ptr [ic],62h
printf("%c %c\n",cc,ic);
004113D9 mov esi,esp
004113DB mov eax,dword ptr [ic] ;/*int型変数icの値を32bitレジスタに読み込み*/
004113DE push eax
004113DF movsx ecx,byte ptr [cc] ;/*char型変数ccの値を32bitレジスタに読み込み*/
004113E3 push ecx
004113E4 push offset string "%c %c\n" (4157A0h)
004113E9 call dword ptr [__imp__printf (4182C8h)]
004113EF add esp,0Ch
004113F2 cmp esi,esp
004113F4 call @ILT+325(__RTC_CheckEsp) (41114Ah)
charでも32ビットの数値として渡してる。
0529523
2011/11/22(火) 12:36:45.59てことはintでも正解ということですか?
やっぱりcharにしないとダメですか?
0530デフォルトの名無しさん
2011/11/22(火) 12:57:45.410531523
2011/11/22(火) 13:12:07.48ほintにありがとう。
0532デフォルトの名無しさん
2011/11/22(火) 13:52:03.60後悔はしてない。
0533デフォルトの名無しさん
2011/11/22(火) 14:49:09.41ポインタと同じサイズと定義されてるわけじゃないのか。
ポインタと同サイズと定義されてる整数型ある?
0534デフォルトの名無しさん
2011/11/22(火) 14:57:23.430535デフォルトの名無しさん
2011/11/22(火) 17:37:33.45これどうですかね?
Cの勉強にはなりませんか?
0536デフォルトの名無しさん
2011/11/22(火) 17:49:49.62C勉強したけりゃCの入門書買えよw
0537デフォルトの名無しさん
2011/11/22(火) 17:59:33.270538デフォルトの名無しさん
2011/11/22(火) 18:08:42.650539デフォルトの名無しさん
2011/11/22(火) 18:31:03.670540デフォルトの名無しさん
2011/11/22(火) 18:54:19.090541デフォルトの名無しさん
2011/11/22(火) 18:56:22.310542デフォルトの名無しさん
2011/11/22(火) 19:10:29.360543デフォルトの名無しさん
2011/11/22(火) 19:17:30.560544デフォルトの名無しさん
2011/11/22(火) 19:19:50.84うん
0545デフォルトの名無しさん
2011/11/22(火) 21:35:08.95fgetsに置き換えたんですが、fgets前の別のscanfで1度読み込んだ行(最後の改行だけ?)を読み込んでしまいます。
問題は http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=10015
作ったソースは http://codepad.org/45oveU94 です
現状は1回目のfgetsだけ、入力前に読み込んでその後はちゃんと意図通り読み込んでます
(ただ、ひとつずれた状態で必要な回数−1だけ)
0546デフォルトの名無しさん
2011/11/22(火) 21:38:17.57その程度で「真」とか言ってるのはバッカー
もっと上のレベルで破壊活動する奴と開拓的なことをする人を区別する呼び名がある
0548デフォルトの名無しさん
2011/11/22(火) 22:23:18.50scanfでやればいいのに
0549デフォルトの名無しさん
2011/11/22(火) 22:32:37.01ググってたら、scanfつかうな みたいなのがいくつかあって迷走しちゃいました(涙
つかったときのソース
http://codepad.org/sIqIrd29
これは前行の改行をよみこんじゃってるのかな?
0550デフォルトの名無しさん
2011/11/22(火) 22:46:31.57これに休日の6時間つかちゃった
http://codepad.org/g2V94Wn8
0551デフォルトの名無しさん
2011/11/22(火) 22:48:50.00fgets して、sscanf
printf() のような可変長引数関数の場合は、char 引数は int に格上げ(integral/integer promotion)される。
>>526
ISO/IEC 9899:1999 TC2ならいくらでも転がっている。
0553デフォルトの名無しさん
2011/11/22(火) 22:59:36.47http://codepad.org/dHAcWsVr
0554デフォルトの名無しさん
2011/11/22(火) 23:03:10.03そういうときはどうしてますか?
混合させずにscanfはもう使わないほうがいいのかな
fgets() と *scanf() は混在できないらしい。理由は私もわからない。
http://ideone.com/Aj46b
0556デフォルトの名無しさん
2011/11/22(火) 23:20:59.93>int cards[4][13]={0};
厳密にはまずい。>>555 参照。
>cards[0][d-1]=1;
さりげなくちゃんと訂正してますね。
0557デフォルトの名無しさん
2011/11/22(火) 23:30:43.26http://ideone.com/t3WSB
0558デフォルトの名無しさん
2011/11/22(火) 23:55:17.89*left_x=(1/16*(left_in_x-1));
*up_y=(1/16*(up_in_y-1));
*right_x=(1/16*right_in_x);
*down_y=(1/16*down_in_y);
}
float
Tx_Left_X,
Tx_Right_X,
Tx_Up_Y,
Tx_Down_Y;
TP2(1,1,1,1,&Tx_Left_X,&Tx_Up_Y,&Tx_Right_X,&Tx_Down_Y);
うまく数字が返ってこないです
ホントはTP2関数を使ったら
Tx_Left_Xとかの値が変わってるはずなんですが…
0559デフォルトの名無しさん
2011/11/23(水) 00:04:04.70すごく参考になりました。
0560デフォルトの名無しさん
2011/11/23(水) 00:08:14.080561デフォルトの名無しさん
2011/11/23(水) 00:13:13.44整数同士の割り算の結果は整数になるので例えば1/16 = 0 となっている、と思う。
0562デフォルトの名無しさん
2011/11/23(水) 00:14:27.251/16が整数のまま計算されて0になるんじゃね。
1.0/16.0とかやってみたら?
0563デフォルトの名無しさん
2011/11/23(水) 00:20:10.400564デフォルトの名無しさん
2011/11/23(水) 00:22:25.09x.0にしないと、floatとか小数点まで計算してくれないですね、勉強になりました
0565デフォルトの名無しさん
2011/11/23(水) 00:47:57.220566デフォルトの名無しさん
2011/11/23(水) 01:15:58.06CPUによるかもしれないが普通はそう
もっとも現代的なプログラミングだと、そういう命令レベルの選択は
最適化コンパイラに任せたほうがいいよねっていう流れ
下手に人間が頑張るより賢い結果を出すことも多い
0567デフォルトの名無しさん
2011/11/23(水) 02:30:42.88int a,b,c,d,i;
a = b = c = d = i = 0;
printf("文字列を入力せよ\n");
scanf("%s",moji);
printf("結果:%s\n",moji);
for(i=0 ; i <= 3 ; i++){
if(moji[i] == 'a')
a =+ 1;
else if(moji[i] == 'b')
b =+ 1;
else if(moji[i] == 'c')
c =+ 1;
else if(moji[i] == 'd')
d =+ 1;
}
文字列としてaaaaを入力してもループ2周目にてaの値が増えません。
文字の場合の比較の仕方が間違ってたりする?
0568デフォルトの名無しさん
2011/11/23(水) 02:40:53.90複合代入演算子はa += 1
他の行も同様
0569デフォルトの名無しさん
2011/11/23(水) 02:47:47.81=+ の場合はそのような演算子はないわけですが、どのように処理されているのでしょう?
0570デフォルトの名無しさん
2011/11/23(水) 02:55:38.820571デフォルトの名無しさん
2011/11/23(水) 02:56:42.68-1のようなもん
0572デフォルトの名無しさん
2011/11/23(水) 03:02:41.25それと区別するために+=
良くわかりました。有難うございます。
0573デフォルトの名無しさん
2011/11/23(水) 10:15:08.38書籍じゃないが猫でもわかるのサイトで紹介してる
0574デフォルトの名無しさん
2011/11/23(水) 13:47:38.96自分の知る限り、本はこれしか見たことない
分かりやすいかどうかは知らん
http://www.amazon.co.jp/gp/aw/d/477411541X/ref=mp_s_a_1?qid=1322023561&sr=8-1
0575デフォルトの名無しさん
2011/11/23(水) 14:28:40.24整数型a_typeとb_typeがあって
bit幅がa_type > b_typeであっても
最大値がa_type > b_typeである保証はどこにもないですよね?
0576デフォルトの名無しさん
2011/11/23(水) 15:02:23.150577デフォルトの名無しさん
2011/11/23(水) 15:03:38.05それがintやshortのことなら保証されてる。
0578デフォルトの名無しさん
2011/11/23(水) 15:55:07.210579デフォルトの名無しさん
2011/11/23(水) 16:13:02.860580デフォルトの名無しさん
2011/11/23(水) 17:36:19.470581デフォルトの名無しさん
2011/11/23(水) 17:55:37.66コードなんか書きたくない。
0582デフォルトの名無しさん
2011/11/23(水) 18:06:39.97その8割くらいは全く同じ記述になっている場合に、
3つのプログラムを一つにまとめて2割の異なっている部分だけを条件分岐で処理を分けた方がいいんでしょうか
前者だと冗長ですが分かりやすいと思います
後者は簡潔だけどさらに条件分岐が増えた場合などに段々可読性が落ちてくると思います
どっちがいいんでしょうか
0583デフォルトの名無しさん
2011/11/23(水) 18:17:43.57それは後々の変更の可能性によるんじゃね。
0584デフォルトの名無しさん
2011/11/23(水) 18:19:39.400585デフォルトの名無しさん
2011/11/23(水) 18:21:27.75物によるだろうけど、c++ならテンプレート関数使えば綺麗に書ける可能性もある。
0586デフォルトの名無しさん
2011/11/23(水) 18:42:51.82「全く同じ記述」の部分が、プログラム中のあちこちに分散してるんだとエスパーしてみた。
0587デフォルトの名無しさん
2011/11/23(水) 19:08:27.41ショートカットキーやクイック起動でデスクトップの表示を実行すると消えてしまいます。
これを常に表示させるようにできないでしょうか?
また、デスクトップの表示は処理的に言うとすべてのウインドウを最小化しているのでしょうか?
その辺もわかる方がいれば教えてください
0588デフォルトの名無しさん
2011/11/23(水) 19:12:30.280589デフォルトの名無しさん
2011/11/23(水) 19:34:45.130590デフォルトの名無しさん
2011/11/23(水) 19:39:46.040591デフォルトの名無しさん
2011/11/23(水) 19:43:40.30http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88#.E3.83.9E.E3.83.8A.E3.83.BC.E9.81.95.E5.8F.8D.E3.81.AE.E7.90.86.E7.94.B1
0592デフォルトの名無しさん
2011/11/23(水) 19:43:51.30Win32API板に池
Win32API質問箱 Build98
http://hibari.2ch.net/test/read.cgi/tech/1321456608/
0593デフォルトの名無しさん
2011/11/23(水) 19:46:56.790594デフォルトの名無しさん
2011/11/23(水) 19:47:19.28自分で適切な聞く場所すら見つけられませんでした。と言う、私馬鹿過ぎるんです宣言してるから、回答しても理解してもらう率は低い
0595デフォルトの名無しさん
2011/11/23(水) 19:52:07.75>>587がWinじゃないといった時点で誘導すれば良いだけの事
Unix系OSでもMacでも、デスクトップガジェットって使ってるの見たことない
(ググるガジェットとかは使えるの知ってるが)
こういうのは、大抵オタクが作りたがる類のもの
0596デフォルトの名無しさん
2011/11/23(水) 20:18:08.46クイック起動のデスクトップの表示
0597デフォルトの名無しさん
2011/11/23(水) 20:22:26.53>これを常に表示させるようにできないでしょうか?
壁紙に書き込む
0598デフォルトの名無しさん
2011/11/23(水) 21:16:12.30トップレベルじゃない時点で没だろ
0599デフォルトの名無しさん
2011/11/23(水) 21:50:16.09いまさらintが16bitの環境を想定して書きたくないっていうか。
0600デフォルトの名無しさん
2011/11/23(水) 23:07:04.01って言って 32bit で決め打ちした連中は、
ちょっと前に UNIX 系が64bitに移行したときは、
必死になって64bit に書き直してたな。
0601デフォルトの名無しさん
2011/11/23(水) 23:14:12.860602デフォルトの名無しさん
2011/11/23(水) 23:18:32.060603デフォルトの名無しさん
2011/11/23(水) 23:21:09.99っていうかこういう二つの単語のときはどう付けたらいいんだ
0604デフォルトの名無しさん
2011/11/23(水) 23:24:37.440605デフォルトの名無しさん
2011/11/23(水) 23:29:54.39thx
0606デフォルトの名無しさん
2011/11/23(水) 23:46:34.39バッファのサイズとかにunsigned int szBuffer; とか
データ受け取り用の変数に char *rcvData; とかは許して欲しいと思わなくもない。
0607デフォルトの名無しさん
2011/11/23(水) 23:49:09.510608デフォルトの名無しさん
2011/11/23(水) 23:49:27.05システムハンガリアンとアプリケーションハンガリアンは違うよ
0609デフォルトの名無しさん
2011/11/23(水) 23:52:53.12アプリケーションハンガリアン: 動作や大きさ等の変数の用途概要をプレフィックスに
こういうこと?
0610デフォルトの名無しさん
2011/11/23(水) 23:55:01.600611デフォルトの名無しさん
2011/11/23(水) 23:58:31.160612デフォルトの名無しさん
2011/11/24(木) 00:02:06.98それは知っているのだけれど、全部まとめて「ハンガリアンはクソ」って主張を見かけることがあるので・・・
>>609
そう。
>>611
それ、わかるわw
0613デフォルトの名無しさん
2011/11/24(木) 00:09:33.220614デフォルトの名無しさん
2011/11/24(木) 00:17:15.800615デフォルトの名無しさん
2011/11/24(木) 00:22:38.67さすがの C もずいぶん汚染されたものだ
0616デフォルトの名無しさん
2011/11/24(木) 00:25:22.24問題のあるポインタの変換(関数 main )というエラーがでてきて実行することができません。
おそらくfgetsの書き方がおかしいと思うのですがどなたか教えていただけませんか?
私が書いたソースコードは以下の通りです。
#include <stdio.h>
main()
{
char str[3][20];
int i;
printf( "3つの文字列を入力して下さい\n" );
for(i = 0; i < 3; i++ ) {
//scanf( "%s",str);
fgets(str,sizeof(str),stdin);
printf( "入力した文字は%sです。\n" ,str);
}
0617デフォルトの名無しさん
2011/11/24(木) 00:32:30.55http://ideone.com/WYiJD
0618デフォルトの名無しさん
2011/11/24(木) 00:33:22.510619デフォルトの名無しさん
2011/11/24(木) 00:34:26.210620デフォルトの名無しさん
2011/11/24(木) 00:34:56.77printf( "入力した文字は%sです。\n" ,str[i]);
ってしたかったんちゃうの?
0621デフォルトの名無しさん
2011/11/24(木) 00:37:57.070622デフォルトの名無しさん
2011/11/24(木) 00:39:44.39>619さん
>620さん
ありがとうございます。無事に動いたようです。
sizeof(str)で配列STRの要素数を取得するのだと思ってたのですが
違うのでしょうか?
配列を使うのでしたらやはり620さんみたいな形式で書くべきみたいですね。
ありがとうございます
0623デフォルトの名無しさん
2011/11/24(木) 00:43:35.050624デフォルトの名無しさん
2011/11/24(木) 00:45:14.10sizeof(str)だと、str[3][20] のサイズ=60
0625デフォルトの名無しさん
2011/11/24(木) 01:02:27.87文字コードはどれでもよく、
エンディアンがどちらでも稼働するようなソースを常に考えてソースを書いているのか。
0626デフォルトの名無しさん
2011/11/24(木) 01:06:44.94また、出来るのならやり方を教えて下さい
0627デフォルトの名無しさん
2011/11/24(木) 01:38:54.910628デフォルトの名無しさん
2011/11/24(木) 01:39:07.362^nを代入すると指数部だけが変化する
3 を代入すると仮数部の最上位ビットが1になる
かもしれない
0629デフォルトの名無しさん
2011/11/24(木) 01:42:48.91llist_t np;
if(ls == NULL){
return ls;
}
else if(ls != NULL){
np = allocNode(); //ノード領域の確保
np->next = clone(ls->next); //ノードへのポインタ
np->data = ls->data; //リストの要素
return np;
}
return np;
}
これを逆順にコピーしたいんですが、教えていただけないでしょうか。
0630デフォルトの名無しさん
2011/11/24(木) 01:58:22.06配列の変数名を要素指定せずに書いたら
先頭要素へのポインタになるのですか?
0631デフォルトの名無しさん
2011/11/24(木) 02:35:26.60双方向リストにするか再帰にする
>>630
文字列ってヌル終端であるような文字の配列だよ。さして特殊な配列ってわけじゃない
0632デフォルトの名無しさん
2011/11/24(木) 02:48:41.609行目で再帰をつかってるんですが逆順にできませんでした。
再帰をつかって逆順にするにはどうしたらいんでしょうか?
0633デフォルトの名無しさん
2011/11/24(木) 03:02:35.01char *buf;
} hoge;
の構造体をstaticで宣言して中のbufはmallocで動的に確保することって出来ますか?
0634デフォルトの名無しさん
2011/11/24(木) 03:50:45.22void f(int s) { h.buf = malloc(s); }
0636デフォルトの名無しさん
2011/11/24(木) 08:49:19.77何に代入するんですか?
0637デフォルトの名無しさん
2011/11/24(木) 09:03:13.03変数にだろ。
そもそもIEEE754のfloat/double以外のどんな存在を仮定して知りたいのかを説明しろ。
0638デフォルトの名無しさん
2011/11/24(木) 11:06:43.23例:文字列入力:Nobember 25th.
ずらす文字:3
生成文字:Qryhpehu 25wk.
よろ
0639デフォルトの名無しさん
2011/11/24(木) 11:07:42.840640デフォルトの名無しさん
2011/11/24(木) 11:19:29.32数字はずらさないのか?
0641デフォルトの名無しさん
2011/11/24(木) 11:28:42.78char型配列で変換テーブルつくるか、
以下のことを判断する処理で一字づつしょりする。
・アルファベットか否か。
・大文字か小文字か。
・xyz/XYZか否か。
0642デフォルトの名無しさん
2011/11/24(木) 11:37:37.67{
static const char* u = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
static const char* l = "abcdefghijklmnopqrstuvwxyz";
while (*s) {
if (isalpha(*s)) {
const char* a = isupper(*s) ? u : l;
*s = a[ ((*s - a[0]) + shift) % 26 ];
}
s++;
}
}
0643デフォルトの名無しさん
2011/11/24(木) 12:24:16.85{
while(*s) {
if (isupper(*s)) {
*s = 'A' + ((*s - 'A') + 26 + shift) % 26;
} else if (islower(*s)) {
*s = 'a' + ((*s - 'a') + 26 + shift) % 26;
}
s++;
}
}
0644デフォルトの名無しさん
2011/11/24(木) 13:22:09.570645デフォルトの名無しさん
2011/11/24(木) 13:45:11.73フランス語を考慮したコードをどうぞ。
0646デフォルトの名無しさん
2011/11/24(木) 13:46:56.280647デフォルトの名無しさん
2011/11/24(木) 13:56:26.57日本語に対応したプログラム書いてみろや
0648デフォルトの名無しさん
2011/11/24(木) 14:02:03.66なんでテーブル持つ前提なんだよw
0649デフォルトの名無しさん
2011/11/24(木) 14:16:34.240650デフォルトの名無しさん
2011/11/24(木) 14:32:24.980651デフォルトの名無しさん
2011/11/24(木) 14:33:00.70と、>>643を見て思った。
void f(char* s, int shift)
{
while (*s) {
if (isalpha(*s)) {
char a = isupper(*s) ? 'A' : 'a';
*s = a + (*s - a + shift) % 26;
}
s++;
}
}
0652デフォルトの名無しさん
2011/11/24(木) 14:36:30.490653デフォルトの名無しさん
2011/11/24(木) 16:17:20.22各文化圏の固有の言語は文化財として保存する目的のみで継承して日常や仕事では英語を使う
これが世界にとってもっとも良い選択
0654デフォルトの名無しさん
2011/11/24(木) 16:19:45.090655デフォルトの名無しさん
2011/11/24(木) 16:23:15.11それは文字コードを統一しただけだろ
言語そのものを統一するべき時代がもう来てるんだよ
個々の人間の活動領域に対して世界は狭くなりすぎた
0656デフォルトの名無しさん
2011/11/24(木) 16:28:10.180657デフォルトの名無しさん
2011/11/24(木) 16:33:57.470658デフォルトの名無しさん
2011/11/24(木) 16:43:01.700659デフォルトの名無しさん
2011/11/24(木) 17:02:39.28識字率から考えれば至極当然の結論となる。
0660デフォルトの名無しさん
2011/11/24(木) 17:11:26.06熱心なキリスト教徒が許さんだろ
>>659
日本の日本語識字率が世界一であるかのような言い方だなぁ
0661デフォルトの名無しさん
2011/11/24(木) 17:18:24.55訓読みの概念が無い中華てよくもまぁ教育破綻せず過ごしてるもんだと思うわ
日本語が連想コンテナとすれば中華はベッタリswitch-caseで判別してる様なモンだろ?
0662デフォルトの名無しさん
2011/11/24(木) 17:25:44.750663デフォルトの名無しさん
2011/11/24(木) 17:55:12.61たすけて
0664デフォルトの名無しさん
2011/11/24(木) 18:04:22.73中国語をパクったパクリ言語を選択しなくても良いだろ
0665デフォルトの名無しさん
2011/11/24(木) 19:05:14.42モンゴル帝国の時代を経て、今のチャイナが使っているものは漢字に似た何か。
0666デフォルトの名無しさん
2011/11/24(木) 19:15:40.15それを言ったら日本も漢字に似た何かだよ。
台湾のほうがより漢字に近い
0667デフォルトの名無しさん
2011/11/24(木) 19:21:24.73中国、朝鮮の言葉は日本の言葉のパクリ言語ニダアル
0668デフォルトの名無しさん
2011/11/24(木) 20:21:01.670669デフォルトの名無しさん
2011/11/24(木) 21:18:20.79szとかしないで普通にbufferSizeとか書けばいいじゃん。
rcvも一文字省略してなにがうれしいの。
0670デフォルトの名無しさん
2011/11/24(木) 21:34:11.290671デフォルトの名無しさん
2011/11/24(木) 21:36:56.400672デフォルトの名無しさん
2011/11/24(木) 21:38:16.16文字体系と言語体系の区別すらできないってどうよ?
0673デフォルトの名無しさん
2011/11/24(木) 21:40:39.940674デフォルトの名無しさん
2011/11/24(木) 21:42:32.15commandLineBufferSizeとか長すぎるからだろ。
で、receiveのどこを1文字省略?
0675デフォルトの名無しさん
2011/11/24(木) 21:45:55.750676デフォルトの名無しさん
2011/11/24(木) 21:48:54.51それが長すぎるかどうかは状況によるな。
単語の数を減らせない状況ならcmdLneBuffSzとか省略するより、そのままのほうがいい。
0677デフォルトの名無しさん
2011/11/24(木) 21:54:05.81sizeはもともと短いからあんまり略さない。
プレフィックスでszとかつけると文字列っぽくなるな。
0678デフォルトの名無しさん
2011/11/24(木) 21:58:37.82それぞれ、CountOfXXXやNumberOfXXX (キャメルケース) を省略しただけ、とも取れるような気が。
あと、szはなんで文字列なんだろう? sz => string which terminates with zeroの略?
ゼロ終端文字列なら zero-terminated string => zs じゃねーの?と、よく思う。
0679デフォルトの名無しさん
2011/11/24(木) 22:01:31.04http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%B3%E3%82%AC%E3%83%AA%E3%82%A2%E3%83%B3%E8%A8%98%E6%B3%95
0680デフォルトの名無しさん
2011/11/24(木) 22:05:27.05出典のないwikipなんて意味あるんだろうか。
0681デフォルトの名無しさん
2011/11/24(木) 22:06:40.380682デフォルトの名無しさん
2011/11/24(木) 22:07:15.20szは昔のMSのコードで文字列のプレフィックスだった。
0683デフォルトの名無しさん
2011/11/24(木) 22:09:06.15おれの妄想と同程度だと思われ。
アプリケーションハンガリアンとかシステムハンガリアンとか、最近言われだした言葉なのに
それすら出典が乗ってない。
0684デフォルトの名無しさん
2011/11/24(木) 22:09:58.080685デフォルトの名無しさん
2011/11/24(木) 22:12:16.55なんで?
0686デフォルトの名無しさん
2011/11/24(木) 22:20:48.410687デフォルトの名無しさん
2011/11/24(木) 22:21:28.52ほほう。慣習ってことですかね。
過去の資産を流用する場合等は別として、マイクロソフトでさえ非推奨なハンガリアン記法を、
あえて、いまさら使用することにメリットは見出しにくいんだけどね。
ハンガリアン記法を使ってる奴なんて、脳みそ膿んでるんじゃねーの、
とか言われると、好きにさせてくれ、と思わない訳でもないのですよ。
0688デフォルトの名無しさん
2011/11/24(木) 22:22:58.65日本語でおk。
0689デフォルトの名無しさん
2011/11/24(木) 23:23:10.930690デフォルトの名無しさん
2011/11/24(木) 23:44:38.160691デフォルトの名無しさん
2011/11/25(金) 00:08:23.03>与えられた整数の並び a1, a2, a3, , , an で、連続した項の和の最大値を出力して終了するプログラムを作成して下さい。
という問題なんだけど、
5 -1 3 -6 -3 11
という並びの最大値は 9 (全部の項の和)でしょうか、11(最後の一項のみ)でしょうか。
AIZU的な正解は 11 なんですが、連続してないように思うんですが。そういうものなのでしょうか?
高校生レベル未満の私にご教授(教示ではなく)ください。お願いします。
0692デフォルトの名無しさん
2011/11/25(金) 01:09:53.37C言語最近始めたんだけど
C言語で金を稼ぎたいんだけど、主にC言語って何ができるの
0693デフォルトの名無しさん
2011/11/25(金) 01:13:03.14答えが間違ってるとだけ言われて何がおかしいのかわからずどうすればいいんだw
0694デフォルトの名無しさん
2011/11/25(金) 01:15:16.040695デフォルトの名無しさん
2011/11/25(金) 01:16:20.20この世にあるプログラムと同等なことすべて。
0696デフォルトの名無しさん
2011/11/25(金) 01:32:10.85もしも最後の11 を 6にして、最初の手前に -100 を追加した場合は、答えは何になるのが正しいってことなの?
new new
-100 +5 -1 +3 -6 -3 +6
この場合は答えは7ってことなのか?
+5 -1 +3 = +7 の時が一番大きいから7ってことなの?
「任意の連続した区間の合計によって得られた、もっとも大きい数は? (要素1個だけでも連続した区間とみなす)」ってことなのか?
問題の意味が、いまいち分かりにくいんだが。
0697デフォルトの名無しさん
2011/11/25(金) 01:34:26.32floatを実装する意味がない、long doubleのサポートがコストに見合わない、
などの理由だな。
つまり、処理系側の都合ってこと。
0698デフォルトの名無しさん
2011/11/25(金) 01:35:50.33CommandLineBufferSize n = { 100 } ;
n.value = 200;
printf("%d", n.value) ;
これがベストな選択
0699デフォルトの名無しさん
2011/11/25(金) 01:42:19.22その手の問題では一つの項も含むのが普通
0700デフォルトの名無しさん
2011/11/25(金) 01:55:25.78どもです。数学的には「連続する」とはゼロでなければ
(1個であっても)連続していると考えてよいわけですね。
>>696
そういうことになりますね。
0701デフォルトの名無しさん
2011/11/25(金) 02:51:20.65>>700
数学かあ... どうなんだろ。
要素1個の区間が連続で「ない」として、矛盾はないだろうか。例えば任意の連続
する区間を1か所で分断してできる2つの区間は連続であると期待されるとか...
0702デフォルトの名無しさん
2011/11/25(金) 02:59:23.31○連続な区間
ああ元の話だと区間でなくて項か
0703デフォルトの名無しさん
2011/11/25(金) 10:21:32.370704デフォルトの名無しさん
2011/11/25(金) 10:27:10.870705デフォルトの名無しさん
2011/11/25(金) 10:28:43.20次は?
0706デフォルトの名無しさん
2011/11/25(金) 10:30:15.740707デフォルトの名無しさん
2011/11/25(金) 10:33:13.920708デフォルトの名無しさん
2011/11/25(金) 10:33:50.38まずおまいのC言語のレベルはどんなもんだ
配列操作くらいは一通り知らんと何ともならんぞ
0709デフォルトの名無しさん
2011/11/25(金) 10:36:13.44配列は何となくわかります。あとは構造体?とか if文?とかそのくらは授業でやったんですが。
0710デフォルトの名無しさん
2011/11/25(金) 10:50:27.950711デフォルトの名無しさん
2011/11/25(金) 10:51:23.70金持ちになりたいってこと?
0712デフォルトの名無しさん
2011/11/25(金) 10:53:38.78自分がじゃなくて他人を金持ちにするってことだろ。
0713デフォルトの名無しさん
2011/11/25(金) 10:58:08.37こき使われる側になりたいってことか
それ俺得意だぜ
0714デフォルトの名無しさん
2011/11/25(金) 11:02:46.730715デフォルトの名無しさん
2011/11/25(金) 11:13:28.070716デフォルトの名無しさん
2011/11/25(金) 11:14:12.45C言語でトランプゲームを作りたい
http://hibari.2ch.net/test/read.cgi/tech/1189892773/
0717デフォルトの名無しさん
2011/11/25(金) 11:18:01.980718デフォルトの名無しさん
2011/11/25(金) 11:36:52.510719デフォルトの名無しさん
2011/11/25(金) 12:50:55.430720デフォルトの名無しさん
2011/11/25(金) 12:57:06.14場外乱闘がウリ。
0721デフォルトの名無しさん
2011/11/25(金) 13:17:17.250722デフォルトの名無しさん
2011/11/25(金) 14:10:21.64bmpファイルを出力できるライブラリを使って作るのが無難。
0723デフォルトの名無しさん
2011/11/25(金) 14:40:35.660724デフォルトの名無しさん
2011/11/25(金) 15:14:11.960725デフォルトの名無しさん
2011/11/25(金) 15:39:42.180726デフォルトの名無しさん
2011/11/25(金) 15:59:40.77できるのですが
もう少し高度なプログラムが組めるようになりたいのですが
お勧めの本とかありますでしょうか?
宜しければ伝授お願いいたします
0727デフォルトの名無しさん
2011/11/25(金) 16:30:56.96上下逆とかゴミが入ったりズレまくったりするソフトとかあったな
0728デフォルトの名無しさん
2011/11/25(金) 16:36:29.02アルゴリズムの本でも読んだらどうだろう。
でもそれよりやりたいことをしたほうが良いと思うけどね
0729デフォルトの名無しさん
2011/11/25(金) 17:07:40.16その制約のせいで、よく表示がズレるBMPローダーライブラリーなんてのが量産されてた。
24bit ランレングス圧縮無し のBMP画像専用に限定すれば、
BMP←→char配列
の変換を行う関数は、わりと短いコードで作れるはず。
BMP←→ベタ変換ライブラリーを超コンパクトなコードで作っておけば、
こういう所に張るような、ライブラリー非依存かつ1ファイル簡潔なコードを書くときに、printfのかわりにbmp出力で結果を示すコードを簡単に書けて便利かもな。
0730片山博文MZ ◆0lBZNi.Q7evd
2011/11/25(金) 17:31:13.770731デフォルトの名無しさん
2011/11/25(金) 19:29:26.880732デフォルトの名無しさん
2011/11/25(金) 22:36:18.310733デフォルトの名無しさん
2011/11/25(金) 23:15:27.690734デフォルトの名無しさん
2011/11/25(金) 23:53:09.08本とかサイトでいいところありますか?
0735デフォルトの名無しさん
2011/11/26(土) 00:03:48.85台湾の社会福祉団体が行った調査によると、台湾の若者の56.1%が最も友好的な国は日本と答えた。
一方の87.9%の学生が友好的ではない国として中国を挙げてトップ、その次が韓国の47.4%だった。
http://news.searchina.ne.jp/disp.cgi?y=2011&d=1125&f=national_1125_031.shtml
0736デフォルトの名無しさん
2011/11/26(土) 00:27:58.68ttp://www.google.co.jp/search?hl=ja&inlang=ja&ie=Shift_JIS&lr=lang_ja&q=C言語%20BMP
0737デフォルトの名無しさん
2011/11/26(土) 01:37:35.79今、二次元の配列の中身をすべて出力する関数を作ろうと思っているのですが、つまずいています。
print_array( array, x, y );
のようにした場合に、x行y列分を出力できるようにしたいのですが…
関数に二次元配列を引数で渡す際、受け取る側では列の指定をしなければならないのですよね?
(勉強中なのでいまいち良く分かっていません。)
こういった場合、どうすればよいのでしょうか?
0738デフォルトの名無しさん
2011/11/26(土) 01:56:36.31こういう事?
http://codepad.org/vVlKJ6YH
0739デフォルトの名無しさん
2011/11/26(土) 02:05:32.33まさにこれでした。
ありがとうございます!
0740デフォルトの名無しさん
2011/11/26(土) 06:08:42.74だけで実行できる32bit以上のコンパイラとかありますか?
少なくともDOS時代にはあった。
0741デフォルトの名無しさん
2011/11/26(土) 09:13:23.21って思ったけどググって2〜3ページ見たけどDLできなさそうだから試すのあきらめた
0742デフォルトの名無しさん
2011/11/26(土) 09:28:40.46mingwか何かでインストーラ無しの、一式をzipで固めただけのが無かったっけなあと思うが自信がない
0743デフォルトの名無しさん
2011/11/26(土) 10:15:29.71BCC、フツーにエンバカデロ先生からDLできたけど・・・
0744デフォルトの名無しさん
2011/11/26(土) 10:21:26.640745デフォルトの名無しさん
2011/11/26(土) 11:16:19.78ランタイムが関わってゴチャゴチャ過ぎて手動設定が苦しくなるのはあるけど
0746デフォルトの名無しさん
2011/11/26(土) 15:06:41.52(´・c・`)
0747デフォルトの名無しさん
2011/11/26(土) 15:37:32.620748デフォルトの名無しさん
2011/11/26(土) 15:45:10.800749デフォルトの名無しさん
2011/11/26(土) 16:10:33.360750デフォルトの名無しさん
2011/11/26(土) 18:55:35.690751デフォルトの名無しさん
2011/11/26(土) 19:15:46.910752デフォルトの名無しさん
2011/11/26(土) 19:45:31.350753デフォルトの名無しさん
2011/11/26(土) 19:46:26.500754デフォルトの名無しさん
2011/11/26(土) 20:23:00.780755デフォルトの名無しさん
2011/11/26(土) 20:38:32.952chを見ない。
0756デフォルトの名無しさん
2011/11/26(土) 20:43:31.970757デフォルトの名無しさん
2011/11/26(土) 20:45:54.240758デフォルトの名無しさん
2011/11/26(土) 21:09:29.630759デフォルトの名無しさん
2011/11/26(土) 22:08:59.450760デフォルトの名無しさん
2011/11/26(土) 22:26:37.910761デフォルトの名無しさん
2011/11/26(土) 23:00:47.480762デフォルトの名無しさん
2011/11/26(土) 23:33:02.910763デフォルトの名無しさん
2011/11/27(日) 08:45:51.32調べながらやれば十分でしょ。
0764デフォルトの名無しさん
2011/11/27(日) 10:01:32.04自分はStrawberry PerlのPortable版(strawberry-perl-5.12.3.0-portable.zip)に付属している
Cコンパイラーを使ってる。
Strawberry Perl for Windows
http://strawberryperl.com/releases.html
0765デフォルトの名無しさん
2011/11/27(日) 11:42:29.21MinGW を入れてると衝突してヤな感じなんだけど、こっちだけで使うならそれはそれでアリなのか。 目から鱗。
>>760
今30才くらいのプログラマ (俺含む) の小学生時代はアセンブリが普通な感じだったよ。
だからといってその年代に天才プログラマが多いってわけでもない。
0766片山博文MZ ◆0lBZNi.Q7evd
2011/11/27(日) 12:00:45.39現在のURLと相対パスから絶対パスのURLを作る方法を教えてください。
0767片山博文MZ ◆0lBZNi.Q7evd
2011/11/27(日) 12:36:18.330768デフォルトの名無しさん
2011/11/27(日) 12:44:16.31自分のしたい文字列操作をするだけ
0769デフォルトの名無しさん
2011/11/27(日) 13:13:41.440770デフォルトの名無しさん
2011/11/27(日) 13:21:21.92ttp://www.microiron.com/file/10/maru-photo1.jpg
0771デフォルトの名無しさん
2011/11/27(日) 14:16:12.38節子、それはんだごてや
0772デフォルトの名無しさん
2011/11/27(日) 14:16:31.150773デフォルトの名無しさん
2011/11/27(日) 14:28:19.97コマンドプロンプト(コマンドライン)から実行する時にアプリへ渡す引数
c:\>xxx.exe [引数1] [引数2] ...
0774デフォルトの名無しさん
2011/11/27(日) 14:38:08.19int main( int argc, char *argv[] )
{
ほげほげ ・・・
の、 argv[1] 〜argv[argc-1]に入ってる文字列のこと。
(argc が 1 の場合はコマンドライン引数無し)
0775デフォルトの名無しさん
2011/11/27(日) 14:38:10.59| ゙ヽ、 / ゙i
| ゙''─‐'''" l
/:::\::::::::<○ > `ヽ コマンド引数ってなんすか?
(( / <○>::::::::::⌒ )
| ⌒(_人__) ノ | |
ヽ )vvノ: / ノノ
ヽ (__ン 人
人 \
/
0776デフォルトの名無しさん
2011/11/27(日) 14:59:26.960777デフォルトの名無しさん
2011/11/27(日) 16:22:02.930778デフォルトの名無しさん
2011/11/27(日) 16:56:18.060779デフォルトの名無しさん
2011/11/27(日) 17:11:18.80自分はニューラルネット
0780デフォルトの名無しさん
2011/11/27(日) 17:16:55.42この場合ゼロクリアは
memset(&array, 0, sizeof(array));
でも大丈夫ですか?
0781デフォルトの名無しさん
2011/11/27(日) 17:22:42.08memset(&array[0], 0, sizeof(array));
または
memset(array, 0, sizeof(array));
0782デフォルトの名無しさん
2011/11/27(日) 17:28:32.63ありがとうございます
認識が曖昧だったので助かりました
0783デフォルトの名無しさん
2011/11/27(日) 17:53:51.85int array[10] = {0};
>>781
だめか?
0784デフォルトの名無しさん
2011/11/27(日) 18:18:27.360785デフォルトの名無しさん
2011/11/27(日) 18:33:04.810786デフォルトの名無しさん
2011/11/27(日) 18:53:36.990787デフォルトの名無しさん
2011/11/27(日) 19:10:17.590788デフォルトの名無しさん
2011/11/27(日) 19:21:21.35(σ・∀・)σゲッツ!!三( ・)アンド三(σ・∀・)ターン三(・ )アンド(σ・∀・)σリバース!!
0789デフォルトの名無しさん
2011/11/27(日) 19:27:49.73sizeof()はバイト単位だろ。
0790デフォルトの名無しさん
2011/11/27(日) 19:29:53.01これだとzeroはスタックに詰まれるからzeroをクリアした後にarrayをクリアするから二度手間だよ。
0791デフォルトの名無しさん
2011/11/27(日) 19:41:21.53strlen()
0792デフォルトの名無しさん
2011/11/27(日) 20:29:40.050793デフォルトの名無しさん
2011/11/27(日) 20:34:00.240794デフォルトの名無しさん
2011/11/27(日) 20:35:41.310795デフォルトの名無しさん
2011/11/27(日) 21:31:53.180796デフォルトの名無しさん
2011/11/27(日) 21:51:11.100797デフォルトの名無しさん
2011/11/27(日) 22:06:44.450798デフォルトの名無しさん
2011/11/27(日) 22:13:29.370799デフォルトの名無しさん
2011/11/27(日) 22:23:31.530800デフォルトの名無しさん
2011/11/27(日) 22:27:24.59↑のような、コマンドライン引数で2つか3つの数字を
足し算引き算掛け算割り算するプログラムを作ったのですが、
コマンドプロンプトで数字と符号の間に半角スペースを入れずに
入力しても計算できるにはどうすればよいのでしょうか?
0801デフォルトの名無しさん
2011/11/27(日) 22:33:17.390802デフォルトの名無しさん
2011/11/27(日) 22:36:36.62構文解析すればいいよ
0803デフォルトの名無しさん
2011/11/27(日) 22:40:01.350804デフォルトの名無しさん
2011/11/27(日) 23:31:56.09strtok()を使うよりもいろんな意味でお勧め。
0805デフォルトの名無しさん
2011/11/27(日) 23:36:09.480806デフォルトの名無しさん
2011/11/28(月) 00:26:07.930807デフォルトの名無しさん
2011/11/28(月) 00:31:22.58だれか>>800のプログラム作ってください
0808デフォルトの名無しさん
2011/11/28(月) 00:32:26.44小学生時代って今から20年位前か? もうちゃんとした開発環境とかあったと思うが
すごいな。
オレは小学生のときなんてゲームしかしてなかったなw 真面目にプログラムとか
書いたのは大学に入ってからだなあ。アセンブリーはさらにその後。
でもまあそこそこのレベルにはなったかな。
0809デフォルトの名無しさん
2011/11/28(月) 00:35:20.28MON
*■
0810デフォルトの名無しさん
2011/11/28(月) 01:52:28.36めんどくさいから嫌だ
0811デフォルトの名無しさん
2011/11/28(月) 02:05:59.51計算式が書いてある文字列から結果を出すプログラムなら作ったけど公開する気はまったく無いよ
0812デフォルトの名無しさん
2011/11/28(月) 05:31:28.85#include <stdlib.h>
#include <string.h>
int main(int ac, char **av)
{
char buf[4096], cmd[4096];
while(1){
fprintf(stdout, "formula> "); fflush(stdout);
fgets(buf, 4096, stdin); buf[strlen(buf) - 1] = '\0';
if(buf[0] == '\0') break;
fprintf(stdout, "%s = ", buf); fflush(stdout);
sprintf(cmd, "perl -e 'print eval \"%s\";'", buf);
system(cmd);
fprintf(stdout, "\n");
}
return 0;
}
0813デフォルトの名無しさん
2011/11/28(月) 07:07:15.04話をむし返してなんだが。
0814デフォルトの名無しさん
2011/11/28(月) 09:37:57.090815デフォルトの名無しさん
2011/11/28(月) 09:50:52.000816デフォルトの名無しさん
2011/11/28(月) 10:11:57.460817デフォルトの名無しさん
2011/11/28(月) 12:43:14.41ガッ
0818デフォルトの名無しさん
2011/11/28(月) 13:21:52.80「猫でもわかるプログラミング」の内容はCを学習するの役に立つと
思うのですが 書籍化されてないんですかね?
0819デフォルトの名無しさん
2011/11/28(月) 13:28:32.14http://www.amazon.co.jp/dp/4797325089/
あと、そこのサイトに載っているWindowsSDK編は情報が古かったりするので注意。
0820818
2011/11/28(月) 13:38:58.56猫でもわかるC言語プログラミングは既に持っていてひととおりやってます
>>818のサイトのC言語編の丁半博打や石とりゲームなど
ある程度コードがながく発展的なプログラムが載っている本を
探しております
0821デフォルトの名無しさん
2011/11/28(月) 14:17:16.69Amazonで同じ著者の本を探してみたけど、こういうのしかなかった。
http://www.amazon.co.jp/dp/4797355581/
英語だけど、The C Programming Languageに逆ポーランド記法の電卓プログラム等、
少し発展的なプログラムが載ってる。C言語のバイブル的な本で評価高い。
あと、私は読んだことがないのですが、The Art of Computer Programming という本はアルゴリズムを学ぶのに最適らしいです。
0822818
2011/11/28(月) 14:25:06.71紹介して下さった3冊 参考にさせて頂きます
0823デフォルトの名無しさん
2011/11/28(月) 14:41:46.23自己満足に浸るにはもってこいの素材だね。
0824デフォルトの名無しさん
2011/11/28(月) 15:39:59.20Code Compliteとinside Windows読んどけ
あとプログラミング作法とそれに書いてある本全部
0825デフォルトの名無しさん
2011/11/28(月) 18:57:37.52エクセルのヘルプを見てもΣの解法がわかりません。
どなたか教えて頂けないでしょうか。
STEYX
GROWTH
FORECAST
TREND
LINEST
エクセルのヘルプを見たのですが、STEYX の計算式の一部には
nΣy^2
のようにΣが使われています。
通常シグマとは、
10
Σ 2i
i=0
のように、上と下に条件がついているものだと思ってます。
上にも下にも数字の付いていないシグマはどのように計算したらよいでしょうか。
0826デフォルトの名無しさん
2011/11/28(月) 19:28:14.79上下限無ければ集合全体だよ
0827デフォルトの名無しさん
2011/11/28(月) 19:31:15.430828デフォルトの名無しさん
2011/11/28(月) 19:50:34.72集合全体、というと?
-∞から∞ってこと?
0829デフォルトの名無しさん
2011/11/28(月) 19:51:36.520830デフォルトの名無しさん
2011/11/28(月) 20:47:03.41ベクトルの要素全部を2乗して足してってるだけじゃね?
0831デフォルトの名無しさん
2011/11/28(月) 21:34:47.990832デフォルトの名無しさん
2011/11/28(月) 23:34:26.64http://www.geisya.or.jp/~mwm48961/statistics/correl.htm
数学の基礎からやり直したら
0833デフォルトの名無しさん
2011/11/28(月) 23:58:34.330834デフォルトの名無しさん
2011/11/29(火) 00:47:19.58多くの質問者は、どこまでいっても初心者って感覚だよ
実際プログラミングってのは上には上がいるから、そういう気分にもなるし
ある分野が得意な人も、それを一歩出れば、他の分野のことはサッパリってのは割とよくある
まあ、気にせずお前が入門だと思うなら質問すればいいんじゃね
あんまりぶっ飛んでたらツッコミ入るさ
0835デフォルトの名無しさん
2011/11/29(火) 02:36:47.060836デフォルトの名無しさん
2011/11/29(火) 03:01:19.28がんばれ〜
0837デフォルトの名無しさん
2011/11/29(火) 03:20:48.200838デフォルトの名無しさん
2011/11/29(火) 03:43:48.77君のスキルしだいだ
0839デフォルトの名無しさん
2011/11/29(火) 07:04:19.260840デフォルトの名無しさん
2011/11/29(火) 08:31:19.29と言うことはリアルタイムゲームは製作不可能だろう
非リアルタイムならばコンソールの面積をでかくするほど文字をドットに近似できるからほぼ何でも作れる
0841デフォルトの名無しさん
2011/11/29(火) 08:37:26.89別途入力だけ受け付けるプログラムを作っておいて
入力されたらテキストファイルに書き込む
ゲーム側で永久ループでテキストファイルを読み込んで
書かれていた文字に関して処理をする(毎回オープン&クローズしないといけない)
でどうだろう
コンソール二つ開く必要があるが
0842デフォルトの名無しさん
2011/11/29(火) 09:10:18.39それに拘り過ぎるのはどうかと思うよ
環境依存を減らしたきゃクロスプラットフォームなライブラリもあるし
そういうの使って思い切り書く方がいいと思うが
0843デフォルトの名無しさん
2011/11/29(火) 11:36:27.87マイコンのプログラムをgccで作成しています。
指定時間の遅延が欲しいのでusleep()を使おうと思いましたが、
そんな関数ないよとエラーが使用できません。
調べていったら、sleep()が_exfunというマクロ?で定義されているのですが、
これはどういう意味でしょうか?
unsigned _EXFUN(usleep, (unsigned int __useconds));
0844デフォルトの名無しさん
2011/11/29(火) 11:44:43.81そのマイコンのマニュアルを見ろ。
0845デフォルトの名無しさん
2011/11/29(火) 11:45:32.72unsigned usleep(unsigned int __useconds);
だと解釈しとけば問題ない。
そんな関数ないよっていうのは、実際にないのでは?
0846デフォルトの名無しさん
2011/11/29(火) 11:54:54.950847843
2011/11/29(火) 11:54:55.85ヘッダファイルに定義されているのだから、関数本体も当然ある物だと思っていました。
確認しましたら、usleep.c自体がありませんでした。
自分で相当の機能を作り込めって事ですね。
exfunの用途・意味を教えて頂けると助かります。
0848デフォルトの名無しさん
2011/11/29(火) 11:59:13.31組込みなら、ポート見るとか。
0849デフォルトの名無しさん
2011/11/29(火) 11:59:40.20コンパイラによってプロトタイプの形式を変えるためにあるんじゃないの?
こんなの(↓)の中から適当な定義が有効になるようになってるでしょ。
#define _EXFUN(name, proto) __cdecl name proto
#define _EXFUN(name, proto) name proto
#define _EXFUN(name, proto) name()
つかヘッダファイル検索してまわればすぐわかるだろ。
0850デフォルトの名無しさん
2011/11/29(火) 12:03:46.22ごめんなさい、ポートとはなんでしょうか?
0851デフォルトの名無しさん
2011/11/29(火) 12:05:47.320852デフォルトの名無しさん
2011/11/29(火) 12:19:13.670853デフォルトの名無しさん
2011/11/29(火) 12:26:49.050854デフォルトの名無しさん
2011/11/29(火) 12:55:59.850855デフォルトの名無しさん
2011/11/29(火) 13:00:05.180856デフォルトの名無しさん
2011/11/29(火) 14:10:15.800857デフォルトの名無しさん
2011/11/29(火) 14:16:22.54やりたいことは、オンマウスでそのウインドウやコントロールのクラスIDやHWNDを
取得したいのですが、グローバルフックを行ってもどうもうまく処理されません。
フックプロシージャの中で
if (wp == WM_MOUSEMOVE)
{
TCHAR cn[255];
int cnt;
memset( cn, 0x00, 255 );
_stprintf( cn, _T("(%d %d)\n"), pmh->pt.x, pmh->pt.y );
SetWindowText( hWnd, cn );
return TRUE;
}
として、単純に大本となるEXEのキャプションに座標を表示しているのですが、
クライアント領域以外になると、処理されなくなるようなのです。
グローバルフックで全てのアプリケーションのボタンとかのHWNDを取得できる方法を知りたいのです。
最終的には、選んだコントロールのHDCを切り取って、画像を保存することなのですが、
どなたか、ご存知の方、お教え頂ければ幸いです。
0858デフォルトの名無しさん
2011/11/29(火) 19:07:26.77sleepはハードのタイマーとかが絡んでくるから、自分で実装する
妄想だがexfunは標準では提供していないから自分で作れ関数ってことだろ
0859デフォルトの名無しさん
2011/11/29(火) 19:55:36.08おかげさまでシグマの関連は実装することができました。
ですが、どうしても GROWTH 関数だけ実装することが出来ません。
どう実装したらよいでしょうか。
0860デフォルトの名無しさん
2011/11/29(火) 21:09:16.12この辺見たらなんかわかるんでない
0861デフォルトの名無しさん
2011/11/29(火) 22:01:57.090862デフォルトの名無しさん
2011/11/29(火) 22:05:22.220863デフォルトの名無しさん
2011/11/29(火) 22:09:16.89「文字列を名前の昇順にソート」じゃ意味がさーっぱり解らんぞ
文字列は確かに配列とみなせるが、入ってるのは文字(コード)であって名前じゃない
ひとつの文字列の中の文字を、文字コード順に並べかえて別の文字列にするということか?
仕様が曖昧過ぎる
0864デフォルトの名無しさん
2011/11/29(火) 22:16:14.59C言語で512行以上書き出せないんですけどそういう仕様なんでしょうか?
追加書込みfopen("out.csv","a")で開いてるんだけど512行以降が出力されない……
コンパイラはMinGWでgccです
0865デフォルトの名無しさん
2011/11/29(火) 22:20:33.28構造体配列に氏名を入力し氏名の五十音順の昇順に並べ替えて
出力したいのですがさっぱりわからないのです。
0866デフォルトの名無しさん
2011/11/29(火) 22:21:03.36スレ汚し失礼しました
0867デフォルトの名無しさん
2011/11/29(火) 22:59:34.59とりあえず、
>構造体配列に氏名を入力し
の部分を、Cのコードでどう書こうとしてるのか書いてみ?
0868デフォルトの名無しさん
2011/11/29(火) 23:05:18.75とあるクラスのOperator+を定義したところ
CHoge CHoge::operator+( const CHoge& val )
{
MNBigUint _obj(*this);
_obj += val;
return _obj;
}
0869デフォルトの名無しさん
2011/11/29(火) 23:07:42.36C++なんですがこちらで質問です
とあるクラスのOperator+を定義したところ。
適切なコピーコンストラクタがありませんというエラーが発生してしまいます。
CHoge CHoge::operator+( const CHoge& val )
{
CHoge _obj(*this);
_obj += val;
return _obj;
}
operator+=は定義済みで正常に動いています。
コピーコンストラクタ(CHoge ( const CHoge& ))も定義済みで正常に動いています。
何がまずいのかさっぱりわからないので助けて下さい。
0870デフォルトの名無しさん
2011/11/29(火) 23:08:30.04struct PIXEL {unsigned char r,g,b,e;};
void draw_sandstorm_fb(struct PIXEL* a,int w,int h) {
int i = w*h;
while (i-->0) {a[i].r=a[i].g=a[i].b=rand()&0xFF;}
}
void print_fb_scr(FILE* scr,struct PIXEL* a,int w,int h) {
fseek(scr,0,SEEK_SET);
fwrite(a,1,4*w*h,scr);
}
main() {
FILE* scr=fopen("/dev/fb0","wb"); // または"my_fb0"など
const int w=1920, h=1080;
struct PIXEL fb[w*h];
while(1) {
draw_sandstorm_fb(fb,w,h);
print_fb_scr(scr,fb,w,h);
}
}
0871デフォルトの名無しさん
2011/11/29(火) 23:13:55.59for(i=0; i<3; i++ ){
printf( "%d番目の人の情報を入力してください\n",i+1 );
printf( "まず氏名を入力して下さい\n" );
fgets(linebuf,BUFSIZE,stdin);
sscanf(linebuf,"%s",&Person1[i].name);
printf( "住所を入力して下さい\n" );
fgets(linebuf,BUFSIZE,stdin);
sscanf(linebuf,"%s",&Person1[i].address);
printf( "年齢を入力して下さい\n" );
fgets(linebuf,BUFSIZE,stdin);
sscanf(linebuf,"%s",&Person1[i].age);
printf( "\n" );
}
こんな感じで書いてます。
0872デフォルトの名無しさん
2011/11/29(火) 23:20:12.77とりあえず、50音順にソートしたいなら、氏名だけでなく、
よみがなを入力させないと無理だろう。
0873870
2011/11/29(火) 23:20:24.59linuxの場合は標準的なC関数のみで、画面へのグラフィック描画が可能です。
標準C関数のみではprintfくらいしかできないという一般的なイメージはdos/windowsの影響が大きいのかもしれません。
ビルド方法:
ファイル名を a.c だとして
gcc a.c
実行方法:
sudo ./a.out
なぜ sudo (スーパーユーザー権限での実行)をするかというと、スペシャルファイル /dev/fb0 は、標準ユーザーでは直接読み書きできない設定にされてる場合があるからです。
そこで、フレームバッファーのスペシャルファイルを、/dev/fb0ではなく、自分用に標準ユーザー権限で作成すれば手軽に実験できて良いかもしれません。
(実行時に sudo しなくて済むように)
方法:
my_fb0という名前で作るとして
sudo mknod -m 666 my_fb0 c 29 0
sudo chown ユーザー名:ユーザー名 my_fb0
これで、my_fb0というファイル(スペシャルファイル)に対して、標準ユーザー状態で読み書きできます。
適当なプログラムで my_fb0 というファイルに対して数字を書き込むだけで、フレームバッファーに対応した画面の各ピクセルの発光度合いを調整できます。
0874870
2011/11/29(火) 23:24:01.99xwindow上では動きません。
起動直後のdosっぽい黒い画面で動きます。
(
xwindow上で Alt+Ctrl+F1〜F6などで、その画面へと切り替えられるかもしれません。
xに戻る時はAlt+F7orF8かもしれません。
)
0875デフォルトの名無しさん
2011/11/29(火) 23:24:25.010876デフォルトの名無しさん
2011/11/29(火) 23:27:58.42もしかしてよみがなを入力してそのよみがなを文字コードにして
それを比較しないとできないってことですか?
0877デフォルトの名無しさん
2011/11/29(火) 23:32:58.71火星
↑読みが「びーなす」かもしれないし「まあず」かもしれない。
読み仮名入力しないと分からない→比較できない→ソートできない
0878デフォルトの名無しさん
2011/11/29(火) 23:38:32.2720年前のUNIXでそんなコード見たな。
進歩のないやつめ。
0879デフォルトの名無しさん
2011/11/29(火) 23:51:48.650880デフォルトの名無しさん
2011/11/30(水) 00:03:02.390881デフォルトの名無しさん
2011/11/30(水) 00:03:56.88漢字のままでも文字コード順になるよ。
0882デフォルトの名無しさん
2011/11/30(水) 00:04:41.56音読みとか訓読みとか知ってるか?
0883デフォルトの名無しさん
2011/11/30(水) 00:08:26.77もちろん知っているが、>>876の口ぶりからすると、文字コード順にソートすることが大変難しいことのように思っているのかとおもって。
0884デフォルトの名無しさん
2011/11/30(水) 00:11:19.890885876
2011/11/30(水) 00:11:34.30数値をソートするのは簡単なのですが・・・
0886デフォルトの名無しさん
2011/11/30(水) 00:12:35.960887デフォルトの名無しさん
2011/11/30(水) 00:12:43.55入門編だからstrcmpでいいよ
0888デフォルトの名無しさん
2011/11/30(水) 00:15:25.80どうすればいいかが分からないのです。
例えばstrcmpだと比較して文字が同じなら0で
違ったら−1を返すんですよね?
0889デフォルトの名無しさん
2011/11/30(水) 00:16:04.190890デフォルトの名無しさん
2011/11/30(水) 00:19:44.08strcmpは大小を返す。
文字列の大小が何をさすのかはその辺当たってもらうとして、
よみがなを入力するようにして、strcmpとqsortを使えば目的は達すると思われる。
よみがなをいれずとも、辞書順、たとえばWindowsのファイルの名前順でソートしたときと同じような結果は得られる。
そのときの順番は「ひらがな→カタカナ→漢字(大体音読み)」になる。
大体ってのは、常用外漢字とかがへんな位置に配置されてるため、ずいぶん後ろに追いやられる。
0891デフォルトの名無しさん
2011/11/30(水) 00:28:35.78仕様によみがなを入力するようにはなっていないのですが
この場合もqsortとstrcmpでできますか?
0892デフォルトの名無しさん
2011/11/30(水) 00:33:25.28内容は、受け取った2つの構造体の氏名のstrcmpの結果を返却するだけでいい。
んで、qsortの使い方がわかりにくいと思うけど、例などを見てやってみてください。
そのあと、よみがなに対応すればいいとおもう。
0893デフォルトの名無しさん
2011/11/30(水) 00:44:43.98少し分かったのでプログラム組んでみますね
0894デフォルトの名無しさん
2011/11/30(水) 12:27:15.53CHoge ( CHoge& )を定義しなきゃ
それで分からないならC++相談室の方へ
0895デフォルトの名無しさん
2011/11/30(水) 18:47:34.33int *p;
int* func(void);
int *func(void);
int* Class::func(void);
int *Class::func(void);
どっちにすべきなんでしょうか
0896デフォルトの名無しさん
2011/11/30(水) 18:56:06.770897デフォルトの名無しさん
2011/11/30(水) 18:58:25.670898デフォルトの名無しさん
2011/11/30(水) 19:05:21.410899デフォルトの名無しさん
2011/11/30(水) 19:22:52.78古き良き正統派C利用者は後者一択
0900デフォルトの名無しさん
2011/11/30(水) 19:24:23.50が一番スタンダードかな
0901デフォルトの名無しさん
2011/11/30(水) 19:27:32.08整形ツールに任せる。
0902デフォルトの名無しさん
2011/11/30(水) 19:32:47.79めんどくさくなって改行すら真面目にしなくなるけど意外と読みやすいという不思議
この事実は有益なのでプロポーショナルフォントをもっと流行らせるべき
0903デフォルトの名無しさん
2011/11/30(水) 19:37:07.84プロポーショナルでもコードの書式は重要だよ。
0904デフォルトの名無しさん
2011/11/30(水) 20:22:11.650905デフォルトの名無しさん
2011/11/30(水) 20:27:27.140906デフォルトの名無しさん
2011/11/30(水) 20:34:01.53ウィンドウのクラス化する時とかに仕方なく使ったりはするけど
0907デフォルトの名無しさん
2011/11/30(水) 20:38:13.09ありがとうございます。
後グローバル変数にはexternを付けるべきとか見たのですが何故なんでしょう?
後定義ファイルに#defineは使っていいですか?
質問ばかりですみません
0908デフォルトの名無しさん
2011/11/30(水) 20:42:17.76わからないということはexternがなんだかよくわかってないということなんだろう
事故を起こす前にもう一度調べなおしたほうがいいよ
まあ結論だけ言うとヘッダに書くときはつけるが正解なんだけどね
0909デフォルトの名無しさん
2011/11/30(水) 20:46:23.25ついてないのは定義・・・実際にメモリを確保して実体を作る。
ヘッダに定義があったら、それを複数のファイルでインクルードした時に、
同じ名前の実体が複数できちゃうので、リンカが怒る。
ぶっちゃけるとだいたいそんな感じ。
0910デフォルトの名無しさん
2011/11/30(水) 21:38:03.93分かりやすい解説ありがとうございました。
初期化 int x = 0; という書き方さえしなければ、extern はいかなる場合も不要。
宣言時の初期化にメリットはあまりないので、実際の初期化はコードで行い extern を一切使わないやりかたもある。
0912デフォルトの名無しさん
2011/11/30(水) 22:00:09.53それってたぶんC++だと怒られるよね。
まあ共用しないならいいけど。
0913デフォルトの名無しさん
2011/11/30(水) 22:02:45.61RedmineとかTracみたいなやつでもっと簡素なやつないですかね
0914デフォルトの名無しさん
2011/12/01(木) 00:36:17.550915デフォルトの名無しさん
2011/12/01(木) 00:40:05.250916デフォルトの名無しさん
2011/12/01(木) 05:14:29.400917デフォルトの名無しさん
2011/12/01(木) 05:19:44.750918デフォルトの名無しさん
2011/12/01(木) 05:20:34.980919デフォルトの名無しさん
2011/12/01(木) 05:37:19.210920デフォルトの名無しさん
2011/12/01(木) 06:49:26.37昭和に作られた大手の時代遅れの雇用環境を守るため搾取され使い捨てにされるのがIT技術者
古い産業の既得権益を守るため新しい産業の人材が搾取されるのがこの国のシステム
お客さんに素晴らしいサービスを届けたい
技術を蓄積して海外との競争に勝ちたい
そんな純粋な気持ちは踏みにじって面倒なことは下請け丸投げで
楽して生活費を稼いで問題が起きたら知らん振りするのが日本人
0921デフォルトの名無しさん
2011/12/01(木) 17:25:51.09ちなみに100億個の整数ソートです。
0922デフォルトの名無しさん
2011/12/01(木) 17:32:33.97おれならopenCL
0923デフォルトの名無しさん
2011/12/01(木) 17:33:28.68クイックソートじゃ無理
0924デフォルトの名無しさん
2011/12/01(木) 17:33:52.61100億個だとオンメモリは厳しいね。
ちなみに、何のデータ?
0925デフォルトの名無しさん
2011/12/01(木) 17:41:42.02メモ帳に書いた100億個の数字かなぁ。
0926デフォルトの名無しさん
2011/12/01(木) 17:47:39.95マージソートでやれ
0927デフォルトの名無しさん
2011/12/01(木) 18:09:47.270928デフォルトの名無しさん
2011/12/01(木) 18:33:04.330929デフォルトの名無しさん
2011/12/01(木) 18:59:28.210930デフォルトの名無しさん
2011/12/01(木) 20:48:31.53ランを使ったファイルでのマージソート
0931デフォルトの名無しさん
2011/12/01(木) 22:21:01.26おもしろいとでも思ったんだろうがとんだクソだったな。
0932デフォルトの名無しさん
2011/12/01(木) 22:30:34.16ガチホモ兄貴いる?
0933デフォルトの名無しさん
2011/12/02(金) 00:33:38.770934デフォルトの名無しさん
2011/12/02(金) 00:36:33.860935デフォルトの名無しさん
2011/12/02(金) 02:42:09.65VC2008Expressでクラスのエクスポーツをしたいんですけど、
ビルドするとゴルァされるんだよ。
#define EXPORT __declspec( dllexport )
class EXPORT BASECLASS
{
public:
BASECLASS()=0;
virtual BASECLASS()=0;
};
class CHOMECHOMECLASS
{
public:
CHOMECHOMECLASS();
~CHOMECHOMECLASS();
};
BASECLASSのコンストラクタにvirtualを付けないでビルドすると
「仮想関数が、純粋関数または抽象オーバーライド関数であると指定されています」で、
virtualを付けてビルドすると、↑のに更に付け加えて
「'inline' のみがコンストラクタの正しいストレージ クラスです」
って言われるんだわ。
nline BASECLASS()=0; でもダメみたいでね、
ググっても同じ事象が見つけられないし、参考書買う金も無い俺にはお手上げです。
誰か解決方法教えてくダサい。
0936デフォルトの名無しさん
2011/12/02(金) 02:44:16.08class CHOMECHOMECLASS : public BASECLASS
{
public:
CHOMECHOMECLASS();
~CHOMECHOMECLASS();
};
0937デフォルトの名無しさん
2011/12/02(金) 03:04:48.27ビルドされるんだけど、それでいいのか?
連投すまぬ
0938デフォルトの名無しさん
2011/12/02(金) 03:05:45.41って
virtual ~BASECLASS()=0;
の間違い?
0939デフォルトの名無しさん
2011/12/02(金) 03:07:58.16class EXPORT BASECLASS
{
public:
virtual ~BASECLASS() {}
};
0940デフォルトの名無しさん
2011/12/02(金) 03:46:54.05そこも間違えていましたね。スマッソ
0941デフォルトの名無しさん
2011/12/02(金) 04:39:16.34俺、視力弱いみたいで見間違えてた。
正しくは、↓こういう風にしたかったんだ。
#define EXPORT __declspec( dllexport )
class EXPORT BASECLASS
{
public:
virtual BASECLASS()=0;
virtual ~BASECLASS()=0;
virtual bool Create(int)=0;
virtual void Release()=0;
};
class CHOMECHOMECLASS : public BASECLASS
{
public:
CHOMECHOMECLASS();
~CHOMECHOMECLASS();
bool Create(int);
void Release();
};
でね、これだとBASECLASSのコンストラクタとデストラクタでエラーになるのね。
コンストラクタとデストラクタを削除するとエラーは0でビルドできるんですわ。
それで正解なのかもしれないけれど、腑に落ちないというか・・・
コンストラクタもデストラクタも記述したいな〜ってのが本音。
0942デフォルトの名無しさん
2011/12/02(金) 04:54:20.96ふがっ
0943デフォルトの名無しさん
2011/12/02(金) 05:04:27.50コンストラクタとデストラクタを削除すると、暗黙のデフォルトコンストラクタとデストラクタの実体が生まれるのでエクスポートできる。
0944デフォルトの名無しさん
2011/12/02(金) 05:05:36.390945デフォルトの名無しさん
2011/12/02(金) 05:39:43.16デストラクタはvirtualつけてもチョメチョメ→ベースの順で呼ばれるものだから純粋仮想関数だとまずいとかなんじゃない?
BASECLASS() {};
virtual ~BASECLASS() {};
としておけばいいんじゃね?
0946デフォルトの名無しさん
2011/12/02(金) 06:03:43.660947デフォルトの名無しさん
2011/12/02(金) 09:09:58.560948デフォルトの名無しさん
2011/12/02(金) 10:28:41.630949デフォルトの名無しさん
2011/12/02(金) 10:31:33.510950デフォルトの名無しさん
2011/12/02(金) 10:42:32.250951デフォルトの名無しさん
2011/12/02(金) 11:16:54.31みんなどうしてんのかな
0952デフォルトの名無しさん
2011/12/02(金) 11:20:42.660953デフォルトの名無しさん
2011/12/02(金) 11:24:11.030954デフォルトの名無しさん
2011/12/02(金) 11:34:46.060955デフォルトの名無しさん
2011/12/02(金) 11:56:53.33COM
0956デフォルトの名無しさん
2011/12/02(金) 13:27:09.810957デフォルトの名無しさん
2011/12/02(金) 17:22:31.06純粋仮想関数は、そのクラス内では内容を定義できない。
かつ、派生クラス内では「必ず、内容を定義しなくてはならない」のが純粋仮想関数。
たとえば
class A { virtual f() = 0; }
は、A::f() { printf("hello"); } として内容を定義することはできない。
かつ、
A から派生したクラスでは、f() を”必ず”定義しなくてはならない。(定義し忘れるとエラーになる)
class B : A { virtual f(); }
B::f() {printf("hello");}
全ての関数が純粋仮想関数の基底クラスを、とくに抽象基底クラスという。抽象クラスはインスタンスを生成できない。
しかし、定義としてなら使用できる。たとえば A->f() として任意の関数内等で利用するだけなら行える。(エラーにならない)
void test(A* a) {a->f();}
Aは抽象クラスなので a=new Aできないので、一見 test() は実際には利用できないように思えるが、
Aから派生したBなら、インスタンス生成できるので、b=new BをA型に型変換して渡すことはできる。
test((A*)b);
つまりAから直接派生したクラスでは、それぞれが必ず独自に f() を再定義していることが、言語として保証される。
派生クラスBを作る際に、最低限自前で用意しなければならない関数名のリスト。雛形に相当するのがA。
なぜこんな仕組みが用意されているかというと、ポリモフィズムを言語的に保証するため。
f() を定義しわすれるとエラーになるという言語仕様は、将来的にAの派生クラスを増やしても、ポリモフィズム動作する関数test()が破綻しないという保証になる。
純粋仮想関数は、派生クラスを定義したなら、必ず派生クラス内で再定義されなくてはならないが、デストラクタを純粋仮想関数とした場合。
class A { virtual ~A() = 0; } の場合は、
class B : A { ~A() {} } と必ず ~A() を定義しなければならないことになる。しかし、
~A() の名前(デストラクタ名)での関数定義は、クラスA内でしか許されない。クラスB内で~A()の名前での定義はエラーとなる。
最近のC++は知らないが、namespace登場以前のC++では、コンストラクタは特別で、通常のvirtualにさえできなかったはず。
0958デフォルトの名無しさん
2011/12/02(金) 17:27:37.230959デフォルトの名無しさん
2011/12/02(金) 19:52:28.73> 純粋仮想関数は、そのクラス内では内容を定義できない。
> たとえば
> class A { virtual f() = 0; }
> は、A::f() { printf("hello"); } として内容を定義することはできない。
上記は正しくないかと…C++11のFDISで申し訳ないけど
10.4p2
A pure virtual function need be defined only if called with, or as if with (12.4), the qualified-id syntax (5.1).
実際にコンパイルすると通ります:
ttp://ideone.com/zIWSs
ただ、クラス定義の中で純粋指定子と関数定義の両方を与えることはできません(10.4p2)
struct C {
virtual void f() = 0 { }; // ill-formed
};
あと、コンストラクタは、仮想関数にはなれません:
12.1p4
A constructor shall not be virtual (10.3) or static (9.4).
0961デフォルトの名無しさん
2011/12/02(金) 23:29:06.14バグの要因にしかならん気がするんだが
0962デフォルトの名無しさん
2011/12/02(金) 23:31:00.100963デフォルトの名無しさん
2011/12/02(金) 23:34:43.800964デフォルトの名無しさん
2011/12/02(金) 23:39:21.460965デフォルトの名無しさん
2011/12/03(土) 00:25:40.720966デフォルトの名無しさん
2011/12/03(土) 00:33:05.420967デフォルトの名無しさん
2011/12/03(土) 00:36:40.58QRコードを読み込むライブラリがあった気がするからそれ使えばいいんじゃないか
0968デフォルトの名無しさん
2011/12/03(土) 00:39:14.70標準のライブラリ以外は使用禁止されてるんで無理です^^;
0969デフォルトの名無しさん
2011/12/03(土) 00:42:04.62標準ライブラリだけで全部やらとなるとけっこう大規模だよ。
画像のデコードやら認識やら全部手で書くはめになるじゃん。
0970デフォルトの名無しさん
2011/12/03(土) 00:42:10.520971デフォルトの名無しさん
2011/12/03(土) 00:43:03.52/(^o^)\
0972デフォルトの名無しさん
2011/12/03(土) 00:58:37.96冗談だろ・・・
0973デフォルトの名無しさん
2011/12/03(土) 00:59:30.41全部真面目にやったら本が一冊書ける……というか、もうありそうだ
0974デフォルトの名無しさん
2011/12/03(土) 00:59:50.73冗談じゃないよ
課題なんだけどそう告げられた
0975デフォルトの名無しさん
2011/12/03(土) 01:00:27.88何行あるプログラムを作る気だよ・・・
0976デフォルトの名無しさん
2011/12/03(土) 01:05:54.39特に難しいこととは思えないけど
0977デフォルトの名無しさん
2011/12/03(土) 01:06:58.88作ってくださいおねがいします><
0978デフォルトの名無しさん
2011/12/03(土) 01:09:08.89例えばリードソロモン符号の復号コードをサクッと書いてくれと言われても
大抵の人は戸惑うと思うの
0979デフォルトの名無しさん
2011/12/03(土) 01:10:09.740980デフォルトの名無しさん
2011/12/03(土) 01:10:52.600981デフォルトの名無しさん
2011/12/03(土) 01:12:58.720982デフォルトの名無しさん
2011/12/03(土) 01:16:21.22保存されてる画像から情報を読み取る所から作るのかでだいぶ違うと思うんだけど
どっから作ればいいんだ
0983デフォルトの名無しさん
2011/12/03(土) 01:17:50.15保存されてる画像からです><
0984デフォルトの名無しさん
2011/12/03(土) 01:24:59.600985デフォルトの名無しさん
2011/12/03(土) 01:26:10.15なんだそこからか
画像認識がおもしろい所なのに
0986デフォルトの名無しさん
2011/12/03(土) 01:36:37.55QRコードじゃトラッキングとか必要ないだろうし。
0987デフォルトの名無しさん
2011/12/03(土) 03:02:38.45デジカメで写した画像からの解析かでずいぶん処理が変わると思うが。
画像の形式は?
QRコードの仕様書は?
0988デフォルトの名無しさん
2011/12/03(土) 04:29:52.37GOTOってそんなに使っちゃダメなんですか?
また、普通の変数ではなくポインタを使うメリットとは??
0989デフォルトの名無しさん
2011/12/03(土) 04:34:07.100990デフォルトの名無しさん
2011/12/03(土) 04:36:33.08どう考えてもGOTO使った方がスッキリすると思んだけどなぁ。
0991デフォルトの名無しさん
2011/12/03(土) 04:51:26.34>状態遷移
で goto を使うのか?まさか!
0993デフォルトの名無しさん
2011/12/03(土) 07:54:43.020994デフォルトの名無しさん
2011/12/03(土) 07:56:22.45C言語なら俺に聞け(入門編)Part 93
http://hibari.2ch.net/test/read.cgi/tech/1322866566/
0995デフォルトの名無しさん
2011/12/03(土) 10:15:20.620996デフォルトの名無しさん
2011/12/03(土) 10:25:39.66画像はbmpからで、QRコードの仕様は何も聞いてません
0997デフォルトの名無しさん
2011/12/03(土) 10:46:37.25本屋に行けば4,830円ほどで取り寄せてもらえるので購入してください
お急ぎであればPDFとして購入できますのでJISのサイトから買ってください
0998デフォルトの名無しさん
2011/12/03(土) 10:49:52.60必要な資料は有料です。
自分で買ってください。
1000デフォルトの名無しさん
2011/12/03(土) 11:00:06.06図書館においてあるだろ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。