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


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

スレを勃てるまでもないC/C++の質問はここで 20



1 名前:デフォルトの名無しさん [2011/09/15(木) 00:17:43.25 ]
スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。

過去ログ
01 pc11.2ch.net/test/read.cgi/tech/1167476845/
02 pc11.2ch.net/test/read.cgi/tech/1178503366/
03 pc11.2ch.net/test/read.cgi/tech/1187521676/
04
pc11.2ch.net/test/read.cgi/tech/1221633708/
05 pc11.2ch.net/test/read.cgi/tech/1230516307/
06 pc11.2ch.net/test/read.cgi/tech/1231564903/
07 pc11.2ch.net/test/read.cgi/tech/1232983248/
08 pc12.2ch.net/test/read.cgi/tech/1235921779/
09 pc12.2ch.net/test/read.cgi/tech/1240022781/
10 pc12.2ch.net/test/read.cgi/tech/1242300936/
11 pc12.2ch.net/test/read.cgi/tech/1245059383/
12 pc12.2ch.net/test/read.cgi/tech/1248010352/
13 pc12.2ch.net/test/read.cgi/tech/1260842197/
14 pc12.2ch.net/test/read.cgi/tech/1269273471/
15 pc12.2ch.net/test/read.cgi/tech/1273368706/
16 hibari.2ch.net/test/read.cgi/tech/1279285647/
17 hibari.2ch.net/test/read.cgi/tech/1285115590/
18 hibari.2ch.net/test/read.cgi/tech/1291571263/
19
hibari.2ch.net/test/read.cgi/tech/1308106024/

628 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 19:02:19.38 ]
>>626
具体的な例を挙げてくださり、ありがとうございます。
演算子の優先順位を忘れていました。カッコをつけるとわかりやすいですね。

ただ、残念ながらおっしゃっている事がまだ理解できません。
*p++ ・・・この文が、何かの変数や関数への代入文に使われているのなら、
「ポインターを+1 されたアドレスのデータを何かに代入しているんだな」 と
思えるのですが、参照している教科書には *p++ とだけしか書かれておらず、
何かに代入しているわけではないのです。
だったら * は不要で、 p++ だけでいいのでは? と思います。

ど素人の低レベルな質問で意味不明かもしれませんが、なにかヒントを下さい。

629 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 19:07:33.60 ]
>>628
前後のコードもしくは文章plz

630 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 19:21:45.24 ]
>>629
独習C から、該当部分を引用します。

>ポインタそのものに対してだけでなく、ポインタが指しているオブジェクトに
>対してもインクリメント演算子やデクリメント演算子を使用する事ができます。
>しかし、ポインタが指しているオブジェクトをインクリメントしようとするときには
>注意してください。 例えば、値1 の整数を指しているp があるとします。
>次の文を実行するとどうなるでしょうか。
>
> *p++
>
>予想は当たったでしょうか。この文では最初にp をインクリメントし、次に
>新しいメモリアドレスにある値を得ます。ポインタが指しているものを
>インクリメントするためには、次のような式を使わなければなりません。
>
> (*p)++
>
>かっこをこのように使うことによってp が指している値をインクリメントすることが
>できます。
>また、関係演算子を用いれば、2つのポインタの値を比較する事ができます。
>もちろん、ポインタの比較は、それが相互に関連している、つまり、同じ型の
>オブジェクトを指しているような場合に、初めて意味を持ちます。

以上該当部分です。何か重要な情報がありますでしょうか。

631 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 19:35:48.07 ]
>>630
書いてるまんまだろ

参照先をインクリメントしたいときは (*p)++ と書け
*p++ と書いたらポインタ自体をインクリメントすることになる
って言ってるだけ

*p++ のコード自体に筆者の言いたい意味があるわけじゃない

632 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 21:05:42.47 ]
>>631
>*p++ のコード自体に筆者の言いたい意味があるわけじゃない

なるほど。ここまで読み進めてきて、はしょった表現がなかったものですから、
勘違いしていたようです。 どうもありがとうございました。

