Варианты практических заданий №5 Задание 1


Download 433.62 Kb.
Sana19.06.2023
Hajmi433.62 Kb.
#1600074
Bog'liq
5 Ташкентский университет информационных технологий


Ташкентский университет информационных технологий
имени Аль-Хоразмий.



Выполнил: Исматов А. Ф.
Cтудент гр. SWD202
Проверил: Абдурахмонов А. А.

Варианты практических заданий №5
Задание 1. Создать класс с полями, указанными в индипидуальном задании (таблица 1 столб 2). Реализовать в классе методы:

Вариант-12




КОД:


#include
#include
#define PI 3.14159265
using namespace std;
class vec
{
public:
float x1;
float y1;
float x2;
float y2;
vec() {}
vec(float _x1, float _y1, float _x2, float _y2) { x1= _x1; y1= _y1; x2 = _x2; y2 = _y2;}
~vec() { cout << "destructed\n"; }
void mid() { float sx = (x1 + x2) * 2; float sy = (y1 + y2) * 2; cout << "mid: (" << sx << " " << sx << ") \n";}
float len() { float d = sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)* (y1 - y2)); return d; }
float cosx() { float a = ((x2 - x1) / len()); cout << "cx " << a << "\n"; return a; }
float cosy() { float a = ((y2 - y1) / len()); cout << "cy " << a << "\n"; return a; }
void print() { cout << "(" << x1 << " " << y1 << ") " << "(" << x2 << " " << y2 << ")\n "; }
};
#define EPSILON 0.01
bool CompareDoubles2(double A, double B)
{
float diff = A - B;
return (diff < EPSILON) && (-diff < EPSILON);
}
int main()
{
vec a(1,1,2,2);
a.print();
a.mid();
cout << "d " << a.len() << "\n";
if ( CompareDoubles2(a.cosx(), (cos(90 * PI / 180))) ) { cout << "90\n"; };
if (CompareDoubles2(a.cosy(), (cos(90 * PI / 180)))) { cout << "90\n"; }
return 0;
}

Download 433.62 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling