Member 12661070 Ответов: 2

Программа C++ для box in box


Идея состоит в том, чтобы взять число в качестве входных данных и напечатать шаблон коробок
Если вход равен 2, то должны быть напечатаны две коробки - одна внутри другой
Самая маленькая коробка будет размером 3*3, следующая большая коробка будет 5*5, следующая будет 7*7, так далее и так далее
Для ввода 1 Нарисуйте прямоугольник размером 3*3
Для входа 2 внешняя коробка будет 5*5, внутренняя-3*3
Для входа 3 внешняя коробка будет 7*7, с еще 2 внутренними коробками
Таким образом, для n самая внешняя коробка будет иметь размер n*2 +1 С (n-1) внутренними коробками
Все поля будут выровнены по верхнему левому краю, как показано на рисунке

входной формат:

Первая строка ввода содержит число N

выходной формат:

Печать N вложенных ящиков

Ограничения:

0 < N & lt; 25

Что я уже пробовал:

#include<iostream.h>
#include<conio.h>
void main()
{
 for(j=0;j<n;j++)>
  cout<<"*";
  cout<<"\n";
for(i=0;i<n-2;i++)>
{
 cout<<"*";
 for(j=0;j<n-2;j++)>
cout<<" ";
cout<<"*\n";
}
for(j=0;j<n;j++)>
cout<<"*";
cout<<"\n";
getch();
}

Suvendu Shekhar Giri

Вы не поделились тем, что до сих пор пробовали для печати коробок. Где вы хотите показать эти коробки? Вы можете использовать звезды или точки для печати квадрата. Не уверен, что вы можете использовать графику.h, как мы используем в программировании на языке Си, но если это разрешено, то вы можете попробовать использовать и это. Пожалуйста, попробуйте и дайте нам знать в случае каких-либо проблем.

2 Ответов

Рейтинг:
2

OriginalGriff

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!

Но ... несколько идей для начала.
Нарисуйте несколько коробок вручную, чтобы увидеть, как они выглядят:

***
* *
***

*****
*****
** **
*****
*****

*******
*******
*******
*** ***
*******
*******
*******
И совершенно очевидно, что происходит: все строки сплошные, за исключением центральной, которая содержит один пробел посередине.
Отсюда все довольно просто: одна внешняя петля для рисования каждой линии и две внутренние петли для рисования левой и правой половин линии, но решение напечатать звезду или пробел в середине линии.
Попробуйте: это не так сложно, как вы думаете!


Рейтинг:
1

Patrice T

Ваш код не компилируется, потому что вы не объявили переменные.
И установка значения n может также помочь.

Когда он будет компилироваться, вы увидите, что вывод неверен.

- Возьмите лист бумаги и нарисуйте выход, который вы хотите для n= 2, 3, 4 и 5

+---+
|+-+|
|| ||
|+-+|
+---+

и выведите, что вам нужно запрограммировать, чтобы воспроизвести тот же рисунок.