Forum » Programiranje » C++ pomoč
C++ pomoč
hexor ::
Potreboval bi pomoč z eno nalogo in sicer imam strukturo ki vsebuje x in y element ki predstavlja točko v koor. sistemu.Program naj naključno izbere 10 točk v polje struktur,do tega koraka sem prišel:
struct tocka
{
double x;
double y;
};
int main()
{
tocka T;
tocka polje[10];
tocka polje[0]=rand();
tocka polje[1]=rand();
tocka polje[2]=rand();
tocka polje[3]=rand();
tocka polje[4]=rand();
tocka polje[5]=rand();
tocka polje[6]=rand();
tocka polje[7]=rand();
tocka polje[8]=rand();
tocka polje[9]=rand();
return 0;
}
Zdaj pa ne razumem naloge naprej ki narekuje da si predstavljam kot sprehod od prve do zadnje točke-primer sprehod od prve do druge točke in naredim pot dolgo kakor je razdalja med tema dvema točkama,potem pojdem naprej na tretjo točko in prištejem to razdaljo in nadaljujem z seštevanjem vseh razdalj.Program mora na koncu izpisati še celotno pot.
Za pomoč se Vam zahvaljujem!
struct tocka
{
double x;
double y;
};
int main()
{
tocka T;
tocka polje[10];
tocka polje[0]=rand();
tocka polje[1]=rand();
tocka polje[2]=rand();
tocka polje[3]=rand();
tocka polje[4]=rand();
tocka polje[5]=rand();
tocka polje[6]=rand();
tocka polje[7]=rand();
tocka polje[8]=rand();
tocka polje[9]=rand();
return 0;
}
Zdaj pa ne razumem naloge naprej ki narekuje da si predstavljam kot sprehod od prve do zadnje točke-primer sprehod od prve do druge točke in naredim pot dolgo kakor je razdalja med tema dvema točkama,potem pojdem naprej na tretjo točko in prištejem to razdaljo in nadaljujem z seštevanjem vseh razdalj.Program mora na koncu izpisati še celotno pot.
Za pomoč se Vam zahvaljujem!
Ktj ::
Namesto da za vsako polje pišeš uporabi for zanko.
Ko imaš neko spremenljivko deklarerano se tip ne piše spredaj.
V tvoji kodi ti prirejaš kazalcu ki kaže na strukturo (naj me kdo popravi če se motim) neko vrednost kar je hudo narobe. Ti moraš elementu tej neko vrednost x in y.
Za računanje poti pa predvidevam da ti je jasen pitagorov izrek. Gledaš samo razliko po x in y ter ju geometrično sešteješ. če ti pa ni jasno si pa nariši na list papirja in poglej kako bi to rešil po pešpoti!
edit: typo
for(int i = 0; i<10; i++) polje[i].element = rand();
Ko imaš neko spremenljivko deklarerano se tip ne piše spredaj.
tocka polje[10]; tocka polje[0]=rand();// tocka se ne piše več ampak samo polje[0];....da ne omenjam naslednje napake
V tvoji kodi ti prirejaš kazalcu ki kaže na strukturo (naj me kdo popravi če se motim) neko vrednost kar je hudo narobe. Ti moraš elementu tej neko vrednost x in y.
tocka polje[0]=rand(); // narobe polje[0].elemet = rand();//razumeš princip?
Za računanje poti pa predvidevam da ti je jasen pitagorov izrek. Gledaš samo razliko po x in y ter ju geometrično sešteješ. če ti pa ni jasno si pa nariši na list papirja in poglej kako bi to rešil po pešpoti!
edit: typo
Zgodovina sprememb…
- spremenil: Ktj ()
Tutankhamun ::
struct Tocka { double x; double y; }; double RazdaljaMedTockama(const Tocka &p1, const Tocka &p2) { double dx, dy; double dst; dx = (p1.x) - (p2.x); dy = (p1.y) - (p2.y); dst = (dx*dx) + (dy*dy); dst = sqrt(dst); return dst; } int main(int argc, char* argv[]) { const int VELIKOST = 10; srand((unsigned)time( NULL )); double pot, celotna_pot = 0; Tocka polje[VELIKOST]; // nastavitev tock for (int i = 0; i < VELIKOST; i++) { polje[i].x = rand() % 10; polje[i].y = rand() % 10; cout << "T" << i << "{" << polje[i].x << ", " << polje[i].y << "}" << endl; } // razdalja med posameznimi tockami for (int i = 1; i < VELIKOST; i++) { pot = RazdaljaMedTockama(polje[i-1], polje[i]); celotna_pot += pot; cout << "Razdalja med tocko " << (i-1) << " in tocko " << i << " je " << pot << endl; cout << "Vsota vseh do sedaj razdalj je " << celotna_pot << endl << endl; } return 0; }
Primer izpisa:
T0{7, 4}
T1{4, 1}
T2{3, 0}
T3{6, 7}
T4{3, 8}
T5{4, 3}
T6{1, 1}
T7{3, 8}
T8{9, 7}
T9{1, 2}
Razdalja med tocko 0 in tocko 1 je 4.24264
Vsota vseh do sedaj razdalj je 4.24264
Razdalja med tocko 1 in tocko 2 je 1.41421
Vsota vseh do sedaj razdalj je 5.65685
Razdalja med tocko 2 in tocko 3 je 7.61577
Vsota vseh do sedaj razdalj je 13.2726
Razdalja med tocko 3 in tocko 4 je 3.16228
Vsota vseh do sedaj razdalj je 16.4349
Razdalja med tocko 4 in tocko 5 je 5.09902
Vsota vseh do sedaj razdalj je 21.5339
Razdalja med tocko 5 in tocko 6 je 3.60555
Vsota vseh do sedaj razdalj je 25.1395
Razdalja med tocko 6 in tocko 7 je 7.28011
Vsota vseh do sedaj razdalj je 32.4196
Razdalja med tocko 7 in tocko 8 je 6.08276
Vsota vseh do sedaj razdalj je 38.5023
Razdalja med tocko 8 in tocko 9 je 9.43398
Vsota vseh do sedaj razdalj je 47.9363
AMD Phenom QUAD 9950 Black Edition, 8GB
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | c++ rabim pomoč konstuktorjiOddelek: Programiranje | 1105 (800) | Snowflake2 |
» | php vprašanje.Oddelek: Programiranje | 2268 (1512) | fx |
» | največkrat pojavljeni element v tabeliOddelek: Programiranje | 1958 (1333) | pac1 |
» | [C++] Generiranje naključnih števil tipa doubleOddelek: Programiranje | 1860 (1769) | mn |
» | Programiranje C++Oddelek: Šola | 1612 (1418) | bi0s |