Нарисовать ромбик

barlog

Надо нарисовать ромбик типа - * * * * * * * * * * * * Сказали что это можно сделать с помощью gotoxy.Но у меня с этой операцией не сложилось.А как это вообще сделать я не пойму.Помогите пожалуйста!
                *
                  *         *
              *                 *
                  *         *
                        *
Ну вы поняли...вершина сместилась.
4 ответа

barlog

Очень странные "ромбики" из звездочек. По какому принципу они строятся?


barlog

тут один ромбик.принцип-ставим первую звездочку-эта вершина.на следующей строке(где у--) левее от вершины и правее ставим еще по *.как на рисунке.
                    *
                   *        *
                 *            *
                    *       *
                         *
                   *
               *      *
              *         *
                *     *
                    *
ну что-то вроде этого должна вывести программа


barlog

#include <iostream>
#include <string>
#include <iomanip>
 
using namespace std;
 
int main()
{
    int side = 9;
    string spaces;
    for (int i=0; i<side*2; i++)
        spaces += " ";
    cout << spaces.substr(0, side-1) << "*" << endl;
    for (int i=0; i<side-1; i++)
        cout << spaces.substr(0, side-2-i) << "*" << spaces.substr(0, i*2+1) << "*" << endl;
    for (int i=side-2; i>0; i--)
        cout << spaces.substr(0, side-1-i) << "*" << spaces.substr(0, i*2-1) << "*" << endl;
    cout << spaces.substr(0, side-1) << "*" << endl;
    system("pause");
}


barlog

for (int i=0; i не совсем понимаю почему side*2?не могли бы вы обьяснить вообще алгоритм вашей программы?пожалуйста
spaces.substr
хмм...я не знаю такой функции....((