C++程序打印三角形图案
在这里,我们将看到如何使用C++程序打印三角形图案。这里讨论了4种图案:
- 直角三角形。
- 倒置的直角三角形。
- 等边三角形。
- 倒置的等边三角形。
- 倒置的镜像直角三角形。
让我们从详细讨论每个三角形图案开始吧。
直角三角形
以下是直角三角形的示例:
**输入:** 4
**输出:**
*
**
***
****
**输入:** 5
**输出:**
*
**
***
****
*****
在上面的图案中,可以观察到
**i th 行有i元素 **
以下是打印直角三角形的C++程序:
// C++ program to print
// right triangle
#include <iostream>
using namespace std;
// Driver code
int main()
{
int n = 5;
// ith row has i elements
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= i; j++)
cout << "* ";
cout << endl;
}
return 0;
}
输出
*
* *
* * *
* * * *
* * * * *
时间复杂度: O(n^2)
辅助空间: O(1)
倒置的直角三角形
以下是倒置右侧三角形的示例:
输入: 5
输出:
* * * * *
* * * *
* * *
* *
*
输入: 6
输出:
* * * * * *
* * * * *
* * * *
* * *
* *
*
在此示例中,可以观察到,如果三角形中总共有n行,则:
**i th 行有n-i+1个元素 **
以下是打印倒置右侧三角形的C++程序:
// C++ program to print inverted
// right triangle
#include <iostream>
using namespace std;
// Driver code
int main()
{
int n = 5;
// ith row has n-i+1 elements
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n - i + 1; j++)
cout << "* ";
cout << endl;
}
return 0;
}
输出
* * * * *
* * * *
* * *
* *
*
时间复杂度: O(n^2)
辅助空间: O(1)
等边三角形
以下是等边三角形的示例:
输入: 5
输出:
*
**
***
****
*****
输入: 6
输出:
*
**
***
****
*****
******
在这个例子中,可以观察到,如果图案中有n行,则:
**i th 行有i个元素,有(n – i)个前导空格。 **
以下是打印等边三角形的C++程序:
// C++ program to print
// equilateral triangle
#include <iostream>
using namespace std;
// Driver code
int main()
{
int n = 5;
// ith row has n-i leading spaces
// and i elements
for(int i = 1; i <= n; i++)
{
// n-i leading spaces
for(int j = 0; j < n - i; j++)
cout<<" ";
// i elements
for(int j = 1; j <= i; j++)
cout<<"* ";
cout<<endl;
}
return 0;
}
输出
*
* *
* * *
* * * *
* * * * *
时间复杂度: O(n^2)
辅助空间: O(1)
// C++程序:打印等边三角形
# include <iostream>
using namespace std;
// 主函数
int main()
{
int n = 5;
// ith行前有n-i个空格,后有i个元素
for(int i = 1; i <= n; i++)
{
// 前面的n-i个空格
for(int j = 0; j < n - i; j++)
cout<<" ";
// i个元素
for(int j = 1; j <= i; j++)
cout<<"* ";
cout<<endl;
}
return 0;
}
输出
*
* *
* * *
* * * *
* * * * *
时间复杂度: O(n^2)
辅助空间: O(1)
倒立的等边三角形
下面是倒立的等边三角形的例子:
输入: 5
输出:
* * * * *
* * * *
* * *
* *
*
输入: 6
输出:
* * * * * *
* * * * *
* * * *
* * *
* *
*
如果模式中有n行,则可以观察到:
第i行有n-i+1个元素和i-1个前导空格
下面是C ++程序,用于打印倒立的等边三角形:
// C++ program to print a
// inverted mirrored right triangle
#include <iostream>
using namespace std;
// Driver code
int main()
{
int n = 5;
// ith row has n-i+1 elements
for (int i = 1; i <= n; i++)
{
// leading spaces
for (int j = 1; j < i; j++)
cout << " ";
for (int j = 1; j <= n - i + 1; j++)
cout << "* ";
cout << endl;
}
return 0;
}
输出
* * * * *
* * * *
* * *
* *
*
时间复杂度: O(n^2)
辅助空间: O(1)
倒立的镜像直角三角形
下面是倒立的镜像直角三角形的例子:
输入: 5
输出:
* * * * *
* * * *
* * *
* *
*
输入: 6
输出:
* * * * * *
* * * * *
* * * *
* * *
* *
*
如果模式中有n行,则可以观察到:
第i行有n-i+1个元素和2x(i-1)个前导空格
下面是C ++程序,用于打印倒立的镜像直角三角形:
// C++程序:打印倒立的镜像直角三角形
# include <iostream>
using namespace std;
// 主函数
int main()
{
int n = 5;
// 第i行有n-i+1个元素
for (int i = 1; i <= n; i++)
{
// 前导空格
for (int j = 1; j < i; j++)
cout << " ";
for (int j = 1; j <= n - i + 1; j++)
cout << "* ";
cout << endl;
}
return 0;
}
输出
* * * * *
* * * *
* * *
* *
*
时间复杂度: O(n^2)
辅助空间: O(1)