Advertisement
Spocoman

10. Diamond

Sep 14th, 2023
886
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.39 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. string repeat(string s, int n) {
  6.     string result;
  7.  
  8.     for (int i = 0; i < n; i++)
  9.         result += s;
  10.  
  11.     return result;
  12. }
  13.  
  14. int main() {
  15.     int n;
  16.     cin >> n;
  17.  
  18.     string inDashes, outDashes, border;
  19.  
  20.     for (int i = 0; i < n / 2 + (n % 2); i++) {
  21.         outDashes = repeat("-", (n - 1) / 2 - i);
  22.         border = "*";
  23.  
  24.         if (i == 0) {
  25.             if (n % 2 == 0) {
  26.                 border = "**";
  27.             }
  28.             cout << outDashes + border + outDashes << endl;
  29.         }
  30.         else {
  31.             string inDashes = repeat("-", i * 2);
  32.             if (n % 2 == 1) {
  33.                 inDashes = repeat("-", i * 2 - 1);
  34.             }
  35.             cout << outDashes + border + inDashes + border + outDashes << endl;
  36.         }
  37.     }
  38.  
  39.     for (int i = n / 2 - (1 + (n - 1) % 2); i >= 0; i--) {
  40.         outDashes = repeat("-", (n - 1) / 2 - i);
  41.         border = "*";
  42.  
  43.         if (i == 0) {
  44.             if (n % 2 == 0) {
  45.                 border = "**";
  46.             }
  47.             cout << outDashes + border + outDashes << endl;
  48.         }
  49.         else {
  50.             inDashes = repeat("-", i * 2);
  51.             if (n % 2 == 1) {
  52.                 inDashes = repeat("-", i * 2 - 1);
  53.             }
  54.             cout << outDashes + border + inDashes + border + outDashes << endl;
  55.         }
  56.     }
  57.  
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement