如何将数组缩放到不同大小的新数组

时间:2014-07-08 15:55:30

标签: c++ algorithm

我有一个整数数组,它的长度是固定的,数组包含0或1.我需要将此数组缩放到具有不同大小的新数组,并且它的大小可以小于或大于输入。

例如,

input = 1,0,1,0,1 //input size 5
output = 1,1,0,0,1,1,0,0,1,1 //out put size 10

问题来了,假设输入是以随机顺序重复1和0,我需要扩展到不同大小的新数组,它是如何可能的?。

input 1,0,1,1,1,0,1,0,0,0......// n size random repeat of 0 and 1 
output ?,?,?.....................// of m 

实际上我必须在图中绘制输入数组,输入数组将是固定长度,我需要将此数组缩放到另一个不同大小的数组,因为我必须绘制不同的屏幕大小。

1 个答案:

答案 0 :(得分:3)

以下可能有所帮助:(https://ideone.com/xS1f0C

template <std::size_t N, std::size_t M>
void normalizebyIndex(const int (&src)[N], int (&dest)[M])
{
    for (std::size_t i = 0; i != M; ++i) {
        dest[i] = src[i * N / M];
    }
}