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

[Zadatak] Nasledjivanje klase za rad s matricom, sigurni vektori

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Nasledjivanje klase za rad s matricom, sigurni vektori

[ Pregleda: 3245 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

drazac

Član broj: 111921
Poruke: 5
*.adsl.net.t-com.hr.



Profil

icon [Zadatak] Nasledjivanje klase za rad s matricom, sigurni vektori27.09.2007. u 13:36 - pre 200 meseci
Pozdrav

Ovako glasi zadatak:

Klasa matrica deklarirana je:

Code:

class Matrica
{
   int br_red;
   int br_stup;
   double **Elementi;
public:
   CMatrica ();
   CMatrica (int n, int m);
   double Suma (n);

...

};

Deklaliraj klasu CMatrica2 koja nasljeđuje zadanu matricu i konstruktore. Deklariraj i definiraj člansku funkciju za množenje dvije matrice.

Ovo sam ja pokusao rijesiti zadatak ali nisam uspio.. pa ako mozete pomoci:

Code:

CMatrica2:CMatrica;
class CMatrica{
double [] matrica1,double[] matrica2;
   double mnozenje(double [], double []);
   double mnozenje(double [] matrica1, double [] matrica2){
   return matrica1*matrica2;



Zadatak 2.
Definiraj klasu za siguran rad s vektorima na nacin da se sprijeci pristup elementima van granice polja. Klasa treba imati dva konstrukotra - u jednom se točno navodi veličina vektora a u drugom se podrazumijeva veličina od 10 elemenata. Za pristup elementima treba definirati funkciju elementi(i). Glavni program treba učitati dva vektora i ispisati njihov zbroj

Nisam bas vjest sa vektorima, no napisao sam dio coda

Code:

class Vektor[
   int velicina, i;
   vector<double>vektor=new vector<double>;
   Vektor(vector<double>);
   Vektor(vector<double>, int);
   double elementi(i);
   ~Vektor();

   Vektor::Vektor(vector<double>vektor){
      this. vector<double>vektor=vector<double>vektor;
      }

   double elementi(int i){
      return vektor(this.i=i;);
      }


Bio bih jako zahvalan na bilo kakvoj pomoci
 
Odgovor na temu

DjoleReject
Djordje Knezevic
Zvezdara

Član broj: 85258
Poruke: 309
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: [Zadatak] Nasledjivanje klase za rad s matricom, sigurni vektori28.09.2007. u 12:13 - pre 200 meseci
Kada nasledjujes konstruktore, mozes napisati
Code:

KonstruktorNoveKlase(){
Roditelj();
...
}


Suma:
u klasi Matrica definises sledecu funkciju:

Code:


friend Matrica Suma(const Matrica& m1, const Matrica& m2){

Matrica novaMatrica;

//ovde prodjes kroz elemente obe matrice i obavis mnozenje, a rezultat smestis u ovu novu

return novaMatrica;
}



Sto se tice vektora, trebalo bi da je vektor.at(i) bezbedna funkcija (umesto vektor), ali ako zelis bas obezbedjenje napises funkciju;
Code:

int element(int i){
if(i<0 || i>=vektor.size())
return 0; //Ovde bi trebalo baciti exception, ali kontam da ne znas sa njima. Vracanje nule je glupo, ali nesto moras vratiti.
//Najgore je da kazes da se ne desi nista, sto je moguce u C++u, ali moze da izazove sranja

return vektor.at(i);
}


Da bi ih sabirao, lepo je imati sledecu funkciju:

Code:


friend vector<int> operator +(const vector<int> v1, const vector<int> v2){
vector<int> rezultantni;
int duzina = v1.size() > v2.size() ? v2.size() : v1.size();
for(int i=0; i<duzina; i++){
rezultantni.push_back(v1.at(i) + v2.at(i));
}
//Ako su razlicite duzine, ne znam da li se ona razlika dodaje na ovo ili ignorise - guglaj;
return rezultantni
}


Nisam ovo isprobavao, ali valjda radi. Potrudi se da procitas neku zbirku iz C++a. Preporucujem da odradis neke zadatke, jer drugacije neces steci opustenost u ovim radnjama. Ako se odlucis za zbirku, uzmi u obzir Krausa, on se bas bavi ovakvim matematickim problemima.
De si Deda...
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Nasledjivanje klase za rad s matricom, sigurni vektori

[ Pregleda: 3245 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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