Другие языки программирования и технологии

вопрос по программированию с++

есть код который выводит прямоугольник с звездочек, нужно сделать чтоб он был внутри пустой, кто знает как решить это, помогите пожалуйста, заранее спасибо, смотрите фото
снизу и сверху сплошняком звездочки, а между ними cout<<*<<satw(какое-то расстояние) <<*;
Владимир Решетников
Владимир Решетников
4 404
Лучший ответ
Начнём с того, что в твоей исходной программе ширина в высота перепутаны местами. Потому рисуется прямоугольник, повёрнутый на 90 градусов. А дальше надо всего лишь проверять внутри цикла - лежит точка на границе, или внутри прямоугольника.

cin >> width >> height;
for (int y = 0; y < height; ++y) {
for (int x = 0; x < width; ++x) {
cout << y % (height -1) && x % (width - 1) ? ' ' : '*';
}
cout << endl;
}
Серк Мыскенов
Серк Мыскенов
50 514
Программу сюда перепечатывай, а не пииводи скрин, иначе вместо корректировки ее надо писать с нуля.
Сергей Эрлих
Сергей Эрлих
70 955
вместо cout << "*"
cout << j % (height-1) ? ' ' : '*';
OB
Oleg Bobrovnickiy
84 349
#include < iostream >
#include < windows.h >
#include < iomanip >

using namespace std;

void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
system("color 0A");

cout << "Введите размеры прямоугольника ";
int n, m;
for (;;)
{
cin >> n >> m;
if (cin.rdbuf()->in_avail() != 1 || n < 3 || m < 3)
{
cin.clear();
cin.ignore(cin.rdbuf()->in_avail(), '\n');
cout << "Ошибка при вводе. Повторите ";
}
else
break;
}

char c = '*';
for (unsigned u = 0; u < m; ++u)
{
cout << c;
}
cout << endl;
for (unsigned u = 0; u < n - 2; ++u)
{
cout << c << setw(m - 1) << c << endl;
}
for (unsigned u = 0; u < m; ++u)
{
cout << c;
}
cout << endl;

cin.get(); cin.get();
}
Сергей Давыденко Ограничивать нужно не тремя, а двумя. Прямоугольник получиться, но только без пустот...
ну, я незнаю, заменить звёздочку на пробел, а в экстренных случаях делать это не с первого (нулевого символа) и не по последний
Виктор Скляров Заменить звёздочку на пробел можно, используя задачу положения курсора консоли в нужные координаты.