Използване на метод в клас c++;
Ако има някой който разбира с++ да помага как да извикам тоя метод FaceRet в main например
ArrRetangle a;
a.FaceRet() ------тука в скобите какво да пиша че да тръгне.
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
class ArrRectangle
{
private:
double x, y;
int *arr;
int size;
public:
ArrRectangle();
ArrRectangle(double a, double b,double c,double d);
void set();
void Out();
double FaceRet(ArrRectangle a, ArrRectangle b, ArrRectangle c, ArrRectangle d)
{
double AC, CB;
c.x = b.x;
c.y = a.y;
d.x = a.x;
d.y = b.y;
double s;
AC = sqrt((a.x - d.x)*(a.x - d.x) + (a.y - d.y)*(a.y - d.y));
CB = sqrt((c.x - b.x)*(c.x - b.x) + (c.y - b.y)*(c.y - b.y));
s = AC*CB;
cout << s << endl;
return s;
}
};
ArrRectangle::ArrRectangle(double a, double b, double c, double d)
{
}
void ArrRectangle::set()
{
cout << "Stoinost za x" << endl;
cin >> x;
cout << "Stoinost za y" << endl;
cin >> y;
}
void ArrRectangle::Out()
{
cout << x << endl;
cout << y << endl;
}
ArrRectangle::ArrRectangle()
{
}
int main()
{
double a, b, c, d;
cin >> a >> b >> c >> d;
ArrRectangle t;
t.set();
t.FaceRet();;
return 0;
}
Да се декларира клас описващ точка в равнината с х,у координати и методи за въвеждане и извеждане на координатите.Да се декларира клас описващ правоъгълник по кординатните точки на диагонала.Класът да съдаржа методи за въвеждане и извеждане стойностите на кординатните двойки на двете точки и конструктор,който да изнициализира член данните на класа.Класът да съдаржа метод за намиране на лицето на правоъгълника.Да се създаде програма,която дефинира динамичен масив от n правоъгълника,въвежда стойност за кординатите и сортира правоъгълниците по тяхна големина по метода на пряка селекция.Сортирането на масива да се изварши чрез метод на класа.
Помагайте хора спешно ми е :).
нещо във функцията за пряка селекция бъркам май .
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
class Point {
private:
double x, y;
public:
void Set();
void Out();
double GetX();
double GetY();
Point();
};
Point::Point()
{
x = y = 0;
}
double Point::GetX()
{
return x;
}
double Point::GetY()
{
return y;
}
void Point::Set()
{
cout << "Stoinost za x" << endl;
cin >> x;
cout << "Stoinost za y" << endl;
cin >> y;
}
void Point::Out()
{
cout << x << endl;
cout << y << endl;
}
class ArrRectangle
{
private:
Point firstP, secondP;
double side1, side2;
int *arr;
int size;
int s;
public:
ArrRectangle();
~ArrRectangle();
double FaceRet();
void InPut();
void OutPut();
/*void massive();*/
void sortMassive();
};
ArrRectangle::ArrRectangle()
{
cout << "Enter size of array: ";
cin >> size;
arr = new int[size];
}
ArrRectangle::~ArrRectangle()
{
delete[] arr;
}
void ArrRectangle::InPut()
{
cout << "enter the first point cordinate" << endl;
firstP.Set();
cout << "enter the second point cordinate" << endl;
secondP.Set();
}
void ArrRectangle::OutPut()
{
firstP.Out();
secondP.Out();
}
double ArrRectangle::FaceRet()
{
side1= sqrt((firstP.GetX()- secondP.GetX())*(firstP.GetX() - secondP.GetX()) + (firstP.GetY() - firstP.GetY())*(firstP.GetY() - firstP.GetY()));
side2 = sqrt((secondP.GetX() - secondP.GetX())*(secondP.GetX() - secondP.GetX()) + (firstP.GetY() - secondP.GetY())*(firstP.GetY() - secondP.GetY()));
s = side1*side2;
cout << s << endl;
return s;
}
//void ArrRectangle::massive()
// {
//
// for (int i = 0; i < size; i++)
// {
// arr[i] = arr[s];
// cout << "liceto na masiva e" << endl;
// cout << arr[i] << endl;
// }
// }
void ArrRectangle::sortMassive()
{
for (int i = 0; i < size; i++)
{
arr[i] = arr[s];
cout << "liceto na masiva e" << endl;
cout << arr[i] << endl;
}
for (int i = 0; i<size; ++i)
{
int min = i;
for (int j = i; j<size; ++j)
if (arr[min]>arr[j])
min = j;
swap(arr[min], arr[i]);
}
for (int i = 0; i < size; i++)
{
cout << " " << arr[i] << "\t";
}
}
int main()
{
double *Arr;
int Size;
cin >> Size;
Arr = new double[Size];
ArrRectangle a;
for (size_t i = 0; i < Size; i++)
{
a.InPut();
a.FaceRet();
}
a.sortMassive();
}
От това което виждам, не въвеждаш стойностите в динамичния масив(така както ти се изисква в заданието). Мога да ти препоръчам http://www.learncpp.com .
Какви стойности трябва да въведа?
Здравей,
Какво точно целиш с конструктора на ArrRectangle ?
До момента си направил масив от интове, а по условие имаш да направиш динамичен масив от правоъгълници.
Ами да инициализира масива,незнам човек нов сам в тоя с++ малко помощ ми трябва как да бъде.
Имаш ли напредък ?
Не неми остава време пак и сам до тука без помощ не мога да измисля как да е