Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 2D 모양을 인쇄하는 프로그램

<시간/>

이 자습서에서는 2D 모양을 인쇄하는 프로그램에 대해 설명합니다.

이를 위해 반경, 측면 길이 및 측면 너비 등과 같은 모양을 만드는 데 필요한 다양한 매개변수가 제공됩니다. 그리고 우리의 임무는 두께 없이 그에 따라 모양을 인쇄하는 것입니다.

예시

#include <bits/stdc++.h>
using namespace std;
void print_circle(int radius){
   for (int i = 0; i <= 2 * radius; i++){
      for (int j = 0; j <= 2 * radius; j++){
         double distance = sqrt((double)(i - radius) * (i -
         radius) + (j - radius) * (j - radius));
         if (distance > radius - 0.5 &&
            distance < radius + 0.5)
            printf("*");
         else
         printf(" ");
      }
      printf("\n");
   }
}
void print_rectangle(int l, int b){
   int i, j;
   for (i = 1; i <= l; i++){
      for (j = 1; j <= b; j++)
         if (i == 1 || i == l || j == 1 || j == b)
            printf("*");
         else
            printf(" ");
         printf("\n");
   }
}
void print_triangle(int side){
   int i, j;
   for (i = 1; i <= side; i++){
      for (j = i; j < side; j++)
         printf(" ");
      for (j = 1; j <= (2 * i - 1); j++){
         if (i == side || j == 1 || j == (2 * i - 1))
            printf("*");
         else
            printf(" ");
      }
      printf("\n");
   }
}
void print_hexagon(int length){
   int l, j, i, k;
   for (i = 1, k = length, l = 2 * length - 1; i < length;
   i++, k--, l++){
      for (j = 0; j < 3 * length; j++)
         if (j >= k && j <= l)
            printf("*");
         else
            printf(" ");
            printf("\n");
      }
      for (i = 0, k = 1, l = 3 * length - 2; i < length; i++,
      k++, l--){
         for (j = 0; j < 3 * length; j++)
         if (j >= k && j <= l)
            printf("*");
         else
         printf(" ");
         printf("\n");
      }
   }
   void calc_pattern(int choice){
      int radius, length, breadth, side;
      switch (choice){
         case 1:
            radius = 4;
            print_circle(radius);
            break;
         case 2:
            length = 3, breadth = 8;
            print_rectangle(length, breadth);
            break;
         case 3:
            side = 6;
            print_triangle(side);
            break;
         case 4:
            side = 4;
            print_hexagon(side);
            break;
         default:
            printf("Invalid choice\n");
   }
}
int main(){
   int choice = 1;
   calc_pattern(choice);
   return 0;
}

출력

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