» »

c++ koordinatni sistem

c++ koordinatni sistem

Area_51 ::

:)) Ne mi zamerit, ker zaenkrat ne znam kej dosti. Mam pa problem. Želel bi, zračunat razdaljo med dvema točkama v pravokotnem koordinatnem sistemu in mi ne uspe. Morem pa izračunat s pomočjo funkcije. Tukaj je se moja koda:#include

void Razdalja(double x1, double y1, double x2, double y2)
{
int x1;
double y1;
double x2;
double y2;
double skupaj;

cout << "Vpisite stevilo, ki bo nadomestilo x1 in y1: " << endl;
cin >> x1;
cin >> y1;
cout << "sedaj pa vpisite se drugo tocko: " << endl;
cin >> x2;
cin >> y2;
}

int main()
{
double x1, y1, x2, y2, skupaj;
cout << "razdalja teh dveh tock je: " << endl;
skupaj = (x1 + y1)/ 2 + (x2 + y2)/ 2;
cout << skupaj;
return 0;
}

to pa je napaka:
redefinition of formal parameter 'x1'

velja tudi za x2, y1 in y2.

In ce bi mogoce kdo vedel kako resit naslednjo nalogo:

Napsi in uporabi funkcijo, ki izračuna razdaljo dveh tock v trodimenzionalnem pravokotnem koordinatnem sistemu. s točkama t1(x1,y1) in T2(x2,y2).


Resno hvala za pomoč.

LP:)

Area 51

Thomas ::

d = SQRT((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));


:O
Man muss immer generalisieren - Carl Jacobi

NoUse4AName ::

zakaj ti deklariras spremenljivke v funkciji razdalja, ki so podane kot parameter? Zato ti napise redefinition, ker kreiras spremenljivke ki ze obstajajo.
Malo tesko bos izracunal razdaljo v 3d koordinatnem sistemu med tockama, brez Z komponente tocke...
Razdalja med tockami se izracuna tako:
sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) + (z1-z2)*(z1-z2))

Zgodovina sprememb…

gumby ::

(sem prepozen...)

Zgodovina sprememb…

  • spremenil: gumby ()

Area_51 ::

:)) Oprosti ampak kam nej to vstavim. Ker te nisem razumel čisto nič. če se da pokaži na mojem primeru. Prosim..
kot sem prej omenil, sem šele začetnik in se učim, tako da ne razumem, kot ti, ki to stvar obvladaš.
Ja že ampak ta primer je za navaden pravokoten sistem.
LP:)
Area 51

Zgodovina sprememb…

  • spremenilo: Area_51 ()

NoUse4AName ::

Area_51: ne idi programirat dokler nisi preprican, da znas tisti del programskega jezika ki ga potrebujes za napisanje programa.

Area_51 ::

:)) In keri je to del, ce smem zvedet.:)
Area 51

Brane2 ::

nisem bash neki v Cju, prvzaprav nisem skor nč a vidim, da definiraš funkcijo "razdalja", ki jo potem nikjer ne uporabljaš.

Poleg tega bi si jaz pogledal malo v kako Online literaturo teh stvari, do kod veljajo definicije spremenjljivk. Mislim, da bi brez dodatnih atributov morale veljati v okvirih funkcije kjer si jih definiral a pri tebi je funkcija "razdalja" definirana izven "main-a", kar bi znalo biti tu problem..

Area_51 ::

:)) OK! zdej sem to malo popravil, pa mi javi samo eno napako in ta napaka je:

term does not evaluate to a function

to pa je popravljena koda.


#include

void Razdalja()
{

double x1;
double y1;
double x2;
double y2;
double skupaj;
int sqrt;
skupaj = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}

int main()
{
double x1, y1, x2, y2, skupaj;
double sqrt;
cout << "razdalja teh dveh tock je: " << endl;
cout << "Vpisite stevilo, ki bo nadomestilo x1 in y1: " << endl;
cin >> x1;
cin >> y1;
cout << "sedaj pa vpisite se drugo tocko: " << endl;
cin >> x2;
cin >> y2;

cout << skupaj;
return 0;
}

Hvala za pomoč. Upam, da znate rešit problem.

LP:)
Area 51

spacejam ::

se strinjam z NoUse4AName! sploh kaj dela s neke funcije ki ti ne nuca za tak problem. dovolj je main funcija in tle smo koncali.
Space-jam Team & Co.

Taras_Bulba ::

emm... kje pa klices funkcijo?

