Обьявить класс прямоугольник - C#
Формулировка задачи:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace лаба_1 { class Program { static void Main() { Figures fg = new Figures(); fg.Set(); fg.Move(); fg.Check(); fg.Scale(); fg.CompareTo(); Console.ReadKey(); } } class Figures { public int X; public int Y; public int W; public int H; public Figures() { } public Figures(int X,int Y,int W,int H) { } /// <summary> /// Задание координат прямоугольника /// </summary> public void Set() { string x, y, w, h; Console.WriteLine("Введите значение координаты X"); x = Console.ReadLine(); X = Convert.ToInt32(x); Console.WriteLine("Введите значение координаты Y"); y = Console.ReadLine(); Y = Convert.ToInt32(y); Console.WriteLine("Введите значение ширины"); w = Console.ReadLine(); W = Convert.ToInt32(w); Console.WriteLine("Введите значение высоты"); h = Console.ReadLine(); H = Convert.ToInt32(h); } /// <summary> /// Передвигаем по плоскости без вращения /// </summary> public void Move() { int X_Move; int Y_Move; string m, n; Console.WriteLine("Введите перемещение вдоль X"); m = Console.ReadLine(); X_Move = Convert.ToInt32(m); Console.WriteLine("Введите перемещение вдоль Y"); n = Console.ReadLine(); Y_Move = Convert.ToInt32(n); X = X + X_Move; Y = Y + Y_Move; Console.WriteLine("Новые координаты Х " + X); Console.WriteLine("Новые координаты Y " + Y); } /// <summary> /// Проверка на попадание точки в данный прямоугольник /// </summary> public void Check() { int X_point, Y_point; string j, f; Console.WriteLine("Введите значение Х точки"); j = Console.ReadLine(); X_point = Convert.ToInt32(j); Console.WriteLine("Введите значение Y точки"); f = Console.ReadLine(); Y_point = Convert.ToInt32(f); if (X <= X_point && X_point <= X + W && Y <= Y_point && Y_point <= Y + H) Console.WriteLine("Точка попадает в прямоугольник"); else Console.WriteLine("Точка не попадает"); } /// <summary> /// Масштабирование треугольника /// </summary> public void Scale() { int W_Scale; int H_Scale; string m, n; Console.WriteLine("Ширина прямоугольника"); m = Console.ReadLine(); W_Scale = Convert.ToInt32(m); Console.WriteLine("Длина прямоугольника"); n = Console.ReadLine(); H_Scale = Convert.ToInt32(n); if (W_Scale <= Y + H && H_Scale >= X) { W = W + W_Scale; H = H + H_Scale; Console.WriteLine("прямоугольник маштабируется"); } else Console.WriteLine("Нельзя масштабировать"); } /// <summary> /// Проверка на пересечение с другим /// </summary> /// Второй прямоугольник /// X_2 Y_2 -координаты верхнего левого угла /// W_2 H_2 -ширина и высота public void CompareTo() { int X_2, Y_2, W_2, H_2; string x_2, y_2, w_2, h_2; Console.WriteLine(""); Console.WriteLine("Задание второго прямоугольника!"); Console.WriteLine(""); Console.WriteLine("Введите значение координаты X"); x_2 = Console.ReadLine(); X_2 = Convert.ToInt32(x_2); Console.WriteLine("Введите значение координаты Y"); y_2 = Console.ReadLine(); Y_2 = Convert.ToInt32(y_2); Console.WriteLine("Введите значение ширины"); w_2 = Console.ReadLine(); W_2 = Convert.ToInt32(w_2); Console.WriteLine("Введите значение высоты"); h_2 = Console.ReadLine(); H_2 = Convert.ToInt32(h_2); // if (X <= X_2 && X_2 <= X + W && Y >= Y_2 && Y_2 <= Y + H && X + W >= X_2 + W_2 && Y + H >= Y_2 + H_2) if (X <= X_2 && X + W <= X_2 + W_2 || X >= X_2 && X + W >= X_2 + W_2) { Console.WriteLine("Прямоугольники пересекаются"); } else Console.WriteLine("Прямоугольники не пересекаются"); } } }
помогите кто-то срочно завтра просто сдавать
Решение задачи: «Обьявить класс прямоугольник»
textual
Листинг программы
#include <stdio.h> #include "stdafx.h" #include <iostream> using namespace std; #include <stdlib.h> #include <string.h> #include <conio.h> #include <math.h> class XY //класс {public: int x1; int x2; int y1; int y2; int z1; int z2; int x3; int x4; int y3; int y4; int q; int w; int r1; int r2; int t1; int t2; int x11; int x22; int y11; int y22; int m; void set1_XY() // с помощью этого метода изменим начальные значения заданные конструктором { cout << "Введите координату Х первой точки: "; cin >> x1; cout << "Введите координату Y первой точки: "; cin >> x2; cout << "Введите координату Х второй точки: "; cin >> y1; cout << "Введите координату Y второй точки: "; cin >> y2; } void set2_XY() // с помощью этого метода изменим начальные значения заданные конструктором { cout << "Введите координату X проверяемой точки: "; cin >> z1; cout << "Введите координату Y проверяемой точки: "; cin >> z2; } void proverkaZ() { x3=min(x1,x2); x4=max(x1,x2); y3=min(y1,y2); y4=max(y1,y2); if((z1>=x3)&(z1<=x4)&(z2>=y3)&(z2<=y4)) cout << "Точка принадлежит прямоугольнику " << endl; else cout << "Точка не принадлежит прямоугольнику " << endl; } void PeresechenieXY() { m=0; cout << "Введите координату Х второй фигуры: "; cin >> x11; cout << "Введите координату Y второй фигуры: "; cin >> y11; cout << "Введите координату Х второй фигуры: "; cin >> x22; cout << "Введите координату Y второй фигуры: "; cin >> y22; if(((x3>=x11)&(x3<=x22))||((x4>=x11)&(x4<=x22))||((x3>=x11)&(x3<=x22))||((x22<=x4)&(x22>=x3))) m++; cout << m << endl; if(((y3>=y11)&(y3<=y22))||((y4>=y11)&(y4<=y22))||((y3>=y11)&(y3<=y22))||((y22<=y4)&(y22>=y3))) m++; cout << m << endl; if (m==2) cout << "Два прямоугольника пересекаются " << endl; else cout << "Два прямоугольника не пересекаются " << endl; } void MashtabXY() { cout << "Введите значение, на которое будет изменена фигура по оси Х: "; cin >> w; cout << "Введите значение, на которое будет изменена фигура по оси У: "; cin >> q; y1=y1+w; y2=y2+q; cout << "Новые координаты фигуры. Верхняя точка: (" << x1 << ";" << x2 << ")" << endl; cout << "Нижняя точка: (" << y1 << ";" << y2 << ")" << endl; } void SdvigXY() { cout << "Введите значение, на которое будет сдвинута фигура по оси Х (влево - со знаком минус, вправо - со знаком плюс): "; cin >> w; cout << "Введите значение, на которое будет изменена фигура по оси У (вверх - со знаком плюс, вниз - со знаком минус): "; cin >> q; x1=x1+w; y1=y1+w; x2=x2+q; y2=y2+q; cout << "Новые координаты фигуры. Верхняя точка: (" << x1 << ";" << x2 << ")" << endl; cout << "Нижняя точка: (" << y1 << ";" << y2 << ")" << endl; } }; int main() { setlocale(LC_ALL, "rus"); XY obj1; //конструктор сработает на данном этапе (во время создания объекта класса) obj1.set1_XY(); //присвоим новые значения переменным obj1.set2_XY(); //присвоим новые значения переменным obj1.proverkaZ(); //и выведем их на экран obj1.PeresechenieXY(); obj1.MashtabXY(); obj1.SdvigXY(); return 0; }