Я пытаюсь напечатать рисунок как этотпечать * узор в C++
*******
* *
* *
* *
* *
* *
*******
В этом он должен выглядеть как пустое поле. но почему-то я не получаю еще ближе
я закодированы это до сих пор
#include <iostream>
using namespace std;
int main(int argc, char ** argv) {
for(int i=1;i<=7;i++)
{
for(int j=1;j<=7;j++)
{
if(j==1||j==7)
printf("*");
else printf(" ");
}
printf("\n");
}
return 0;
}
и мой выход
* *
* *
* *
* *
* *
* *
* *
будет хорошо иметь цикл только
Ты почти там, я думаю! Только нужно, чтобы верхняя и нижняя строки отображали звезды везде, а не только в начале в конце. – flup
Я бы заменил 'i' на 'y' и 'j' на 'x', чтобы сделать код более читаемым. «i» и «j» можно легко смутить с первого взгляда, а «x» и «y» более типичны для координат столбца/столбца. – Pete
Поскольку вы, похоже, новичок в программировании, я хочу дать еще один намек: * Не * писать константы буквально в том месте, где они используются (здесь '7'). Вместо этого введите ** named константы ** ('static const int size = 7') и используйте это в циклах. Зачем?Это просто: если вы хотите ** изменить ** размер (скажем, до 10), вам не нужно смотреть на код, где он используется, и заменить 7 на 10 и забыть одно вхождение (или заменить другое 7, которое не размер). Кроме того, код более читается ** **: ваш 7 имеет значение, которое вы не пишете * в словах *. Если вы пишете 'size', это имеет смысл. – leemes