Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Darkran
0 / 0 / 1
Регистрация: 15.11.2015
Сообщений: 7
#1

Как построить квадрат в с++ - C++

15.11.2015, 19:57. Просмотров 1257. Ответов 6
Метки нет (Все метки)

Здравствуйте!

Помогите с заданием
Необходимо построить квадрат по координатам точек, и найти его площадь.

Заранее спасибо
http://www.cyberforum.ru/cpp-beginners/thread1698288.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2015, 19:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как построить квадрат в с++ (C++):

Ввести символ и построить из него квадрат.
Всем доброго времени суток! Пытаюсь написать прогу, которая выводит квадрат со...

Построить латинский квадрат используя циклический сдвиг
Написать программу для решения следующей задачи. построить латинский...

Построить класс для описания плоской геометрической фигуры квадрат
Помогите написать программу в Борланд С++, вот условие: 1.Сложить целые и...

Построить квадрат, который вращается вокруг своего центра на угол a
помогите понять условие задачи а то я не до конца ее понимаю вот задание:...

Построить классы для описания плоских фигур:круг,квадрат,прямоугольник
Построить классы для описания плоских фигур:круг,квадрат,прямоугольник.Включить...

6
Mesteriis
379 / 162 / 51
Регистрация: 08.08.2015
Сообщений: 1,148
Завершенные тесты: 1
15.11.2015, 21:05 #2
Darkran, Больше инфы больше, какие входные данные и прочие, а то я сейчас так построю
0
Darkran
0 / 0 / 1
Регистрация: 15.11.2015
Сообщений: 7
16.11.2015, 16:04  [ТС] #3
Извиняюсь за неточности, полностью задание выглядит так:

Разработать класс «Калькулятор», выполняющий указанные операции для заданных исходных данных.
Вид данных: Квадраты
Операции: ввод данных (координаты точек), проверка правильности ввода, нахождение площади.
0
Lensato
49 / 49 / 31
Регистрация: 07.10.2015
Сообщений: 170
16.11.2015, 16:15 #4
Как будут вводится координаты, координаты чего будут вводиться?
Примеры входных данных:
(1,1) (1,100) (100,100) (100,1) - координаты четырех углов
(1,1) (100,100) - координаты верхнего левого и нижнего правого углов (а в таком случае что мешает ввести 1,1 10,50 и получить прямоугольник, может не обязательно квадрат?)
(1,1) 99 - верхний левый угол и сторона квадрата (и это уже точно не будет прямоугольником)

Построить квадрат где, в консоли?
0
Darkran
0 / 0 / 1
Регистрация: 15.11.2015
Сообщений: 7
16.11.2015, 19:38  [ТС] #5
Вводится должны координаты четырех углов, квадрат обязательно, построить в консоли.
0
Lensato
49 / 49 / 31
Регистрация: 07.10.2015
Сообщений: 170
17.11.2015, 10:21 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
 
struct Coords
{
    int x;
    int y;
 
    Coords()
    {
        x = -1;
        y = -1;
    }
 
    Coords(int x, int y)
    {
        this->x = x;
        this->y = y;
    }
 
    void ReadCoords()
    {
        cin >> x;
        cin >> y;
    }
};
 
class Square
{
private:
    Coords top_left;
    Coords top_right;
    Coords bottom_right;
    Coords bottom_left;
    int side = 0;
    bool coords_is_correct = false;
 
    bool ReadCoords_TopLeft_Corner()
    {
        cout << "Enter coordinates of top left corner: ";
        top_left.ReadCoords();
 
        if (top_left.x < 0 || top_left.y < 0)
        {
            cout << "Coords of top left corner is not correct." << endl;
            return false;
        }
 
        return true;
    }
 
    bool ReadCoords_TopRight_Corner()
    {
        cout << "Enter coordinates of top right corner: ";
        top_right.ReadCoords();
 
        if (top_left.x >= top_right.x || top_left.y != top_right.y)
        {
            cout << "Coords of top right corner is not correct." << endl;
            return false;
        }
 
        side = top_right.x - top_left.x + 1;
        return true;
    }
 
    bool ReadCoords_BottomRight_Corner()
    {
        cout << "Enter coordinates of bottom right corner: ";
        bottom_right.ReadCoords();
 
        if (bottom_right.x - top_left.x + 1 != side ||
            bottom_right.y - top_right.y + 1 != side)
        {
            cout << "Coords of bottm right corner is not correct." << endl;
            return false;
        }
 
        return true;
    }
 
    bool ReadCoords_BottomLeft_Corner()
    {
        cout << "Enter coordinates of bottom left corner: ";
        bottom_left.ReadCoords();
 
        if (top_right.x - bottom_left.x + 1 != side ||
            bottom_left.y - top_left.y + 1 != side)
        {
            cout << "Coords of bottm left corner is not correct." << endl;
            return false;
        }
 
        return true;
    }
 
public:
    void RequestCoords()
    {
        coords_is_correct = false;
 
        cout << "Enter square coordinates." << endl
            << "It's assumed that origin of the coordinate system is in the upper left" << endl
            << "corner of the screen and Y-axis is directed downward." << endl
            << "Coordinates are enterd in format x y (e.g. 10 3)" << endl << endl;
 
        if (!ReadCoords_TopLeft_Corner())
            return;
        if (!ReadCoords_TopRight_Corner())
            return;
        if (!ReadCoords_BottomRight_Corner())
            return;
        if (!ReadCoords_BottomLeft_Corner())
            return;
 
        coords_is_correct = true;
    }
 
    void DrawSquare()
    {
        if (!coords_is_correct)
        {
            cout << "Coords of square is not correct." << endl;
            return;
        }
 
        char ch = '*';
        cout << endl;
 
        for (int i = 0; i < side; i++)
            cout << ch;
 
        cout << endl;
 
        for (int i = 0; i < side - 2; i++)
        {
            cout << ch;
            for (int k = 0; k < side - 2; k++)
                cout << ' ';
 
            cout << ch;
            cout << endl;
        }
 
        for (int i = 0; i < side; i++)
            cout << ch;
 
        cout << endl;
    }
};
 
int main()
{
    Square square;
    square.RequestCoords();
    square.DrawSquare();
    system("pause");
 
    return 0;
}
0
Darkran
0 / 0 / 1
Регистрация: 15.11.2015
Сообщений: 7
18.11.2015, 20:26  [ТС] #7
Lensato, спасибо
0
18.11.2015, 20:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2015, 20:26
Привет! Вот еще темы с решениями:

Построить блок-схему. Даны числа:а,в и с.Если их полусумма больше нуля,то наименьшее из чисел возвести в квадрат
Даны числа:а,в и с.Если их полусумма больше нуля,то наименьшее из чисел...

Класс «Квадрат»: можно ли вписать в объект-квадрат со стороной A окружность радиуса R
Люди помогите, сижу уже неделю, выходит какая-то фигня. Хочу научиться, но...

Если квадрат числа меньше 100, напечатать число и его квадрат
Ввести с клавиатуры 10 чисел. Если квадрат числа меньше 100, напечатать число и...

Нарисовать квадрат с одинокой звёздочкой в центре. Весь квадрат орисовывается плюсиками
Нарисовать квадрат с одинокой звёздочкой в центре. Весь квадрат орисовывается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru