Forum » Programiranje » [C++][Naloga]Točka, Daljica, Razdalja
[C++][Naloga]Točka, Daljica, Razdalja
msmiha ::
Napišite strukturo Šestkotnik, ki vsebuje šest struktur Daljica le te pa vsebujejo dve strukturi Tocka v dvodimenzionalnem koordinatnem sistemu. Napišite še funkcijo, ki za podan šestokotnik izračina obseg. V main funkciji omogočite uporabniku vpis točk šestokotnika. Za vpisane podatke s pomočjo funkcije, izračunajte obseg in ga izpišite.
Zanima me kakšna je finta pri zgornji nalogi ali more bit struktura znotraj strukture oziroma kaj se more nahajati v strukturi? Potem mi ni čist jasno kaj misli z 2D koordinatneim sistemom na kak način se to izvede?
Zanima me kakšna je finta pri zgornji nalogi ali more bit struktura znotraj strukture oziroma kaj se more nahajati v strukturi? Potem mi ni čist jasno kaj misli z 2D koordinatneim sistemom na kak način se to izvede?
Edini način, da odkrijemo meje mogočega je, da jih prestopimo in se znajdemo v nemogočem.
- spremenil: Vesoljc ()
Vesoljc ::
pet let si ze na forumu, pa nisi utegnil prebrati pravil v oddelku programiranje?
sramota...
da bi povedal, v katerem jeziku naj bi to spisal, je pa tudi odvec, nee?
sramota...
da bi povedal, v katerem jeziku naj bi to spisal, je pa tudi odvec, nee?
Abnormal behavior of abnormal brain makes me normal...
Reso ::
Evo ti ker imam preveč časa;)
struct Tocka { public int x; public int y; } struct Daljica { public Tocka A; public Tocka B; } struct Sestkotnik { public Daljica Daljica1; public Daljica Daljica2; public Daljica Daljica3; public Daljica Daljica4; public Daljica Daljica5; public Daljica Daljica6; } public int Razdalja(Daljica daljica) { int dx= Math.abs(daljica.A.x-daljica.B.x); //Math.abs je absolutno int dy= Math.abs(daljica.A.y-daljica.B.y); return Math.sqrt(dx*dx+dy*dy); //tuki pride korenis dx*dx +dy*dy } public int Obseg(Sestkotnik sestkotnik) { int tmp = 0; tmp += Razdalja(sestkotnik.Daljica1); tmp += Razdalja(sestkotnik.Daljica2); tmp += Razdalja(sestkotnik.Daljica3); tmp += Razdalja(sestkotnik.Daljica4); tmp += Razdalja(sestkotnik.Daljica5); tmp += Razdalja(sestkotnik.Daljica6); return tmp; }
Zgodovina sprememb…
- spremenil: Vesoljc ()
msmiha ::
Sory vesoljec tudi najboljšim se dogaja .
Reso tebi pa hvala, ker maš šesti čut
Reso tebi pa hvala, ker maš šesti čut
Edini način, da odkrijemo meje mogočega je, da jih prestopimo in se znajdemo v nemogočem.
djtey ::
No bom vprašal, kar v tejle temi, ker je naoga zelo podobna.
Napišite strukturo Daljica, ki vsebuje dve strukturi Tocka v dvodimenzionalnem koordinatnem sistemu.
Napišite še funkcijo, ki za podano daljico izračina njeno dolžino.
V main funkciji omogočite uporabniku vpis točk daljice. Za vpisane podatke o daljici, s
pomočjo funkcije, izračunajte njeno dolžino in jo izpišite.
Program pa mora bit v C++!
LP!
Napišite strukturo Daljica, ki vsebuje dve strukturi Tocka v dvodimenzionalnem koordinatnem sistemu.
Napišite še funkcijo, ki za podano daljico izračina njeno dolžino.
V main funkciji omogočite uporabniku vpis točk daljice. Za vpisane podatke o daljici, s
pomočjo funkcije, izračunajte njeno dolžino in jo izpišite.
Program pa mora bit v C++!
LP!
Ch4N93 ::
djtey, dolžino daljice imaš že izračunano v prejšnem primeru (int Razdalja), saj je za obseg potrebno vedeti dolžine posameznih daljic ;)
Ni nam lahko...
Tutankhamun ::
struct Tocka { int X; int Y; }; struct Daljica { Tocka tA; Tocka tB; }; int main() { Daljica d; Tocka t; cin >> d.tA.X; cin >> d.tA.Y; cin >> d.tB.X; cin >> d.tB.Y; cout << sqrt( pow( abs(d.tA.X - d.tB.X), 2) + pow( abs(d.tA.Y - d.tB.Y), 2) ); }
AMD Phenom QUAD 9950 Black Edition, 8GB
kalikali ::
prosim a mi naredi kdo to ker jst prou ne znam
Napišite in uporabite funkcijo, ki izračunata presečišče dveh daljic v 2D koordinatnem
sistemu. Argumenti funkcij so koordinate točk daljic (po vrednosti) in točka presečišča (po referenci). Funkcija vrača informacijo o presečišču (true, false).
Klic funkcije:presečišče_daljic( xa,ya,xb,yb, xc,yc,xd,yd, xp,yp )
Postopek:dx1 = xb - xa, dy1 = yb - ya
dx2 = xd - xc, dy2 = yd - yc
d1 = dx1*dy2 - dx2*dy1, d2 = (xc - xa)*dy2 -(yc - ya)*dx2
pr = NE
Če d1!=0 in abs(d1)>=abs(d2) in sign(d2)==sign(d1) potem
t = d2/d1
xp = xa + t*dx1
yp = ya + t*dy1
pr = DA
Do sem
Konec
Napišite in uporabite funkcijo, ki izračunata presečišče dveh daljic v 2D koordinatnem
sistemu. Argumenti funkcij so koordinate točk daljic (po vrednosti) in točka presečišča (po referenci). Funkcija vrača informacijo o presečišču (true, false).
Klic funkcije:presečišče_daljic( xa,ya,xb,yb, xc,yc,xd,yd, xp,yp )
Postopek:dx1 = xb - xa, dy1 = yb - ya
dx2 = xd - xc, dy2 = yd - yc
d1 = dx1*dy2 - dx2*dy1, d2 = (xc - xa)*dy2 -(yc - ya)*dx2
pr = NE
Če d1!=0 in abs(d1)>=abs(d2) in sign(d2)==sign(d1) potem
t = d2/d1
xp = xa + t*dx1
yp = ya + t*dy1
pr = DA
Do sem
Konec
snow ::
bool presecisce_daljic(double xa,double ya,double xb,double yb, double xc,double yc,double xd,double yd, double xp,double yp) { //sem pride deklaracija vseh spremenlivk, ki jih uporabiš naprej v funkciji bool neki = false; //razni predračuni pogoj = a*b*c*d; if(pogoj) { neki = true; } return neki; }
Nekaj v tem stilu. Sestavi pa ti.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | zrcaljenje pri vektorjih v prostoru ...Oddelek: Šola | 930 (845) | Unilseptij |
» | [C/C++] Konveksna lupina - brute forceOddelek: Programiranje | 1899 (1773) | WarpedGone |
» | Program v c++Oddelek: Programiranje | 2011 (1680) | Bela01 |
» | Pomoč pri nalogi iz C++Oddelek: Programiranje | 1035 (992) | Quikee |
» | Vprašanje neskončnosti (strani: 1 2 )Oddelek: Znanost in tehnologija | 6659 (5386) | Thomas |