Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program C++ untuk mencetak corak bintang segi tiga tepat berongga

Program C++ untuk mencetak corak bintang segi tiga tepat berongga

PHPz
PHPzke hadapan
2023-08-30 11:01:041239semak imbas

Program C++ untuk mencetak corak bintang segi tiga tepat berongga

Sangat berguna untuk memaparkan corak bintang dalam format yang berbeza seperti piramid, segi empat sama dan berlian Biasa digunakan dalam pengaturcaraan asas dan pembinaan logik. Berapa banyak bintang yang telah kita lihat Isu corak nombor apabila mempelajari pernyataan gelung dalam pengaturcaraan. Dalam artikel ini, Kita akan melihat bagaimana untuk mencetak corak bintang segi tiga tepat berongga dalam C++.

Dalam program ini kami mengambil nombor baris n yang akan mencipta corak bintang untuk n nombor wayar. Mari kita lihat contoh yang sama.

Corak bintang berongga kanan

            *
          * *
        *   *
      *     *
    *       *
  *         *
* * * * * * *

Dalam contoh ini, terdapat n baris. Setiap baris mempunyai beberapa bintang, dan pada permulaannya ada ialah ruang. Terdapat hanya dua bintang dalam baris kecuali baris pertama dan terakhir, dan Terdapat ruang di antaranya. Baris pertama mengandungi hanya satu bintang dan baris terakhir Mengandungi n bintang.

Setiap baris mempunyai n – i ruang, dan kemudian bintang dicetak. Untuk segi tiga sejajar kanan yang lengkap, kami mencetak bintang secara berterusan. Tetapi di sini kami mencetak Untuk kedudukan pertama dan terakhir, ruang dicetak untuk menjadikannya berongga sebaliknya. dalam perlawanan akhir OK, ia akan mencetak semua bintang untuk membuat sempadan.

Algoritma

  • Baca n sebagai input
  • Untuk saya dari 1 hingga n, lakukan
    • Untuk j antara 1 hingga n - i, lakukan perkara berikut
      • Masukkan ruang
    • Tamat
    • Untuk k dari 1 hingga i, lakukan
      • Jika saya berbeza daripada n, maka
        • Jika k = 1 atau k = i, maka
          • Paparkan “*”
        • Jika tidak
          • menunjukkan kosong
        • Jika ia berakhir
      • Jika tidak
        • Paparkan “*”
      • Jika ia berakhir
    • Tamat
    • Alihkan kursor ke baris seterusnya
  • Tamat

Disebabkan beberapa pengehadan pengkompil dalam talian, kami menambah titik dan bukannya ruang pada kod. mulakan. Jika tidak, ia kadangkala akan memotong baris dan output akan menjadi tidak betul.

Contoh

#include <iostream>
using namespace std;
void solve( int n ){
   for ( int i = 1; i <= n; i++ ) {
      for ( int j = 1; j <= n - i; j++ ) {
         cout << ".";
      }
      for ( int k = 1; k <= i; k++ ) {
         if ( i != n ) {
            if ( k == 1 || k == i ) {
               cout << "*";
            } else {
               cout << " ";
            }
         } else {
            cout << "*";
         }
      }
      cout << "\n";
   }
}
int main(){
   int n = 7;
   cout << "Hollow Star Pattern for " << n << " lines." << endl;
   solve( n );
}

Output

Hollow Star Pattern for 7 lines.
......*
.....**
....* *
...*  *
..*   *
.*    *
*******

Output (n=18)

Hollow Star Pattern for 18 lines.
.................*
................**
...............* *
..............*  *
.............*   *
............*    *
...........*     *
..........*      *
.........*       *
........*        *
.......*         *
......*          *
.....*           *
....*            *
...*             *
..*              *
.*               *
******************

Kesimpulan

Corak bintang mudah dilaksanakan dan membantu untuk mengkaji konsep gelung dalam pengaturcaraan. Dalam beberapa artikel kami telah melihat teknik untuk mencetak corak bintang seperti piramid, kotak dll. berlian. Dalam artikel ini, kami melihat cara memaparkan piramid berongga dalam C++. ia memerlukan Nombor baris n, kemudian memaparkan corak bintang segi tiga berongga dijajar kanan. Setiap baris mempunyai Selepas beberapa ruang terdapat beberapa bintang. Ruang digunakan untuk penjajaran (kerana had Untuk pengkompil dalam talian, kami menggunakan titik dan bukannya ruang untuk penjajaran). Untuk baris terakhir, ia Mencetak semua bintang tetapi untuk baris lain ia mencetak bintang hanya pada kedudukan baris pertama dan terakhir tiang. Ini mewujudkan segi tiga berongga.

Atas ialah kandungan terperinci Program C++ untuk mencetak corak bintang segi tiga tepat berongga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam