# PBinfo #3829 – Octogon – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Să se afișeze un octogon de latură n umplut cu caractere * iar spațiul spațiul exterior umplut cu #, ca în exemplu.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Programul va afișa octogonul cerut.

Restricții și precizări

2 ≤ n ≤ 40

Exemplu:
Intrare

5
Ieșire

####*****####
###*******###
##*********##
#***********#
*************
*************
*************
*************
*************
#***********#
##*********##
###*******###
####*****####

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int n;
int main() {
    cin >> n;
    for (int j = 0; j < n - 1; ++j) {
        for (int i = j + 1; i < n; ++i)
            cout << '#';
        for (int i = 0; i < j * 2 + n; ++i)
            cout << '*';
        for (int i = j + 1; i < n; ++i)
            cout << '#';
        cout << "\n";
    } for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n * 3 - 2; ++j)
            cout << '*';
        cout << "\n";
    } for (int j = 0; j < n - 1; ++j) {
        for (int i = n - j - 1; i < n; ++i)
            cout << '#';
        for (int i = 0; i < (n - j - 1) * 2 + n - 2; ++i)
            cout << '*';
        for (int i = n - j - 1; i < n; ++i)
            cout << '#';
        cout << "\n";
    } return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3829)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3829/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3829/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