Area_51 ::

:)) OK! vse sem spremenil, tako da mi je zdej ostal samo še main.

Ampak spet je isti problem:

term does not evaluate to a function:)


Nikjer jo vec ne klicem, ker sem jo zbrisal.
Area 51

Zgodovina sprememb…

  • spremenilo: Area_51 ()

Brane2 ::

Area51- zdej mi greš pa že počasi na ganglije.:\

1.

#include

Include kaj ?
Tu bi verjetno moralo pisati include stdlib ali kaj podobnega (mogoče stdio), da stvar uporabi osnovno knjižnico....



void Razdalja()
{

double x1;
double y1;
double x2;
double y2;
double skupaj;
int sqrt;
skupaj = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}


O.K. naredil si novo funkcijo, ki ne sprejema parametrov in jih tudi ne oddaja.
Tisti "skupaj", ki si ga tam notri zračunal, ni viden, ker ob izhodu iz funkcije "skupaj" izgine...


int main()
{
double x1, y1, x2, y2, skupaj;
double sqrt;
cout << "razdalja teh dveh tock je: " << endl;
cout << "Vpisite stevilo, ki bo nadomestilo x1 in y1: " << endl;
cin >> x1;
cin >> y1;
cout << "sedaj pa vpisite se drugo tocko: " << endl;
cin >> x2;
cin >> y2;


Do tu vse lepo in prav (IMHO)....


cout << skupaj;


Od kod ti ta "skupaj" ? Funkcije "Razdalja" nisi poklical niti enkrat, pa tudi če bi jo, ta ne vrača nobenega parametra. Taka kot je, bi "Razdalja" izračunala razdaljo in umrla pametna, ne da bi prej okolici pustila na ogled sadove svojega obstoja...


OwcA ::

Rahlo lepse in cistejse napisano :D :

#include < iostream >
#include < cmath >

using namespace std;

struct tocka
{
int x;
int y;
}

double GetRazdaljo(tocka &t1, tocka &t2);

double GetRazdaljo(tocka &t1, tocka &t2)
{
return sqrt(pow(t2.x-t1.x,2)+pow(t2.y-t1.y,2));
}

int main()
{
tocka t1, t2;
cout << "Vpiši 1. točko:" << endl;
cin >> t1.x >> t1.y;
cout << "Vpiši 2. točko:" << endl;
cin >> t2.x >> t2.y;
cout "Razdalja med točkama znaša " << GetRazdaljo(t1, t2) << endl;
return 0;
}

NoUse4AName ::

include se ne izpise pravilno zaradi HTML strani

Area_51 ::

:)) Popravil sem tiste include fijle in mi je javlo, da je odkril 6 napak.

see declaration of 'GetRazdaljo'

GetRazdaljo' : redefinition; different basic types

see declaration of 'GetRazdaljo'

syntax error : missing ';' before 'string'

'<<' : unable to resolve function overload could be 'struct tocka __cdecl GetRazdaljo(struct tocka &,struct tocka &)'


see declaration of 'GetRazdaljo':)

Area 51

BigHugo ::

Area_51: Daj si prej prečitaj kakšno knjigo. Pa poglej malo sample, ki jih imaš zraven Cja. Pa tudi kakšen Help si poglej. Ko boš vse to naredil in še stvar malo prespal, pa se spet oglasi. Pa ne misli, da nas boš že čez teden spet gnjavil.

P.S. Pa še malo matematike se v tem času nauči.
LP BigHugo

OwcA ::

S pepeplom se posipavam, za struct tocka {...} manjka podpicje (;) in pri zadnjem cout manjka prvi pipe (>>), tokrat sm vse skupi celo sprobu in _se_ skompajla (intel C++ compiler in Dinkumware STL) brez errorjev in/ali warningov, tko da, ce ti ne dela, si dobi boljsi kompajler 8-) ;

Zgodovina sprememb…

  • spremenilo: OwcA ()


Vredno ogleda ...

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

[C++] Metode

Oddelek: Programiranje
51506 (1338) Klobasa
»

Java Objekti

Oddelek: Programiranje
102244 (1938) Mavrik
»

C++ pomoč

Oddelek: Programiranje
5874 (804) Tutankhamun
»

[c] osnove

Oddelek: Programiranje
352528 (1865) fiction
»

[C++][Naloga]Točka, Daljica, Razdalja

Oddelek: Programiranje
91915 (1555) snow

Več podobnih tem