» »

[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?
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?
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 :D
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!

BigWhale ::

Hm, kaj pravzaprav sprasujes?

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

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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

zrcaljenje pri vektorjih v prostoru ...

Oddelek: Šola
5839 (754) Unilseptij
»

[C/C++] Konveksna lupina - brute force

Oddelek: Programiranje
71832 (1706) WarpedGone
»

Program v c++

Oddelek: Programiranje
191938 (1607) Bela01
»

Pomoč pri nalogi iz C++

Oddelek: Programiranje
5977 (934) Quikee
»

Vprašanje neskončnosti (strani: 1 2 )

Oddelek: Znanost in tehnologija
696318 (5045) Thomas

Več podobnih tem