633 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 21:10:08.38 ]
*p++ って、もはや定型的な書き方なのさ。

634 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 22:44:18.36 ]
>>630
>> *p++
>>
>>予想は当たったでしょうか。この文では最初にp をインクリメントし、次に
>>新しいメモリアドレスにある値を得ます。

「インクリメント前のメモリアドレスにある値を得た後、pをインクリメントする。」だろ?

635 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 18:34:04.05 ]
なんだか勘違いしそうな説明が続いてるなw

例えば、
int a[4] = { 0,1,2,3 };
int* p = a;

int n = *p++;
int m = *(p++);

ってすると、n = 0, m = 1 になるんだぜ。
上の説明だけでは納得できないだろ?w



636 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 19:22:47.06 ]
>>635
いや、大体わかったつもりです。

int n = *p++
// 配列a の先頭番地のデータ(0) をn に代入し、その後インクリメントされる。

int m = *(p++)
// p は+2 されているので、データ(1) がm に代入され、その後インクリメント。

これらの文が処理された後、p はデータ(2) の番地を指している。

・・こういう解釈であっていますよね。



637 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 19:32:19.53 ]
>>636
nもmも式評価のときは*pで++は*よりも優先順位が高いから
結合するのはどちらもpだけってことだろ?

638 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 19:42:30.17 ]
>637
すいません、本当に素人で、釣りをしているわけではありません。
直球ど真ん中のマジレスでお願いします。
そこであえて質問ですが、"結合" とは、この場合どういう意味でしょうか。

639 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 19:44:20.68 ]
疑問に思ったところは6章のポインタで
>>636のいいたいインクリメントについては2章制御文その1でやってるから大丈夫だろ
ってかインデックス見ようと翔泳社見たら独習C絶版なのな
独習C++ってC読んでること前提で書かれてなかったっけ?

640 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 19:57:11.02 ]
>>638
その演算子がある項に作用すること

後置インクリメント++の場合、単項演算子で結合性は右から左
また優先順位は参照演算子*よりも高いので
この場合(*p++)は++の左にある単項、pに作用する
後置インクリメントは評価後にインクリメントされるので
この式(*p++)自体の結果は*p

これでいい?

641 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/01(日) 20:49:01.75 ]
>>640
160km/h のストライク。よくわかりました。今後ともよろしくお願いします。

642 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 20:54:47.31 ]
>>639
いや、絶版じゃないだろう・・・・・第3版のことか?
books.shoeisha.co.jp/book/b72093.html

独習C++が独習Cを読んでいる(C言語は既習である)ことを前提に書かれているのはその通り。

643 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 21:02:35.80 ]
>>642
おおスマン
見落としていた

644 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 03:19:18.51 ]
昨日からC言語始めたプログラム初心者です

四捨五入のプログラムで
例えば1.666を第3位で四捨五入すると1.670000って表示されるんだけど
これを1.67と表示させるにはどうやったらできますか?

645 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 03:24:44.66 ]
printf("%.2f",1.67);

646 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 03:49:55.45 ]
>>645
サンクス



647 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 20:05:15.76 ]
>>644
つ[ "%g"]

648 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 17:20:56.61 ]
CLRのコンソールのメイン関数って、Microsoft独自のモノですか?
それとも、C++の新規格のメイン関数なのですか?

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
return 0;
}


649 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 18:25:56.69 ]
>>648
該当スレできけば?
くだすれC++/CLI(初心者用)part2
toro.2ch.net/test/read.cgi/tech/1268613679/

650 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 18:34:32.79 ]
>>648
そもそもnamespace Systemなんて標準のC++にはないよ。

651 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 18:50:39.50 ]
CLIで探せばよかったのですね。Thanx!

652 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 20:26:16.99 ]
c++簡易ブラウザーを作りたい
boost::asioでソケット周りできた。クッキーも仕様書みながらある程度できた。
javascriptはECMAScriptと戦わないとだめなのか?

