Построение ромба по его ширине и длине

225
13 января 2018, 01:56

Я написал основную часть кода по построению ромба. На ввод - символ, который будет являться границей, и ширина (еще одновременно и длина). Но я не могу написать условие, по которому выводится ромб. Вот код:

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    int num, N;
    char material;
    setlocale (LC_ALL, "Russian");
    cout << "Введите 1 для печати ромба '*' \nВведите 2 для печати ромба '+' \nВведите 3 для печати ромба '#' \nПожалуйста, введите число 1 - 3: ";
    cin >> N;
    cout << "\nВводить нужно только положительные нечетные числа,\nиначе ромб не построится.\n\nВведите высоту ромба (она же является шириной): ";
    cin >> num;
    if (N == 1)
    {
        material = '*';
    }
    else if (N == 2)
    {
        material = '+';
    }
    else
    {
        material = '#';
    }
    for (int i = 0; i < num; i ++)
    {
        for (int j = 0; j < num; j ++)
        {
            /*Не знаю, как здесь написать условие? Т.е. если нужно,
            вывожу material, если нет, то пробел?*/
        }
        printf("\n");
    }
}
Answer 1

Согласно Вашему коду, вот необходимое условие. Впишите его на месте комментария!

if (i + num / 2 == j || i - num / 2 == j || i == num / 2 - j || i == num / 2 + num - j - 1)
{
    cout << material;
}
else
{
    cout << " ";
}

Результат:

READ ALSO
Межпроцессное взаимодействие (Shared Memory)

Межпроцессное взаимодействие (Shared Memory)

Kак я могу создать общий class для двух процессов в Shared Memory? Например я хочу чтобы этот class был обшим для двух процессовСпасибо

204
Работа с файлами.Создание новых файлов.Иерархия классов

Работа с файлами.Создание новых файлов.Иерархия классов

Был класс Student и Класс Group который содержал вектор обьектов Student

232
Нажатие мыши WinAPI, во время перемещение курсора

Нажатие мыши WinAPI, во время перемещение курсора

Каким образом определить какая из переданных клавиш была нажата используя WPARAM

208
Обратиться к макроопределениям GET_X_LPARAM и GET_Y_LPARAM

Обратиться к макроопределениям GET_X_LPARAM и GET_Y_LPARAM

В виду необходимости, нет смысла передавать в метод оба параметра, а так же выделять динамическую память под POINTS во время обработки сообщения...

213