c - 在C中重复数组“i”中的每个元素
问题描述
这必须在 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];
}
}
}
谢谢
顺序确实很重要。谢谢。
解决方案
这段代码应该可以解决问题:
int a[] = {1,2,3};
int i = 3;
int len = (sizeof a)/(sizeof a[0]);
int b[i*len];
for(int k=0; k<len; k++)
for(int j=0; j<i; j++)
b[k*i + j] = a[k];
推荐阅读
- angularjs - 如何从Angular NGX Dropzone中的图像中提取base64
- javascript - 弃用警告:提供的值不在公认的 RFC2822 或 ISO 中
- code-coverage - 使用 lcov 合并两个或多个运行的分支覆盖
- julia - 如何在 Julia 1.6 中重新加载正在开发的模块?
- grafana - 如何在grafana指标中连接两个字符串
- r - 二十一点(使用 R)中的自然 21 的概率正在放弃“10 钻石”、“10 红心”、“10 黑桃”等的所有组合。为什么?
- sql - 存储过程生成 msg 512 子查询返回超过 1 个值
- docker - 为什么 pure-ftpd docker 存储库没有最近的标记版本
- root-framework - 如何从根文件中提取直方图并打印它们但将它们写入宏中以运行
- python - 如何确定角度数据的相关值?