Új hozzászólás Aktív témák
-
sko
csendes tag
KREE, a C++-ban (OOP-ban) való programozás egyik alaptulajdonsága, hogy nem jó a később majd megszépítjük módszer, már az alapokat is jól kell lerakni. A te feladatod központi problémája két pont távolságának kiszámítása. Először ezt kell C++-ban leprogramozni. Íme itt egy lehetséges implementáció. Remélem minden tiszta benne, ha nem kérdezz nyugodtan! Ha tiszta, akkor innen kell továbblépni a pontok konténerekbe tárolásával és távolságuk kiszámításával.
#include <iostream>
#include <cmath>
using namespace std;
class Point
//If you need to calculate the distances of points, always start with creating a point object type.
{
int x = 0;
int y = 0;
public:
Point(): x(0), y(0) {}
Point(int X, int Y): x(X), y(Y) {}
float operator - (const Point&);
//Overloaded minus operator to calculate the distance of two points.
//This will enormously simplify your work later.
};
float Point::operator - (const Point& other)
{
int X = x - other.x;
int Y = y - other.y;
//No abs() necessary, because we will square the coordinates anyway.
float distance = sqrt(X*X + Y*Y);
//Could be double, long double, whatever you like.
return distance;
//There is no real need for this variable, you could return the result of sqrt() directly. Whatever you like.
}
int main()
{
Point middlepoint(8,-6);
Point endpoint(-5,10);
float dist = middlepoint - endpoint;
//Calculate the distance of these points. It's just that simple.
cout << dist << endl;
return 0;
} -
pvt.peter: teljesen igazad van - szemantikailag
Mondjuk körök középpontját biztos nem önálló r1, r2, r3, ... , rvalami, rvalamipluszegy változókba raknám.
Inkább egyvector<pair<int,int>>
. Azon szépen végig lehet iterálni.Amúgy az
|x-rx| < d & |y-ry| < d
nem adja vissza, hogy az(x,y) pont
tényleg ad sudarú (rx, ry) központú körön
belül van-e. Ezzel azt ellenőrzöd, hogy a(px,py) központú 2d oldalhosszú négyzetben
van-e...Kicsit személetesen:
A piros pont a körben nincs benne, de a feltétel igaz. -
if (10>(x1-r1||x1-r3||x1-r5)>-10 && 10>(y1-r2||y1-r4||y1-r6)>-10)
Ez biztos nem C++ szintaktika.
Mit értesz az alatt, hogy x és r különbsége? A kódodban van x1 meg y1 meg r1, r2, r3, r4, r5, és r6...Talán így:
if ((min(min(abs(x1-r1), abs(x1-r3)), abs(x1-r5)) < 10) && (min(min(abs(y1-r2), abs(y1-r4)), abs(y1-r6)) < 10))
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Xiaomi 15T - reakció nélkül nincs egyensúly
- OTP Bank topic
- Háztartási gépek
- Milyen okostelefont vegyek?
- Formula-1
- Xbox tulajok OFF topicja
- Milyen légkondit a lakásba?
- Yettel topik
- A legolcsóbb és a legdrágább új iPhone fogy a legjobban
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Lenovo ThinkPad P14s Ryzen 5 PRO5650u 32GB RAM 512GB SSD 4GB dedikált VGA Érintőkijelző
- Apple iPhone 15 Pro, 128Gb, független, fekete, 1 év garancia
- AMD Ryzen 5 5600X 6-Core 3.7GHz AM4
- Bomba ár! HP ProBook 430 G3 - i3-6GEN I 4GB I 128SSD I HDMI I 13,3" HD I Cam I W10 I Garancia!
- Bomba ár! HP ProBook 430 G5 - i3-7GEN I 4GB I 128GB SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- AKCIÓ! Apple Mac Studio M2 ULTRA 2023 64GB 1TB SSD számítógép garanciával, hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- Samsung Galaxy A56 Awesome Graphite 120 Hz Super AMOLED, AI-kamera 8/128 GB 2027. 08. 17-ig
- Új Fóliás Lenovo T14S Thinkpad FHD IPS i5-1135G7 16GB 512GB SSD Intel Iris XE Win11 Pro Garancia
- BESZÁMÍTÁS! ASUS ROG Z690 i9 14900K 32GB DDR4 1TB SSD RTX 3090 OC 24GB be quiet Pure Base 500 850W
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest