【发布时间】:2019-03-06 01:35:47
【问题描述】:
这必须在 C 中完成。 我正在寻找一种方法来获取包含以下元素的数组:
a = {1,2,3}
给定一个变量,比如i,如果i = 3,每个元素复制到一个新的数组i次如下:
b = {1,1,1,2,2,2,3,3,3,}
这是我目前所拥有的:
for(i = 0; i < size_S-inter_seq; i++) //size of new array - times copied
{
for(j = 0; j < size_X; j++) //size of old array
{
for(k = 0; k < inter_seq; k++) //times to be copied
{
b[i+k] = a[j];
}
}
}
谢谢
顺序很重要。 谢谢。
【问题讨论】:
-
到目前为止你有什么尝试?
-
我尝试了一系列嵌套循环,但似乎都没有工作。抱歉,这似乎是一个简单的问题,我是一名仍在努力学习 C 的学生。
-
请阅读:stackoverflow.com/help/asking 至少,您应该提供minimal reproducible example 并说明您得到什么输出以及您期望什么。
-
向我们展示您迄今为止的最佳尝试,以及您从中获得的输出,以及它的问题所在,我们可以帮助您解决它 - 这是一个 MCVE (minimal reproducible example)。不要向我们展示代码,我们所能做的就是投反对票。我们不为您编写代码;我们将帮助解决解决问题的诚实尝试。
-
一个问题是确保您知道数组
a有多大;另一个问题是确保b足够大以容纳i的a副本。有很多方法可以解决问题;我们需要看看您尝试了什么,以校准哪些响应可能对您有所帮助。目前,说“malloc()和free()”可能会吓跑你——但对于那些知道自己做什么的人来说,它们是一个有效的选择。如果您在 Windows 上使用 MCVS,则与在 Linux 或 Mac 上使用 GCC 或 Clang 时有不同的选择。
标签: c arrays loops duplicates copy