653 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 20:41:16.75 ]
モジラやググールのを使え

654 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 21:04:59.82 ]
V8が面白そうだ。先は長いな…

655 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 00:36:28.03 ]
DOMをやるのかやらないのかでだいぶ違う
ブラウザの進化の過程をたどるか、あるいは新発想のアーキテクチャでいくか。
ある程度の完成物を狙うなら、いったん、V8なり、JSCなりを呼ぶ実装がいい
そもそも、JavaScriptエンジンのインタフェース自体から、学ぶ点がある

656 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/06(金) 16:48:33.44 ]
ECMAScript - Wikipedia
ja.wikipedia.org/wiki/ECMAScript





657 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:40:27.10 ]
int a=ランダム値;
bool flag;
if(a==1 || a==42 || a==145)flag=true;

↑こんな感じのことをやりたいんですが、
(a==1 || a==42 || a==145) ←ここのとこを簡単に書く方法ってないですかね?
例えば
(a==(1 || 42 || 145)) みたいな。(これじゃ当然無理ですけど)

何か方法があれば教えて下さい。よろしくお願いします。


658 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:46:14.83 ]
bool check(int const a)
{
static const int checkers[] = {1, 42, 145};
for (int ic = 0; ic < sizeof(checkers) ? sizeof(* checkers); ++ic) {
if (a == checkers[ic]) return true;
}
return false;
}

bool flag = check(a);

659 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 22:09:09.10 ]
最終的に吐き出されるバイナリが、結局、
(a==1 || a==42 || a==145) みたいなことになるんだろうから、
(a==1 || a==42 || a==145) で十分に簡潔と言えるんじゃなかろうか。

もちろん、そんなクジみたいな抽選をやたらとあちこちで実行してるなら、
全体的に読みやすいように、書き様はあると思うが。マクロとかで。

660 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 22:10:54.95 ]
こうなら書けるな 発想の転換の一助になれば。

flag=false;
select(i){
case 1: case 42: case 145: flag=true;
}

661 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 22:25:07.23 ]
<< とか使う

662 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:48:08.59 ]
bool operator,(〜)とか使う

663 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 00:10:01.79 ]
bool f(int a){
struct ck{ck(int a):v(a),t(false){}ck&operator,(int a){t=t||a==v;return*this;}operator bool(){return t;}int v;bool t;};

return ck(a),1,25,142; }

664 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 00:23:45.95 ]
可変長引数でチェック関数作るとか

665 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 08:09:44.01 ]
flag = (a==1 || a==42 || a==145);
が、一番シンプルに見えるわけだがw

666 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:31:40.48 ]
Perl6のJunctions風の何かを作るといいのかな



667 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 21:22:35.70 ]
D言語のlazy 相当の機能が有ればなあ

668 名前:543 mailto:sage [2012/04/18(水) 22:11:53.62 ]
0〜999の番号を10000の要素にランダムに割り当てるときに
各番号が10回ずつ(各番号が同じ回数という意味で)出てくるように割り振りたいのですが
なにかいい方法ありませんか?

669 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 22:16:13.58 ]
vectorに突っ込んでrandom_shuffle

670 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 22:20:46.95 ]
>>669
そのような関数があったんですね。勉強になります!
ありがとうございました。

671 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 22:28:39.71 ]
質問です
C言語でマイクから入力した音声を送信する方法
もしくはマイクから入力された音声がどこに保存されているかを教えてください


672 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 22:43:31.86 ]
環境も書かずになんて間抜けな質問を……

673 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 23:00:22.03 ]
失礼しました
環境はbcpadです

674 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 00:00:32.77 ]
WindowsならmmsystemだからWin32APIスレで聞いた方がいいだろ

675 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 06:51:33.03 ]
>>674
情報ありがとうございます!

676 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 14:52:44.05 ]
コマンド・ライン引数でargc と argv というのが伝統的に使われている
そうですが、それぞれの語源(何の略) か、教えてください。



677 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 15:05:36.01 ]
argument count value

