Problem C: 字符构成的图形


Description


定义CharGraph类,用于输出一个由指定字符组成的图形。该类包括:

1. 一个int类型数据成员,表示该图形的层数。

2. 一个char类型的数据成员,表示组成该图的字符。

3. void print()方法,用于根据指定格式输出字符图形。

Input

第1行N>0,表示有N个测试用例。

每个测试用例的输入由一个非负整数和一个字符组成。


Output

每个测试用例产生一组输出。

当指定的层数为0时,输出一个空行。

当指定的层数为正数时,输出每层字符个数自上到下依次递增且靠左对齐的直角三角形。

当指定的层数为负数时,输出每层字符个数自上而下依次递减其靠左对齐的直角三角形。

具体格式见样例。


#include <iostream>

using namespace std;

class CharGraph {
private:
int n;
char c;
public :
CharGraph(int nn, char cc) : n(nn), c(cc) {}
void print() {
if (n == 0) cout << endl;
else if (n > 0) {
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
cout << c;
}
cout << endl;
}
}
else {
n = -n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i; j++) {
cout << c;
}
cout << endl;
}
}
}
};

int main()
{
int cases, n;
char c;
cin>>cases;
for (int i = 0; i < cases; i++)
{
cin>>n>>c;
CharGraph cGraph(n, c);
cGraph.print();
}
return 0;
}