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 | 1073 (988) | Unilseptij |
| » | [C/C++] Konveksna lupina - brute forceOddelek: Programiranje | 2007 (1881) | WarpedGone |
| » | Program v c++Oddelek: Programiranje | 2153 (1822) | Bela01 |
| » | Pomoč pri nalogi iz C++Oddelek: Programiranje | 1127 (1084) | Quikee |
| » | Vprašanje neskončnosti (strani: 1 2 )Oddelek: Znanost in tehnologija | 7211 (5938) | Thomas |