代码错误修改

时间:2018-04-16 19:51:54

标签: c++

我有一个任务,我应该制作绘制垂直三角波的代码但是这里有一个问题是drawOnePeriod函数调用函数drawwave用常数5调用它,这个数字确定波的幅度< strong>但是,如果我想改变这个数字来修改振幅,那就搞乱了模式所以我想知道我是否可以在任何地方得到一些帮助,因为我无法想到一个关系。

# include <iostream>
using namespace std;
void drawOnePeriod(int periodLength)
{

int z = 10;
for (int i = 1; i < periodLength; i++)
{

    for (int j = 0; j <= z; j++)
    {
        cout << "  ";
    }
    z++;
    cout << "*" << endl;

}
for (int i = 1; i <= 3 + periodLength; i++)
{
    for (int j = 0; j <= z; j++)
    {
        cout << "  ";
    }
    z--;
    cout << "*" << endl;
}
for (int i = 1; i < periodLength; i++)
{
    for (int j = 0; j <= z; j++)
    {
        cout << "  ";
    }
    z++;
    cout << "*" << endl;


}
}
void drawWave(int nPeriods)
{
for (int i = 1; i <= nPeriods; i++)
{
    drawOnePeriod(5);
}
}
int main()
{
int n;
cin >> n;
drawWave(n);
}

1 个答案:

答案 0 :(得分:0)

如果您包含您期望的输出,那将非常有用 以下是我对&#34;垂直三角波&#34;

的解释
#include <stdio.h>

int main(void) {
    int amplitude = 8;
    int cycles    = 3;
    int delta     = +1;

    int i=1;
    while (cycles --> 0)
    {
        for(; i>=1 && (i<=amplitude) ; i += delta)
        {
            printf("%*s\n", i, "*");
        }
        i += 2*(delta = -delta);
    }
    return 0;
}

IDEOne Link

<强>输出

Success #stdin #stdout 0s 4448KB
*
 *
  *
   *
    *
     *
      *
       *
      *
     *
    *
   *
  *
 *
*
 *
  *
   *
    *
     *
      *
       *