【问题标题】:C++ Delimiter in int array整数数组中的 C++ 分隔符
【发布时间】:2015-03-25 21:49:19
【问题描述】:

我有一个关于选择合适的分隔符来拆分 int 数组的问题。 说,给定

int[] a={2,3,4,5,6}

我想手动在数组中添加一些特定的分隔符,以便我可以将 int 数组分成不同的组,例如,

int[] b={2,?,4,5,?,6} => {2},{4,5},{6}

如上所述,我可以为分隔符选择什么?我想也许我可以使用一些宏,例如MAXMIN。但是,如果存在等于边界值的实数呢?

我已经被这个问题困扰了很长一段时间。任何建议将不胜感激!提前致谢!

【问题讨论】:

  • 我希望有任何解决方案将数组保留为 int 类型而不转换为字符串...
  • 请澄清——你的问题与cc++有关?
  • hmm...,您可以创建第二个组长度为 {1,2,1,0} 的数组并使用这些来代替分隔符,而不是使用分隔符?
  • 您已将 a 声明为 int 数组,因此它只能包含 int。如果您希望将某个特定的 int 声明为您的分隔符 - 并强制执行它只能作为分隔符出现的事实,当然欢迎您这样做。但是,您可能正在尝试解决错误的问题。

标签: c++ arrays int


【解决方案1】:

这在 C++ 中是不可能的。这种逻辑没有语法,也不符合 C++ 的(通常)强类型特性。

作为替代方案,您可以声明多个数组

int[] a= {2},
      b= {4,5},
      c= {6};

声明一个数组数组

int[][] a={{2},{4,5},{6}};

或者创建一个函数,根据您的业务逻辑将数组转换为组。

int a={2,4,5,6};
int [][] groups = myMagicFunc(a);

或者只是使用不同的数据结构。

【讨论】:

  • 也许是 C++ 的规则?它为你编译了吗?
  • @juanchopanza 我还没有编译它,但现在我看看它,你是对的。懒得放数组大小:)
  • 如果你这样做vector<vector<int>> a={{2},{4,5},{6}};,它会工作,然后你也可以将OP引入c++ stl!
  • 嗨 Ben,OP 是什么意思?
  • 你不应该真的建议甚至不是 C++ 的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多