C++程序打印三角形图案

C++程序打印三角形图案

在这里,我们将看到如何使用C++程序打印三角形图案。这里讨论了4种图案:

  1. 直角三角形。
  2. 倒置的直角三角形。
  3. 等边三角形。
  4. 倒置的等边三角形。
  5. 倒置的镜像直角三角形。

让我们从详细讨论每个三角形图案开始吧。

直角三角形

以下是直角三角形的示例:

**输入:** 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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例