2016-06-17 7 views
-5

私はちょうどC++を勉強し始めました。私は1000の名前で配列を作成する必要があります。私の考えは、最初に10の名前で配列を作成し、1000を生成するために名前を並べ替えることでした。しかし、最初の配列を作成する方法はわかりません(文字列の配列だとは思いますが、私の構文が正しいかどうかを知る)、より大きな配列を形成するために名前をさらに並べ替える方法はわかりません。誰か助けてくれますか?すべての組み合わせを印刷するには?

+0

[mcve]というコードを投稿してください。 –

答えて

1

小さい固定サイズの配列の場合は、<array>ヘッダーのstd::arrayを優先して使用します。文字列の場合は、<string>ヘッダーのstd::string(または多分std::wstring)を使用します。値の固定リストについては、中括弧イニシャライザを使用します。

このように、10の名前の配列の場合、

#include <array> 

const std::array< std::string, 10 > basic_names = 
{ 
    "alfa", 
    "beta", 
    // and so on 
}; 

千名の配列が大きく得るために開始し、その後に優先<vector>ヘッダから、std::vectorを使用します。それはサイズ変更ができるのでいいです。 push_backメソッドを使用して新しいアイテムを追加することができます。

auto computed_names() 
    -> std::vector<std::string> 
{ 
    std::vector<std::string> result; 
    for(auto& name1 : basic_names) 
     for(auto& name2 : basic_names) 
      for(auto& name3 : basic_names) 
      { 
       result.push_back(name1 + " " + name2 + " " + name3); 
      } 
    return result; 
} 

const std::vector<std::string> names = computed_names(); 

免責事項:コンパイラが目立たないコード。

関連する問題