Rysowanie przekątnej w kwadracie c++

0

Witam, stworzyłem sobie kwadrat z gwiazdek i chciałbym dodać jedną przekątną, ale nie mam pojęcia jak.. Mógłby ktoś pomóc ?

#include <iostream>
using namespace std;
int main()
{
    int a;
    cout << "wprowadz dlugosc boku kwadratu: ";
    cin >> a;
    for( int i = 1; i <= a; ++i )
    {
        cout << "*";
    }
    cout << endl;

   for( int i = 0; i < a - 2; i++ )
{
    cout << "*";
    for( int j = 1; j <= a - 2; ++j )
    {
        cout << " ";
    }
    cout << "*" << endl;
}

    for( int k = 1; k <= a; ++k )
    {
        cout << "*";
    }
   return 0;
}
2

Kod można trochę skrócić

  for (int i = 0; i < a; ++i) 
  {
      cout << endl;
      for (int j = 0; j < a; ++j) cout << (i==j||i==0||j==0||i==a-1||j==a-1?"*":" ");      
  }

lub nawet użyć tylko jednej pętli

for (int i = 0; i < a; ++i) cout << (i==0||i==a-1?string(a,'*'):"*"+string(i-1,' ')+"*"+string(a-i-2,' ')+"*") << endl;
0
#include <iostream>
using namespace std;

int main()
{
	int a;
	cout<<"wprowadz dlugosc boku kwadratu: ";
	cin>>a;
	for(int y=1;y<=a;++y,cout<<endl) for(int x=1;x<=a;++x) cout<<" *"[(x==1)||(x==a)||(y==1)||(y==a)||(x==y)];
	return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1