Попытка напечатать дерево в C ++ (не используя x) - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь распечатать дерево, используя C ++. Я могу напечатать дерево, используя только «/», но мне нужно использовать «/» и «\» на каждой стороне дерева, с пустым пространством между ними, если это имеет смысл. Мне нужно сделать "конусную часть дерева" только с 3 "для" петель.

У меня все хорошо с базой и багажником, но мне нужна помощь с конусом.

Я знаю, что мне нужно учесть пустые места на каждой стороне конуса и внутри каждой стороны конусов, но все, что я пытаюсь, все портит, и, будучи таким же новым, как и я, мне трудно держать его на 3 "для" петель. Кроме того, мой учитель смотрит вниз на использование Интернета в качестве учебного ресурса, поэтому все, что находится за пределами цикла «for» для этой программы с бросающими красными флагами. Любая помощь приветствуется.

    #include <iostream> 
    using namespace std;

    int main()
    {
    cout << "Please enter a height for the cone of the tree. [3 - 15]: ";
    int height;
    cin >> height;

if(height < 3 || height > 15)
{
    cout << "ERROR: Value entered is out of bounds." << endl;
    system("pause");
    exit(0);
}

int level = 0;
int space = 0;
int slashes = 0;
int base = 0;
int wood = 0;
int trunk = 0;

for (int level = 0; level < height; level++) //First "Cone" For Loop
{   
    for (int space = height - level - 1; space > 0; space--)  //Second "cone" for loop
        cout << ' ';
    for (int slashes = 0; slashes < 2 * level + 1; slashes++)  //Third "cone" for loop
        cout << '/';
        cout << endl;
}
for (int base = 0; base < 2 * height; base++)
    cout << '-';
    cout << endl;
for (int trunk = 0; trunk < (height / 2); trunk++)
{
    for( int wood = 0; wood < height - 1; wood++)
        cout << ' ';
        cout << '|' << '|';
        cout << endl;
}




system ("pause");
return 0;
 }

 Actual:                    

     /                                     
    ///
   /////
  ///////
 /////////
///////////
------------
     ||
     ||
     ||
 Expected:
     /\
    /  \
   /    \
  /      \
 /        \
/          \
------------
     ||
     ||
     ||

1 Ответ

0 голосов
/ 22 января 2019

Для всех, кто гуглит это, вот как я это сделал.Это некрасиво и, вероятно, неправильно, но это работает.

#include <iostream> 
using namespace std;

int main()
{
    cout << "Please enter a height for the cone of the tree. [3 - 15]: ";
    int height;
    cin >> height;

if(height < 3 || height > 15)
{
    cout << "ERROR: Value entered is out of bounds." << endl;
    system("pause");
    exit(0);
}

int level = 0;
int space = 0;
int base = 0;
int trunk = 0;

for (int level = 0; level < height; level++)
{   
    for (int space = height - level - 1; space > 0; space--)
        cout << ' ';
        cout << '/';
    for (int space = 0; space < (2 * level); space++)
        cout << ' ';
        cout << '\\';
        cout << endl;
}
for (int base = 0; base < 2 * height; base++)
    cout << '-';
    cout << endl;
for (int trunk = 0; trunk < (height / 2); trunk++)
{
    for( int trunk = 0; trunk < height - 1; trunk++)
        cout << ' ';
        cout << '|' << '|';
        cout << endl;
}

//system ("pause");
return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...