将一个变量与另一个变量关联?

时间:2012-02-04 05:08:10

标签: c++ visual-studio visual-studio-2010 visual-c++

我觉得有一个非常简单的答案,但我无法理解。基本上我想要做的是有一个数组,例如:

char * color[] =
{
"Red",
"Green"
};

属性为另一个,例如:

char * flavor[] =
{
"Strawberry",
"Apple"
};

我已经以随机顺序将“color”输出到文本文件,如下所示:

Green
Green
Red
Green
Red

但是我希望程序能够区分这些输出并使它自己的输出是平行的,但带有“味道”:

Apple
Apple
Strawberry
Apple
Strawberry

显然输出“风味”也是随机的,所以我怎么告诉程序第一个数组吐出的顺序并告诉它对另一个执行相同的操作?这让我发疯了!

3 个答案:

答案 0 :(得分:2)

使用std::map,这是一种关联数组。

#include <string>
#include <map>
#include <iostream>

int main (int ac, char **av)
{
  // Set up our map
  std::map<std::string, std::string> color2flavor;
  color2flavor["Red"] = "Strawberry";
  color2flavor["Green"] = "Apple";

  // Read the input, write the mapped output
  std::string quark;
  while(std::cin >> quark)
    std::cout << color2flavor[quark] << "\n";
}

答案 1 :(得分:1)

我不知道c ++语言,但假设你可以使用关联数组(如果有的话)。它们有一个键和一个值,您可以根据需要输出键和值。

答案 2 :(得分:0)

您可以定义整数数组:

int Random[5];

然后在此数组的每个部分中放置一个随机数0或1:

for (int i=0;i<5;i++) Random[i]=rand()%2;

然后你可以将color [i]和flavor [i]写入输出