678 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 15:26:44.81 ]
>>677
ありがとうございます!


679 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:37:51.52 ]
VC++をつかってC言語でLifeGameを書こうとしてみたのですが、

680 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 01:33:52.49 ]
セルがモニタから飛び出して勝手に増殖し出してしまって、

681 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 02:54:49.21 ]
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|

682 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 03:00:54.75 ]
罠を張って待っていることも知らずに、

↑なーんてなことを書き出してしまって、

683 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 04:06:50.55 ]
【そりゃないよドコモさん】ドコモが日本通信に提訴された経緯
weekly.ascii.jp/elem/000/000/084/84599/
 ドコモは「必要な費用」と説明したとのことですが、その費用はそもそも算定式に含まれているはず、
というのが日本通信側の主張です。
 このため日本通信が差額の支払いを一時停止したところ、ドコモ側は「接続を切断する」と回答。
結果、ユーザーへの影響を考慮して、日本通信側はドコモ側の要求どおりの支払いを続けている、
というのが今の状況です。

684 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 06:23:00.54 ]
宿題で出されたこの問題が分からないのですが、誰か教えてくれませんか。

1〜9までの連続する数字の間に和・差・積の演算子(+, -, *)を適当に入れて、
式の値がちょうど 100 となる例を挙げよ(10とおりだけ書け)。

たとえば、
 1 + 2 * 3 * 4 * 5 + 6 * 7 - 8 * 9 = 91
というような計算をする。ただし、この例では式の値が91となるので答えではない。

685 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 06:33:39.44 ]
このスレに何の関係が

686 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 06:35:50.34 ]
ごめんなさい、宿題スレに書き直してくるので無視してください



687 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 06:55:17.27 ]
eval() を実装しろという問題だな

webサービスを呼ぶ、でもいい

688 名前:デフォルトの名無しさん [2012/04/25(水) 00:26:53.55 ]
csvのデータを読み込み、このデータセットの平均値Ave を求めて
標準出力するCプログラムを書きたいのですがどうすればいいですか?

689 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 00:36:54.63 ]
まず深呼吸します

690 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 07:58:46.21 ]
宿題レベルの質問に見えるが、csvに何が詰まってるかによるな(22,2Cの扱い)。

出題者が、データはこれな。って言ってきてないか。

691 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 14:26:18.67 ]
図書館でプログラミング作法を借りてくる

692 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 16:16:06.77 ]
C言語で、できるだけ簡単な文法だけを用いて、「ある数列から重複している値があれば取り出す」という関数を作りたいのですが、どうすればいいのですか?

693 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 16:36:07.14 ]
>>692
数列は長いか?(数万件)
数値範囲が予測できるか?
範囲が狭いか?(1~10など)
小数点以下も必要か?
で方法が違う。

694 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 16:38:59.09 ]
>>692
CSTLのsetを使う


695 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 16:52:07.30 ]
回答ありがとうございます。

数列は、int型で自由に入力したものになるので、長くなる可能性があります。
値の範囲は予測できません。
小数点は利用しません。

696 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 17:24:24.59 ]
要はエスパー待ちて事だな。



697 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 17:26:40.06 ]
>>692
「重複している値があれば取り出す」とあるが、例えば「1,1,1,1,1」という数列があったとき、
1は1回だけ取り出されるのか、それとも4回取り出されるのか。

698 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 18:08:25.02 ]
どっちでもいいじゃん

for (i=0; i<N; ++i) {
IntSet_insert(tmp, data[i], &success);
if (!success) {
IntSet_insert(s, data[i], NULL); //1回だけの場合
IntList_push_back(l, data[i]); //複数回の場合
}
}

699 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 18:21:15.51 ]
取り出すってどういうことを言ってるんだろうか

700 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 18:33:23.57 ]
>>699
日本語の問題だな。
取り出す→Action
抽出、除外→Process

701 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 18:46:10.92 ]
配列から取り出して元の配列の要素数を減らすのか、取り出したものを別の配列に入れて再利用するのか






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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