Poslao: 15 Jul 2005 12:54
|
offline
- Pridružio: 13 Jul 2005
- Poruke: 125
- Gde živiš: N.Beograd
|
Napisati 2 klase sa sledecim opisom :
a) Tacka u ravni ima koordinate, metod za izracunavanje rastojanja izmedju dve tacke, metod za ucitavanje, najbliza tacka
b)Pravougaonik ima metod za obim, povrsinu, ispitivanje da li je tacka unutra. ..
Ima jos teksta, al dole je uradjen, pa ako neko moze da nadje greske...
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 15 Jul 2005 15:19
|
offline
- meka
- Počasni građanin
- Pridružio: 06 Avg 2003
- Poruke: 811
- Gde živiš: Novi Sad / Vojvodina
|
Kao sto davno neko rece na forumu, niko nije dovoljno zaludan da radi tudje zadatke za dzabe. Postavi problem koji ne znas da resis a ne ceo zadatak.
|
|
|
|
Poslao: 16 Jul 2005 23:20
|
offline
- Pridružio: 13 Jul 2005
- Poruke: 125
- Gde živiš: N.Beograd
|
Evo sam uradio zadatak sa dve klase Pravougaonik i Tacka, nece da se pokrene program ima problem sa std. Ako neko moze da startuje program// odsnosno da vidi gde je greska/e, treba mi za ispit , frka.
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[i]))) {m=r; t=a[i];}
}
} // 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 i=0; i<5;i++) niz[i].citaj(); // Ucitavanje niza tacaka
cout<<"Tacke koje su u pravougaoniku: "<<endl;
for(int i=0; i<5;i++){
if(ABCD.unutra(niz[i])) {
cout<<"T"<<i; niz[i].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;
}
|
|
|
|
Poslao: 17 Jul 2005 09:48
|
offline
- pixxel
- Legendarni građanin
- Pridružio: 21 Jun 2005
- Poruke: 9091
- Gde živiš: Tu i tamo...
|
Milijarda gresaka, nisi pravio empty win32 project, nego si ga odradio pod mfc (atl, nije ni bitno), pa tu imas prvih par gresaka... Dalje, tacka.h i pravougaonik.h se pisu Sa Velikim prvim slovom i pod navodnicima, ne izmedju <>. Pa onda iostream ide bez .h, stdio ne postoji, .cpp fajlovi se ne includuju, fale ti zastite od ponovnog prevodjenja (ifndef, define, endif...), nemas overloadovane operatore za ispis i citanje, pa te i tu zeza... Fale ; na kraju nekih redova... Ima ih jos, mrsko mi je da pisem...
Ja ti preporucujem da krenes ispocetka, jer ovako ces samo da zaglibljujes sve vise i vise... Pre toga, doooobro prouci literaturu, ovde ima bas mnogo gresaka, nije da te ucrnjujem, ali ako je ovo ispitni zadatak, gde si bio kad su bila prespavanja, pardon predavanja...
Pokusao sam da ispravim neke greske, ali onda me je krenulo sa sve vise... Na kraju sam skroz odustao...
|
|
|
|
Poslao: 17 Jul 2005 16:39
|
offline
- Pridružio: 13 Jul 2005
- Poruke: 125
- Gde živiš: N.Beograd
|
stdio - standard i/o header, kako ne postoji, mada ovde ni ne treba jer se koristi kad se pozivaju scanf i printf
//nemas overloadovane operatore za ispis i citanje// kod mi treba
ispravio sam greske koje si rekao, al ima jos, aj mi napisi operatore za ispis i citanje
ako neko stavi link za zadatak ispravljen puno, puno hvala... treba mi do sutra
Dopuna: 17 Jul 2005 17:39
mycity.rs/must-login.png
Evo ga snimljen u Visual-u
|
|
|
|
Poslao: 18 Jul 2005 09:16
|
offline
- pixxel
- Legendarni građanin
- Pridružio: 21 Jun 2005
- Poruke: 9091
- Gde živiš: Tu i tamo...
|
stdio ne znam o cemu sam mislio dok sam pisao, trebalo je da pise stdio se ne koristi...
operatori. hm, svodi se na friend funkcije, i otprilike telo ide ovako:
friend ostream operator << (ostream &dat, const Pravougaonik &P); //ispis
friend istream operator >> (istream &dat, Pravougaonik &P); //citanje
Pa umesto pravougaonik mozes da pises tacka... U telo funkcije ubacis ono sto bi radio kad recimo ucitavas pravougaonik ili tacku, ali umesto cin>> i cout<< koristis (u ovom primeru) dat>> i dat<<
I ne secam se, neka pomogne neko iskusniji, kod istream & ostream operatora da li ide return dat; na kraju...
|
|
|
|
Poslao: 18 Jul 2005 11:32
|
offline
- Bone Collector
- Legendarni građanin
- Pridružio: 18 Apr 2003
- Poruke: 5001
- Gde živiš: Beograd
|
Ide return dat na kraju, jer kao sto vidis recimo prva funkcija vraca ostream vrednost znaci mora da ide return dat.
|
|
|
|
Poslao: 20 Jul 2005 03:16
|
offline
- Pridružio: 13 Jul 2005
- Poruke: 125
- Gde živiš: N.Beograd
|
ok hvala probacu veceras
Dopuna: 20 Jul 2005 4:16
da ok ide
{return dat>>P.A>>P.B;} //za ucitavnje 2 tacke pravougaonika npr.
{return dat<<P.A<<P.B;} // za ispis
nego nisam uopste skontao da moze da se cita iz datoteka// da se uvoze karakteri,npr. iz tekst fajla ... : ) , dade mi na ispitu i zamalo da polozim: ) , ovo bas mora da se nastreba, pa da se krene u neko razmisljanje
ljudi jel ima knjiga iz c++-a, da ne smara kao Laslo, u vise navrata me zbuni nego sto razjasni, jel bolje prvo da uzmem, c++ 21 dan, sta preporucujete
|
|
|
|
Poslao: 20 Jul 2005 08:39
|
offline
- pixxel
- Legendarni građanin
- Pridružio: 21 Jun 2005
- Poruke: 9091
- Gde živiš: Tu i tamo...
|
Laslo je pisao knjigu veoma slicno kao c++ za 21 dan, samo na strucnijem nivou, a predavanja i lab vezbe se baziraju po toj knjizi. Procitaj obavezno 21 dan, ali uci i iz njegove knjige... a to citanje iz datoteka ti je bas fazon sa ovim operatorima i na to ne moras da mislis, bitno je da postoji nacin da ti ucitas (cin) i ispises (cout) nesto na ekran. Ako se secas dos vremena ekran je posebna datoteka... kad prevedes program proba dobijes proba.exe. Ako ga izvrsis sa proba, upravljaces sa njim iz datoteke tastatura, a rezultati ce biti upisivani u datoteku ekran. Razumes? ok, a ako pokrenes program sa proba <ulaz.txt >izlaz.txt sve ce se obavljati u datotekama...
|
|
|
|
Poslao: 02 Sep 2005 21:55
|
offline
- Pridružio: 13 Jul 2005
- Poruke: 125
- Gde živiš: N.Beograd
|
FILE* file= fopen ("proba.txt", "r")
nisam znao-ustvari bio sam i na prespavanju i pisao i evo sad nadjem papir ispod stola cuci - posto ne ponese svesku taj dan , hvala za pomoc i oko knjige - mada znam da sve to ima kod Lasla, al probacu prvo sa 21 dan da skontam, jer kao sto rekoh konfuzno objasnjava- treba bas koncentracija, a i ova vrucina ....
Dopuna: 02 Sep 2005 22:55
Evo ako nekom treba za vezbu zadatak koji mi je dosao na ispitu
mycity.rs/must-login.png - postavka i resenje
mycity.rs/must-login.png - resenje
|
|
|
|