- 1 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 20:35:36 ]
- スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。
過去ログ スレを勃てるまでもないC/C++の質問はここで pc11.2ch.net/test/read.cgi/tech/1167476845/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/ スレを勃てるまでもないC/C++の質問はここで 3 pc11.2ch.net/test/read.cgi/tech/1187521676/ スレを勃てるまでもないC/C++の質問はここで 4 pc11.2ch.net/test/read.cgi/tech/1221633708/ スレを勃てるまでもないC/C++の質問はここで 5 pc11.2ch.net/test/read.cgi/tech/1230516307/ スレを勃てるまでもないC/C++の質問はここで 6 pc11.2ch.net/test/read.cgi/tech/1231564903/ スレを勃てるまでもないC/C++の質問はここで 7 pc11.2ch.net/test/read.cgi/tech/1232983248/ スレを勃てるまでもないC/C++の質問はここで 8 pc12.2ch.net/test/read.cgi/tech/1235921779/ スレを勃てるまでもないC/C++の質問はここで 9 pc12.2ch.net/test/read.cgi/tech/1240022781/
- 433 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 20:32:11 ]
- こんな言葉がある
『プログラムは思ったとおりに動かない。書いたとおりに動くのだ』
- 434 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 20:37:43 ]
- printf文をつけることで関係無い部分が正しく動くようになったのですよ。
理解不能(^q^)
- 435 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 20:41:57 ]
- >>430の言ってることが答えな気がする
printf文を加えたソースファイルをコンパイルしなおしたことでヘッダファイルの変更が反映されたと
- 436 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 20:47:47 ]
- >>435
別のソースファイルにつけたときは正しく比較部分が正しく動かなかったです。 (ヘッダーで設定した数値は正しく表示された) 日本語が不自由ですみません。
- 437 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 20:58:48 ]
- そんなときにはソリューションのクリーン→ビルド
- 438 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 21:11:50 ]
- >>436
いやだから、別のソースファイルの時は今回直したソースファイルをコンパイルしなおしていないんじゃないか?ってこと
- 439 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 22:44:16 ]
- とりあえず環境、ヘッダとかのファイル名と実行したコマンドを書け。
- 440 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 23:53:16 ]
- C言語の質問です。お願いします。
{ int i; char ch; scanf("%d", &i); printf("%dです。\n", i); scanf("%c", &ch); printf("%cです。\n", ch); return 0; } というプログラムを実行し例えば4と打つと 4 4です。 です。 と表示されてしまいます。 何故、scanf("%c", &ch)は無視されるのでしょうか? 4 4です。 s sです。 と言った具合に表示させたいです。
- 441 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 23:59:06 ]
- www.google.co.jp/search?q=scanf+%89%FC%8Ds%95%B6%8E%9A
- 442 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:01:12 ]
- virtualってつけれるところは全部つけとけばおkなんですか?
- 443 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:12:38 ]
- >>440
4の次に入力された改行文字が、2回めのscanfで読み込まれるから。 scanf("%d%*c", &i); のようにして、改行文字を1回めのscanfで読み込ませればいい。
- 444 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:21:25 ]
- >>441
>>443 ありがとうございました。 おかげさまで解決しました。
- 445 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:25:31 ]
- >>442
副作用としては、 ・オーバーライドするつもりのない関数を間違ってオーバーライドする可能性がある ・多分、メモリ使用量が幾分増える ってのがある。
- 446 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 03:57:21 ]
- Cの乱数をsrandとtimeを使って毎回違うようにするのは
わかったのですが、二つの乱数をほぼ同時に出す場合、どうすれば その二つの乱数をバラバラにする事ができますか? 具体的には戦闘ゲームなのですが、 コチラの攻撃が1~30までで、相手も1~30までの値で 攻撃してくるときに、1~30までの値を返す関数を srandで初期化してrand()%30+1の値を返すという風に作りました。 しかし、自分の攻撃値も上の関数でけっていし、それにほぼ同時 (すぐ次の行で)相手の攻撃値も決定しているのですが、そうすると どうしても自分の攻撃値と相手の攻撃値が同じになってしまいます。 時間がほぼ同時ぐらいのタイミングで処理するとどうしても このようになってしまうと思うのですが、どのようにすれば別々の値に できるでしょうか?よろしくおねがいします。
- 447 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 04:04:51 ]
- srandで初期化するのは、プログラム中1回だけでいい。
面倒なら、srand呼ばないようにすればとりあえずランダムな値は取れる。
- 448 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 04:16:45 ]
- 同じだったらもう一回randすればいいんじゃないの
- 449 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 04:30:35 ]
- 乱数シードに IP アドレスとかプロセス ID とかを加算
てか同じプロセス内のコードか??? なら初期化は一回だけであとは rand を呼べばいい
- 450 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 05:18:53 ]
- 質問なのですがお願いします。
c++、bccを使用しています。 char si[1000]; char sj[1000]; cin>>s1; cin>>s2; と二つの配列を作って、こんぱいる実行したら 「_ 」 とうまく入力待ちになりました。しかし、 char si[1000]; char sj[1000]; cin>>s1; cin>>s2; array[1000][1000][5]; では、 「 c:\bcc\test> 」 と表示されて、たぶん実行終了した状態になるのですが、 原因を教えてくださいませんでしょうか?おれがうんこなのでしょうか?
- 451 名前:450 mailto:sage [2009/05/31(日) 05:20:12 ]
- 全力で間違えました。
char si[1000]; char sj[1000]; cin>>s1; cin>>s2; int array[1000][1000][5]; でうまくいかないのでしあt
- 452 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 05:23:32 ]
- 領域確保しすぎてスタックオーバーフロー?
配列をグローバルにしてみよう
- 453 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 05:24:01 ]
- >>451
>int array[1000][1000][5]; これ単純に大きさを計算したら1000×1000×5×4=約19MBとなって スタックのデフォルトの大きさ1MBを超えるから異常終了する スタックを大きくするかstaticを付けてBSSに配置するかだな
- 454 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 06:35:37 ]
- Visual Studio 2005 Proですが
array<String^>^ getFilterName_St(); Bitmap^ sample_grab(); Bitmap^ sample_grab2(Bitmap^ bmp); こういう書き方って、.NET対応CLIの実装ですよね、NativeなC/C++では使えないコードですよね。
- 455 名前:デフォルトの名無しさん [2009/05/31(日) 08:37:19 ]
- うん
- 456 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 09:06:28 ]
- >>455Thx分かりました。
.NETのCLIって、C/C++のコードも混在することができるんですね、templateや関数オブジェクトがすらすら書けない俺には無用なものですね。
- 457 名前:450 mailto:sage [2009/05/31(日) 11:42:01 ]
- ありがとうございました。
mainの外に追い出したところ、何とか起動しました。 途中で強制終了されたけど。。。なんかでかい配列を扱うのはすごく大変ですね。 ありがとうございました!
- 458 名前:デフォルトの名無しさん [2009/05/31(日) 13:25:55 ]
- ある動的配列の要素全てが0以下である
をループを抜ける条件としたいのですが、何か良い方法はありますか? 今はforで要素全てを判定させて、全て0以下なら 変数aを1、このaが1ならループを抜けるとしています
- 459 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 13:47:38 ]
- O(n)未満の方法はないんじゃないかな
なのでその方法がベスト もし、STLに関数型言語のforallやexistsのようなものがあれば 記述的に楽は出来るだろうが やる計算的には>>458の方法と同じになるし
- 460 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 13:49:41 ]
- Pstade.Ovenライブラリを使って
oven::forall(xs, _1 <= 0) を終了条件にすればいい ただしxsは対象である動的配列の型で、かつ xsの型がsingle pass rangeのコンセプトを満たす必要がある vectorやlistはこのコンセプトを満たす
- 461 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 13:52:40 ]
- >>458
それでいいんじゃないの? あまりにも大量のデータを頻繁にチェックするというのなら、 配列に書き込む時点で値が0以下かどうかチェックするという方法もあるけど。 (配列への書き込みが大量に発生するようだと、これも効率的でなくなるが)
- 462 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 13:58:53 ]
- while( !isAllNegative(array, size) ) 〜;
isAllNegative(int *array, int size){ for(int i = 0; i < size; ++i) if(array[i] >= 0) return false; return true; }
- 463 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:00:15 ]
- ああ、そのほうが良いな。アホだった
あと、そのプログラム、条件>=じゃなくて>にしないと
- 464 名前:458 [2009/05/31(日) 14:31:22 ]
- ありがとうございます!
全部試してみますね
- 465 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 16:34:51 ]
- 他人の作ったクラスを継承するのって危険ですかね?
- 466 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 16:37:52 ]
- 継承する想定で設計しているならそうでもないんじゃないの。
まぁ作った奴のスキルがどれだけ信用できるかだが。
- 467 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 16:56:40 ]
- 自分で定義したクラスでも意識してないと
Liscov Sutstitution Principleは簡単にぶっ壊れるのになにをかいわんやだ
- 468 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:06:56 ]
- プライベート継承しただけで壊れるんだっけ
- 469 名前:デフォルトの名無しさん [2009/05/31(日) 17:09:19 ]
- 女でプログラマは何割くらいいますか?
- 470 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:32:53 ]
- 一割いないね。
- 471 名前:デフォルトの名無しさん [2009/05/31(日) 17:42:00 ]
- トンクス
- 472 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:42:25 ]
- 女でプログラマで美人で性格いい人は何割ぐらいいますか?
- 473 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:55:38 ]
- 本当に人口の半分は女なのか疑わしくなってくる
- 474 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:59:10 ]
- 女優遇社会だからな。酷い男社会とは別の贅沢な環境で生活してるんだよ。
- 475 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 19:06:42 ]
- 主夫になりたい
- 476 名前:デフォルトの名無しさん [2009/05/31(日) 19:18:18 ]
- 前にも質問したんですが、メモリをファイルに見せかける方法か、
ramディスクを動的に生成する方法ありますか。
- 477 名前:デフォルトの名無しさん [2009/05/31(日) 19:21:25 ]
- DOSコマンドでファイルへ出力するものを直接メモリに入れたいのですが。無理でしょうか。
標準出力ではなく、ファイルへの出力の場合です。
- 478 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:06:40 ]
- mmapとか、MapViewOfFileとか、その辺を調べるといいかも。
ただし俺だったら出力関数にファイルに出力するかメモリに書き込むかを 指定するフラグをつけるけどな。
- 479 名前:デフォルトの名無しさん [2009/05/31(日) 20:08:14 ]
- >>476
メモリマップドファイルというのがある それ専用のWindowsAPIがあるから、他でもOSレベルのAPIがあるんじゃね
- 480 名前:デフォルトの名無しさん [2009/05/31(日) 20:12:08 ]
- ファイルをメモリのように扱うのではなく、
メモリをファイルのようにしたいのですが。 メモリを借りてきて、Zドライブを作るとかです。 普通のドライブのようにアクセスする方法はないですか
- 481 名前:デフォルトの名無しさん [2009/05/31(日) 20:14:51 ]
- えっ
- 482 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:14:55 ]
- ---hoge.h---
class Hoge{ public: メンバ関数; private: void *mMember; }; ----------- --hoge.cpp-- namespace{ struct Member{hoge hg}; //コンストラクタでmMember = (void *) new Member; アクセスは(Member *)mMember privateメンバ関数の代わりの関数; } メンバ関数; ----------- めんどくさそうだけど、カプセル化にこだわるならこんな感じのほうがいいんでしょうか?
- 483 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:18:54 ]
- >>480
RAMディスク Windows とかでぐぐれ。
- 484 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:21:30 ]
- >>482
こだわるならそんな感じだけど、そこまでこだわる必要があるケースは稀。
- 485 名前:デフォルトの名無しさん [2009/05/31(日) 20:21:33 ]
- RAMディスクをプログラムが動いているときだけ生成して、終了したら解放する方法はないですか?
既存のDOS EXEで、出力がファイルのやつを直接メモリに格納して高速化したいです。
- 486 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:25:52 ]
- RAMディスクつくるソフトを制御して
起動時にRAMディスク作らせて、終了時にRAMディスク開放させればいいのでは?
- 487 名前:デフォルトの名無しさん [2009/05/31(日) 20:29:44 ]
- 汎用性がある方法はないですか
ソフトをインストールしてもらわないと出来ません
- 488 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:40:26 ]
- 単に、バーチャルなファイルシステムをかますだけでしょ。作った方が早い
- 489 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:43:05 ]
- USBカメラから画像を取り込みたいんですが、よくあるUSBカメラを使うソフト
とかってどうやってるんでしょうか?
- 490 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:58:48 ]
- 既存のDOS EXEって何よ?
- 491 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 21:14:14 ]
- >>489
USBカメラがそうなっているかは分からんが、TWAINという共通化インターフェースがある
- 492 名前:デフォルトの名無しさん [2009/05/31(日) 21:19:51 ]
- カプセル化という物を勉強したのですが、一度しか使わない計算でも
関数を定義して別ファイルに値を渡し、戻り値をmainに渡すようにしたほうがよいのでしょうか?
- 493 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 21:22:02 ]
- ありがとうございます。TWAIN初めてききました
直接カメラのドライバをたたいてるのかと思ってたけど、こんな便利なのがあったんですね
- 494 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 21:34:23 ]
- >>492
必要に従いカプセル化する。何でもかんでもカプセルにして密閉化すると。 オブジェクト指向原理主義者になるw
- 495 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 21:39:04 ]
- >>492
突き詰めると決着が付かないような議題 個人的にはほんの数行(最大4行ぐらい)で、そこでしか計算しないんだったら埋め込む ただ >関数を定義して別ファイルに値を渡し、戻り値をmainに渡す が何を言ってるのかがわからなくて心配
- 496 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 21:51:10 ]
- >>492
それはカプセル化というよりはリファクタリングに関係してるように思う 俺の場合、ある処理を2回行うようになった時点で関数化する 逆に1回しか使う場所がないのに無駄に抽象化した関数は定義しないようにしている C++の抽象化能力では、これは常に出来ないのは若干悩みの種 カプセル化は、ライブラリのように 他人もそのコードを使うケースで意識すればよいと思う
- 497 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 21:54:50 ]
- >>477
出力ファイル名にCONを指定して標準出力へ出せるようにならない? それで動くなら、あとはリダイレクトできるでしょ。
- 498 名前:デフォルトの名無しさん [2009/05/31(日) 22:01:18 ]
- >>494-496
ありがとうございます 一人だから問題ないのですが、逆に指摘してくれる人がいないのが難点です
- 499 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 00:08:32 ]
- スタイルの問題で答えはないと思うけど、マクロってインデントするべきかな?
#ifndef CLASS namespace Name { class Class { public: foo bar(); #ifdef _DEBUG hoge fuga(); #endif } } #endif #ifndef CLASS namespace Name { class Class { public: foo bar(); #ifdef _DEBUG hoge fuga(); #endif } } #endif 悩む・・・
- 500 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 00:26:03 ]
- #ifndef CLASS
なんたらかんたら # ifdef _DEBUG なんたらかんたら # endif /* _DEBUG */ なんたらかんたら #endif /* CLASS */ とやるのが普通かな。 プリプロセッサディレクティブは、行の先頭を#で始めなければならない。 規格のどのセクションだったかもう覚えてないけど。 フリーソフトウェアのソースを読んで勉強したら良いかもしれない。
- 501 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 00:53:26 ]
- そう?
手元のANSI C言語辞典には#の前に空白類があってもよいと書いてあるけど。 もちろんそんな書き方誰もしないということは同意だ。
- 502 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 00:59:31 ]
- #if foo
#if bar #include <momo.h> #else #include <taro.h> #endif #endif のような例はよくみかける。
- 503 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 01:25:41 ]
- 自分は普段はこう書くな。
#if foo # if bar # include <momo.h> # else # include <taro.h> # endif #endif 行頭に#があったほうが見た目わかりやすいと思う。
- 504 名前:503 mailto:sage [2009/06/01(月) 01:27:01 ]
- #if foo
# if bar # include <momo.h> # else # include <taro.h> # endif #endif こうな。
- 505 名前:デフォルトの名無しさん [2009/06/01(月) 01:36:32 ]
- Windows98のメモ帳でのプログラムの実行の仕方を教えて下さい
因みに入力したのはC言語のprintf何たらの簡単なプログラムです
- 506 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 01:41:44 ]
- 書いたコードをここに貼り付けて、右下のボタンを押せ。
ttp://codepad.org/
- 507 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 05:53:03 ]
- >>502
俺もそう書くわ。 特に多いのが #ifndef __BORLANDC__ 高度な処理; #else 低度な処理; #endif みたいにコンパイラで処理を分けたりとか、あとはデバッグの時かな。
- 508 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 06:27:58 ]
- 1.下の多重ループで「A」は何行何列に表示されるか.
for(j=1;j<=2;j++) { for(k=1;k<=3;k++) { printf("A"); } printf("\n"); } 2.下の多重ループで「A」は何行何列に表示されるか. for(j=1;j<=5;j++) { for(k=1;k<=4;k++) printf("A"); printf("\n"); } 1は2行3列で2は4行5列ですか?
- 509 名前:デフォルトの名無しさん [2009/06/01(月) 07:30:16 ]
- >>506
すみません ネットに繋げてないのでメモ帳での方法を教えて下さい
- 510 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 10:56:47 ]
- >509
別にメモ帳だろうが何だろうが、Cのプログラムには関係ないよ。 もちろん効率とかは違うだろうけど。
- 511 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 11:32:44 ]
- >>509
エスパーすると、コンパイラの使い方がわからないんだろう そもそも509はC言語のコンパイラを持っているのか? 例えばVC,BCC,GCCなど。
- 512 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 12:13:08 ]
- 持ってないだろうねえ。でも、
最初の一歩も自分で踏み出せない奴を どうにか歩かせたところで無駄じゃね?
- 513 名前:デフォルトの名無しさん [2009/06/01(月) 13:27:29 ]
- 最小2乗法によるm次の多項式近似を行うプログラムを教えてください
教えて xがー2の時yが3.02 −1の時0.98 0の時1.22 1の時2.16 2の時2.61 の時のです 出来ればソース全文書いてください
- 514 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 14:16:58 ]
- >出来ればソース全文書いてください
>出来ればソース全文書いてください >出来ればソース全文書いてください
- 515 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 14:20:25 ]
- >>513
マルチすんなカス
- 516 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 16:18:56 ]
- 符号なしenumがほしいんですが、なにか代替案はありますかね?今は
typedef const unsigned long uenum_t; uenum_t foo = 0, bar = 1, hoge = 2 ・・・; みたいに地道に書いて我慢してるんですが 省略記法が使えなくてめんどいし、メモリももったいない気がします
- 517 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 17:25:11 ]
- 半角テキストファイルを読み込んで使用する場合
空白文字も含めて一つの変数orクラスに格納したいんですが どうすればいいでしょうか? というかなぜ空白で一々区切られるのでしょうか? EOFでいいじゃないですか?
- 518 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 17:27:29 ]
- getlineでいいんじゃない?
- 519 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 17:49:17 ]
- getlineって一行だけじゃなかったっけ?
- 520 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 20:39:48 ]
- whileのループをEOFで抜けだし、出力するようにしたのですが、
出力後、プロンプトが出てきません。ctrl+Zで中止しないといけない状態です。 なぜ出てこないのでしょうか? よろしくお願いします。
- 521 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 20:44:30 ]
- ループにでも入ってるんじゃない?
- 522 名前:デフォルトの名無しさん [2009/06/01(月) 22:51:06 ]
- for(a=0;a<3;a++){
for(b=0;b<20;b++){ if(hensu<0){ 処理1; } else{ 処理2; } } } このようなfor文で、処理1もしくは処理2を実行したら 二つのfor文を一度に抜けたいのですが、どうすれば可能でしょうか? 処理のあとにbreakひとつじゃ後のfor文しかぬけないため、また処理1か2を実行してしまうので 困ってます。 goto文?というのはなるべく使いたくないのでそれ以外で何か簡潔にできますでしょうか?
- 523 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:55:08 ]
- 俺は普通に終了フラグを作る
- 524 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:56:20 ]
- 典型的な「gotoを使うと綺麗に書ける例」だな。
どうしても使いたくないなら ・ループ終了を示すフラグ用の変数を用意しておき、そのフラグの値をチェックして外側のforループから抜ける ・全体を関数にしてしまい、returnで抜ける とかどうか。
- 525 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:58:27 ]
- int end = 0;
for(a=0;a<3 && !end;a++){ for(b=0;b<20 && !end;b++){ if(hensu<0){ 処理1; end = 1; } else{ 処理2; end = 1; } } } もしくは関数化して、returnで抜けるとか。
- 526 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:00:31 ]
- 男3人が結婚かよ
- 527 名前:デフォルトの名無しさん [2009/06/01(月) 23:09:54 ]
- C言語の本を買ってきて、printfなるものをWindowsのメモ帳に入力したけど、どうしたら実行出来るの?
- 528 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:12:53 ]
- C言語の本に書いてあるんじゃね?
- 529 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:13:08 ]
- そのC言語の本に実行までのやり方が書いてないなら、
それが書いてある入門本を買いに本屋に走るんだ。
- 530 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:13:10 ]
- そのC言語の本を1ページ目から読み返せ。
それで分からなければタイトル晒して燃やせ。
- 531 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:13:58 ]
- また多重婚だねっ♪
- 532 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:19:00 ]
- 2重のループを無理やり1重のループに変換する
- 533 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:20:52 ]
- aに3を入れる
|

|