Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pomoc oko zadatka u C++ - u

[es] :: C/C++ programiranje :: pomoc oko zadatka u C++ - u

[ Pregleda: 2466 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

poWer011

Član broj: 42366
Poruke: 9
*.COOL.ADSL.VLine.Verat.NET.



Profil

icon pomoc oko zadatka u C++ - u 12.07.2005. u 23:03 - pre 227 meseci
Ako neko moze da startuje program// odsnosno da vidi gde je greska/e

napravio sam tacka.h , pravougaonik.h , tacka.cpp , pravougaonik.cpp- c++ source file, i zadatak.cpp


KOD:

class Tacka{
double m_x, m_y;
public:
Tacka();
Tacka(double, double);
Tacka(const Tacka*);
Tacka(const Tacka&);
void postavi (double,double);
double osax () const;
double osay () const;
double rastojanje ();
double rastojanje (const Tacka&);
Tacka najbliza(Tacka*, int);
void citaj();
void pisi();
};


***************************************

class Pravougaonik {
Tacka m_A, m_B;
public:
Pravougaonik();
Pravougaonik (const Tacka&, const Tacka&);
Pravougaonik(const Pravougaonik*);
Pravougaonik(const Pravougaonik&);
Tacka tA();
Tacka tB();
Tacka tC();
Tacka tD();
void postavi (const Tacka&, const Tacka&);
double obim();
double povrsina();
bool unutra(const Tacka&);
void citaj();
void pisi();
};

********************************
#include <iostream>
#include "tacka.h"
#include <cmath>
using namespace std;

Tacka::Tacka(double x, double y):m_x(0), m_y(0) {}
Tacka::Tacka(double x, double y):m_x(x), m_y(y) {}
Tacka::Tacka(double x, double y):m_x(a->m_x), m_y(a->m_y) {}
Tacka::Tacka(double x, double y):m_x(a.m_x), m_y(a.m_y) {}

double Tacka::rastojanje() {return sqrt(m_x*m_x+m_y*m_y);} //odstojanje od koordinatnog pocetka
void Tacka::postavi(double x, double y){m_x=x; m_y=y;} //promena x,y koordinate
double Tacka::osax() const {return m_x;} //Dohvatanje x koordinate
double Tacka::osay() const {return m_y;} //Dohvatanje y koordinate
double Tacka::rastojanje(const Tacka &a)
{return sqrt(pow(m_x-a.m_x,2) + pow(m_y-a.m_y,2));} //Rastojanje od druge tacke
double Tacka::najbilza(const Tacka &a, int n){
Tacka t=a[0]; double r.m=rastojanje(t);
for(int i=1; i<n;i++) {
if(m>(r=rastojanje(a))) {m=r; t=a;}
}
} // Najbliza tacka

void Tacka::citaj(){cin>>m_x>>m_y;} // Citanje koordinata tacke
void Tacka::pisi(){cout<<"("<<m_x<<","<<m_y<<")"<<endl;} // Pisanje koordinata tacke

******************************

#include <iostream>
#include "tacka.h"
#include <cmath>
#include "pravougaonik.h"
using namespace std;

Pravougaonik::Pravougaonik() {}
Pravougaonik::Pravougaonik(const Tacka&A, const Tacka&B):m_A(A), m_B(B) {}
Pravougaonik::Pravougaonik(const Pravougaonik *P): m_A(P->m_A), m_A(P->m_B){}
Pravougaonik::Pravougaonik(const Pravougaonik &P): m_A(P.m_A), m_B(P.m_B){}

Tacka Pravougaonik::tA(){return m_A;} // DOhvatanje tacke A
Tacka Pravougaonik::tB(){return m_B;} // Dohvatanje tacke B
Tacka Pravougaonik::tC(){
Tacka C;
C.postavi(m_A.osax(), m_B.osay());
return C;
} // Dohvatanje tacke C
Tacka Pravougaonik::tD(){
Tacka D;
D.postavi(m_B.osax(), m_A.osay());
return D;
}
// Dohvatanje tacke D

void Pravougaonik::postavi(const Tacka &A, const Tacka &B){m_A=A, m_B=B;}
// Promena tacaka

double Pravougaonik::obim(){
return 2*((m_A.osax()-m_B.osax())+(m_A.osay()-m_B.osay());
} // Izracunavnje obima pravogaonika

double Pravougaonik::povrsina(){
return ((m_A.osax()-m_B.osax())*(m_A.osay()-m_B.osay());
} //Izracunavnje povrsine pravogaonika

bool Pravougaonik::unutra(const Tacka &T){
bool a= (m_A.osax()<m_B.osax())?
(T.osax()>m_A.osax())&&(T.osax()<m_B.osax());
(T.osax()<m_A.osax())&&(T.osax()>m_B.osax());
bool b= (m_A.osay()<m_B.osay())?
(T.osay()>m_A.osay())&&(T.osay()<m_B.osay());
(T.osay()<m_A.osay())&&(T.osay()>m_B.osay());
return a&&b; } //Da li je tacka unutar pravougaonika

void Pravougaonik::citaj(){
cout<<"Upisite koordinate dve dijagonale tacke pravougaonika: "<<endl;
m_A.citaj(); m_B.citaj();
}

void Pravougaonik::pisi(){
cout<<"Koordinate dve zadate tacke pravougaonika: "<<endl;<<"A";m_A.pisi();
cout<<endl<<"B"; m_B.pisi(); cout<<endl;
}

*********************************

#include <iostream>
#include "tacka.h"
#include "pravougaonik.h"
#include <stdafx.h>
using namespace std;

int main(int argc, char* argv[]){

Pravougaonik ABCD;
Tacka niz[5];

ABCD.citaj();
ABCD.pisi(); // Ucitavanje i ispisivanje pravougaonika

cout<<"Upisite Koordinate 5 tackaka: "<<endl;
for(int =0; i<5;i++) niz.citaj(); // Ucitavanje niza tacaka

cout<<"Tacke koje su u pravougaoniku: "<<endl;
for(int i=0; i<5;i++){
if(ABCD.unutra(niz)) {
cout<<"T"<<i; niz.pisi();
}

cout<<"Temena pravougaonika i njihove najblize tacke: "<<endl;

cout<<"A"; Tacka X=ABCD.tA(); X.pisi();
cout<<"Najbliza "; T=X.najbliza(niz, 5); T.pisi();

cout<<"B"; X=ABCD.tB(); X.pisi();
cout<<"Najbliza "; T=X.najbliza(niz, 5); T.pisi();

cout<<"C"; X=ABCD.tC(); X.pisi();
cout<<"Najbliza "; T=X.najbliza(niz, 5); T.pisi();

cout<<"D"; X=ABCD.tD(); X.pisi();
cout<<"Najbliza "; T=X.najbliza(niz, 5); T.pisi();

return 0;
}

[Ovu poruku je menjao poWer011 dana 18.07.2005. u 00:39 GMT+1]
 
Odgovor na temu

[es] :: C/C++ programiranje :: pomoc oko zadatka u C++ - u

[ Pregleda: 2466 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.