floor101のプロフィール
- ベストアンサー数
- 2
- ベストアンサー率
- 28%
- お礼率
- 0%
- 登録日2005/10/25
- 配列における数値の比較について
#include <stdio.h> int main(void) { int i[10],j,k,match; printf("10個の数字を入力してください:\n"); for(j=0;j<10;j++) scanf("%d",&i[j]); // 一致する数字があるかどうか調べる // for(j=0;j<10;j++){ match=i[j]; for(k=j+1;k<10;k++) if(match==i[k]) printf("%dが重複しています\n",match); } return 0; } このコードなのですが、一致する数字があるかどうか調べているところの、 for(k=j+1;k<10;k++) このコードの内容が理解できません。 特にkの初期値が k=j+1 になっているのはなぜなのでしょうか? 配列i[j]には1から9までの数値が格納されているので、それと一致する数値を見つけ出すには for(k=0;k<10;k++) と同じことをすればよいのではないでしょうか? アルゴリズムがどうしても分かりません。 どなたか教えてくださる方がいたらよろしくお願いします。
- c++のtemplateでエラーが出ます
エラーメッセージ too few template-parameter-lists →私的には、templateへのパラメータが少なすぎる と理解しているのですが。。。 コード的にには、以下の通りです。 hoge.hh template<class T> myclass2 { public myclass1* piyo; : : } hoge.ccにて myclass1* myclass2<myclass3>:piyo; →ここで上記のエラー 別のヘッダにて class myclass3 : public myclass1<myclass3> { : : } という感じでコーディングしてます。 gcc3.2.2でのコンパイルでは、問題なくコンパイルでき 実行もできます。 ですが、gcc3.4.2を使用するとコンパイルエラーが出てしまいます。 このエラーの回避方法をご存知の方いらっしゃいましたら 御教授願えませんでしょうか よろしくお願い致します。
- 標準C++ iostream での printf ライクな文字列書式整形
ちらっと聞きかじったことがあるのですが、 最近、標準C++のiostreamに、従来のprintfによく似た 書式指定文字列 と 可変数の引数 による文字列整形 ができる機能(?)/マニピュレータ(?)が追加された、とか。 具体的な情報をご存知の方、教えていただけませんか。 iostreamで書式整形する場合、setfill, setw, ... のマニピュレータを 駆使してやりくりするのは、とても面倒だし、覚えられません。 自分にはprintfの方が使いやすいです。 ・・・このような理由で、上記の、iostream での printfライクな 文字列書式整形方法を探しています。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- typingduck
- 回答数3
- n個の要素で出来る順列組み合わせを全て出力するアルゴリズム
次のようなプログラムをC++で書こうと思っているのですが、 どうも方法が思い浮かびません。 よいやり方、定番のやり方などがありましたら教えてください。 --------------------------------- n個の要素があるとき、 そのn個で出来る順列組み合わせ(計(n!)通り)を全て出力する。 例えばa[4] = {'A', 'B', 'C', 'D'}なら 順列組み合わせは A B C D A B D C A C B D A C D B A D B C A D C B B A C D B A D C B C A D B C D A B D A C B D C A ・ ・ ・ D C A B D C B A の、計24通り
- ベストアンサー
- C・C++・C#
- tententen_april
- 回答数2