上班路上想起一个未动手写出来的小程序。想清楚了,然后动手写了一个:
打印:
.......................................
000010000
000101000
001020100
010303010
104060401
......................................
code:
#include <iostream>
#include <iterator>
#include <algorithm>
void foo(const int* src, int* dest, int n)
{
dest[0] = src[1];
for (int i = 1; i < n - 1; ++i)
dest[i] = src[i - 1] + src[i + 1];
dest[n - 1] = src[n - 2];
}
int main()
{
const int SIZ = 17;
int vec[2][SIZ] = {{},{}};
vec[0][SIZ / 2] = 1;
std::copy(vec[0], vec[0] + SIZ, std::ostream_iterator<int>(std::cout));
std::cout << std::endl;
for (int i = 0; i < SIZ / 2; ++i) {
foo(vec[0], vec[1], SIZ);
std::copy(vec[1], vec[1] + SIZ, std::ostream_iterator<int>(std::cout));
std::cout << std::endl;
std::copy(vec[1], vec[1] + SIZ, vec[0]);
}
return 0;
}