- Egy hét múlva érkezik a Honor Magic V5
- Google Pixel topik
- Samsung Galaxy A53 5G - kevesebbet többért
- Yettel topik
- Milyen okostelefont vegyek?
- iPhone topik
- Na! Ez egy JÓ utólagos autós fejegység - Minix CP89-HD
- Xiaomi Watch S1 - szép az idő
- Motorola Edge 40 - jó bőr
- Ugyanakkora telepet kap a Redmi csúcstelefon, mint a csúcstábla
Ú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;
} -
sztanozs
veterán
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. -
sztanozs
veterán
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
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Beszámítás! Apple Mac mini 2020 M1 8GB 256GB SSD számítógép garanciával, hibátlan működéssel
- LG 65QNED87T / 65" - 164 cm QNED / 4K UHD / 120Hz & 3ms / HDR 10 Pro / FreeSync Premium / HDMI 2.1
- Apple iPhone 13 Mini 128GB, Kártyafüggetlen, 1 Év Garanciával
- MSI CYBORG 15 A13V
- AKCIÓ! Gigabyte B450M R7 2700X 16GB DDR4 512GB SSD RX VEGA64 8GB CM 690 III FSP 600W
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest