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

[Zadatak] Problem sa zadatkom

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Problem sa zadatkom

[ Pregleda: 1862 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kragujevcanin
Nenad Sredojevic
kragujevac

Član broj: 26524
Poruke: 66
*.adsl.verat.net.



Profil

icon [Zadatak] Problem sa zadatkom17.08.2009. u 17:35 - pre 178 meseci
Ovo je zadatak (visual c++)
Code:

#include <stdio.h> //zaglavlje
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
#include<time.h>

class vektor { //definicija klase
public:
vektor();
void show();
friend vektor operator+(vektor, vektor);
int vec[10];
};


vektor operator+ (vektor a, vektor b) //operator sabirahnja vektora
{
    vektor temp;
    for (int j=0; j<10; j++) temp.vec[j]=a.vec[j] + b.vec[j];
    return temp;

vektor::vektor(); //konstruktor

 srand ( time(NULL) );
 for (int i=0; i<10; i++)
 {
     vektor.vec[i] = rand()%10+1; //GRESKA BROJ 1 syntax error : missing ';' before '.' (DVBA PUTA U ISTOM REDU)
 }
 srand ( time(NULL) );
}


void vektor::show() //prikazuje vektor na ekranu  GRESKA BROJ 2  'show' : local function definitions are illegal
{
    cout<< "nasumicno generisani vektor-\t";
    for (int i=0; i<10; i++) cout<< vec[i];
}

void main() //kreira dva vektora pa drugi dodaje prvom.
{                                                                      //GRESKA BROJ TRI  'MAIN' : local function definitions are illegal
vektor prvi, drugi
prvi.show;
prvi=prvi=drugi
prvi.show();
}


Sve izgleda jednostavno (realno i jeste) ali mi prijavljuje GRESHKE.

[Ovu poruku je menjao X Files dana 17.08.2009. u 18:51 GMT+1]
to be continued...
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
*.telenor.co.yu.



+9 Profil

icon Re: [Zadatak] Problem sa zadatkom17.08.2009. u 18:51 - pre 178 meseci
Ajmo redom:

Prvo, što se tiče korekcije tvog koda da bi samo uspeo da kompajliraš:
1. Definicija f-je operator+ nema završnu vitičastu zagradu.
2. Skloni ";" iz prvog reda definicije konstruktora.
3. U definicji konstruktora ne treba koristiti vektor.vec, već samo vec zato što iz bilo koje f-je klase vektor pristupaš direktno poljima te klase, a i nigde ne postoji instanca klase koja se zove "vektor".
4. U main f-ji, prva tri reda nisu dobra. U prvom i u trećem si zaboravio ";" na kraju reda, a u drugom pozivaš f-ju show(), zaboravio si zagrade. Dakle, kao što si uradio u 4. redu. main f-ja po Standardu treba da vraća int, a ne void, ali to je manje bitno.


Drugo:
1. Tvoja klasa nema konstruktor kopije, operator=, destruktor. To ti treba da bi se kopiranja/uništavanje obavljalo tačno onako kako treba ako budeš rešio da zameniš polje vec nečim pametnijim.
2. Polje vec bi trebalo da bude privatno, a da obezbediš javne metode za čitanje i pisanje u njega. Takođe, ograničen si na vektor dužine 10, pa razmisli o dinamičkoj alokaciji pošto je ovako tvoj vektor poprilično beskoristan.
3. operator+ treba da ima kao argumente reference na vektore (tačnije reference na konstantne vektore), a ne da budu prosleđeni po vrednosti. Unutar operatora uskladi sabiranje sa eventualnom dinamičkom alokacijom (ako rešiš), a ne samo do 10 elemenata. Vodi računa o tome da vektori mogu da budu različitih dužina.
4. Takođe, vodi računa da se vrši konverzija u srand f-ji iz time_t u unsigned int ili tako nešto.

Po želji dodaj metode za rad sa vektorom... jer je ovako inače to poprilično "gola" klasa.
Možda sam nešto izostavio, jer nisam testirao tvoj kod.
 
Odgovor na temu

kragujevcanin
Nenad Sredojevic
kragujevac

Član broj: 26524
Poruke: 66
*.adsl.verat.net.



Profil

icon Re: [Zadatak] Problem sa zadatkom17.08.2009. u 18:56 - pre 178 meseci
Hvala!!
to be continued...
 
Odgovor na temu

milkinizz
Milka Aleksic
Kragujevac

Član broj: 70242
Poruke: 18
*.dynamic.sbb.rs.



Profil

icon Re: [Zadatak] Problem sa zadatkom20.08.2009. u 11:35 - pre 178 meseci
Caos,
spremam C++ i nasla sam ovaj tvoj zadatak pa ako nije postavi verziju koja radi-mislim da bi mi to pomoglo.
Veliki pozdrav od Kragujevcanke
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Problem sa zadatkom

[ Pregleda: 1862 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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