Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

zadatak s vježbi
WWW:
Idite na 1, 2  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Računarski praktikum 1
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
stjepan
Gost





PostPostano: 15:17 sub, 5. 6. 2010    Naslov: zadatak s vježbi Citirajte i odgovorite

imam jedan mali problem oko zadatka s vjezbi. ako bi mi netko mogao pojasniti sta radi ovaj komad koda. posebno za svaku funkciju :)
hvala

[code:1]template <class Type>
struct list
{
Type podaci[100];
int duljina;

list () { duljina = 0; }
void push_back (Type x) { podaci[duljina++] = x; }

struct iterator
{
list *otac;
int index;

Type &operator*() { return otac->podaci[index]; }
Type *operator->() { return &otac->podaci[index]; }

iterator &operator++() { if (*this!=otac->end()) index++; return *this; }
iterator operator++(int) { iterator temp(*this); if (*this!=otac->end()) index++; return temp; }

bool operator==(const iterator &it)
{ if (otac==it.otac && index == it.index) return 1; else return 0; }

bool operator!=(const iterator &it) { return !(*this == it); }

iterator (list *O, int i) { otac = O; index = i; }
};

iterator begin() { iterator rez(this, 0); return rez; }
iterator end() { return iterator(this, duljina); }

Type &operator[](int index) { return podaci[index]; }
};
[/code:1]
imam jedan mali problem oko zadatka s vjezbi. ako bi mi netko mogao pojasniti sta radi ovaj komad koda. posebno za svaku funkciju Smile
hvala

Kod:
template <class Type>
struct list
{
   Type podaci[100];
   int duljina;
   
   list () { duljina = 0; }
   void push_back (Type x) { podaci[duljina++] = x; }
   
   struct iterator
   {
      list *otac;
      int index;
      
      Type &operator*() { return otac->podaci[index]; }
      Type *operator->() { return &otac->podaci[index]; }

      iterator &operator++() { if (*this!=otac->end()) index++; return *this; }
      iterator operator++(int) { iterator temp(*this); if (*this!=otac->end()) index++; return temp; }
      
      bool operator==(const iterator &it)
      { if (otac==it.otac && index == it.index) return 1; else return 0; }
      
      bool operator!=(const iterator &it) { return !(*this == it); }
      
      iterator (list *O, int i) { otac = O; index = i; }
   };
   
   iterator begin() { iterator rez(this, 0); return rez; }
   iterator end() { return iterator(this, duljina); }
   
   Type &operator[](int index) { return podaci[index]; }
};


[Vrh]
stjepan
Gost





PostPostano: 16:43 sub, 5. 6. 2010    Naslov: Citirajte i odgovorite

Preciznije, nije mi jasno kako rade funkcije u sljedecem komadu koda:

[code:1] Type &operator*() { return otac->podaci[index]; }
Type *operator->() { return &otac->podaci[index]; }

iterator &operator++() { if (*this!=otac->end()) index++; return *this; }
iterator operator++(int) { iterator temp(*this); if (*this!=otac->end()) index++; return temp; }[/code:1]
Preciznije, nije mi jasno kako rade funkcije u sljedecem komadu koda:

Kod:
   Type &operator*() { return otac->podaci[index]; }
      Type *operator->() { return &otac->podaci[index]; }

      iterator &operator++() { if (*this!=otac->end()) index++; return *this; }
      iterator operator++(int) { iterator temp(*this); if (*this!=otac->end()) index++; return temp; }


[Vrh]
Cobs
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15)
Postovi: (206)16
Spol: muško
Sarma = la pohva - posuda
26 = 40 - 14
Lokacija: Geto

PostPostano: 16:05 ned, 6. 6. 2010    Naslov: Citirajte i odgovorite

[quote="stjepan"]Preciznije, nije mi jasno kako rade funkcije u sljedecem komadu koda:

[code:1] Type &operator*() { return otac->podaci[index]; }
Type *operator->() { return &otac->podaci[index]; }

iterator &operator++() { if (*this!=otac->end()) index++; return *this; }
iterator operator++(int) { iterator temp(*this); if (*this!=otac->end()) index++; return temp; }[/code:1][/quote]

znači po redu:

[code:1]Type &operator*() { return otac->podaci[index]; }[/code:1]

operator *, vraća referencu na podatak tipa Type
pointer otac u strukturi iterator predstavlja listu čiji je iterator.
index predstavlja poziciju na kojoj je trenutno iterator, pa taj operator vraća određeni element iz liste ( tj. polja podaci ). i na taj način možeš mjenjat elemente iz liste.

[code:1]Type *operator->() { return &otac->podaci[index]; }[/code:1]

operator -> vraća pointer na tip Type tj. vraća pointer na element liste, zato vraćaš adresu nekog elementa liste.

[code:1]iterator &operator++() { if (*this!=otac->end()) index++; return *this; }[/code:1]

operator ++ vraća referencu na iterator, prvo provjerava dal si na kraju liste il ne, pa ako nisi vraća referencu na samog sebe s povećanom pozicijom. ( prefix operator )

[code:1]iterator operator++(int) { iterator temp(*this); if (*this!=otac->end()) index++; return temp; }[/code:1]

vraća poziciju iterator na poziciji na kojoj je, ali povećava svoju poziciju ( postfix operator )
stjepan (napisa):
Preciznije, nije mi jasno kako rade funkcije u sljedecem komadu koda:

Kod:
   Type &operator*() { return otac->podaci[index]; }
      Type *operator->() { return &otac->podaci[index]; }

      iterator &operator++() { if (*this!=otac->end()) index++; return *this; }
      iterator operator++(int) { iterator temp(*this); if (*this!=otac->end()) index++; return temp; }


znači po redu:

Kod:
Type &operator*() { return otac->podaci[index]; }


operator *, vraća referencu na podatak tipa Type
pointer otac u strukturi iterator predstavlja listu čiji je iterator.
index predstavlja poziciju na kojoj je trenutno iterator, pa taj operator vraća određeni element iz liste ( tj. polja podaci ). i na taj način možeš mjenjat elemente iz liste.

Kod:
Type *operator->() { return &otac->podaci[index]; }


operator → vraća pointer na tip Type tj. vraća pointer na element liste, zato vraćaš adresu nekog elementa liste.

Kod:
iterator &operator++() { if (*this!=otac->end()) index++; return *this; }


operator ++ vraća referencu na iterator, prvo provjerava dal si na kraju liste il ne, pa ako nisi vraća referencu na samog sebe s povećanom pozicijom. ( prefix operator )

Kod:
iterator operator++(int) { iterator temp(*this); if (*this!=otac->end()) index++; return temp; }


vraća poziciju iterator na poziciji na kojoj je, ali povećava svoju poziciju ( postfix operator )


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
eve
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 07. 2009. (23:07:06)
Postovi: (192)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
-21 = 37 - 58

PostPostano: 14:52 ned, 8. 5. 2011    Naslov: Citirajte i odgovorite

Ima li neko mozda onaj zadatak koj smo pisali na vjezbama sa pravokutnicima i kvadratima (nasljedivanje)?
Ima li neko mozda onaj zadatak koj smo pisali na vjezbama sa pravokutnicima i kvadratima (nasljedivanje)?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
DeNardo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 03. 11. 2006. (09:20:30)
Postovi: (18)16
Spol: muško
Sarma = la pohva - posuda
= 4 - 3
Lokacija: Zagreb-Ludbreg

PostPostano: 21:24 uto, 10. 5. 2011    Naslov: Citirajte i odgovorite

jel bi mi mogao netko reci u koliko sati je sutra nadoknada vjezbi kod asistenta Petricevica?
unaprijed hvala
jel bi mi mogao netko reci u koliko sati je sutra nadoknada vjezbi kod asistenta Petricevica?
unaprijed hvala


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
ante003
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 10. 2008. (17:45:10)
Postovi: (3C5)16
Spol: muško
Sarma = la pohva - posuda
24 = 71 - 47

PostPostano: 21:26 uto, 10. 5. 2011    Naslov: Citirajte i odgovorite

[quote="eve"]Ima li neko mozda onaj zadatak koj smo pisali na vjezbama sa pravokutnicima i kvadratima (nasljedivanje)?[/quote]
imam ti ja ali mislim da nije do kraja dovrsen (nije mi se dalo radit za trokute :) )
ako oces, mogu ti poslati ovaj sa pravokutnikom i kvadratom
eve (napisa):
Ima li neko mozda onaj zadatak koj smo pisali na vjezbama sa pravokutnicima i kvadratima (nasljedivanje)?

imam ti ja ali mislim da nije do kraja dovrsen (nije mi se dalo radit za trokute Smile )
ako oces, mogu ti poslati ovaj sa pravokutnikom i kvadratom



_________________
Ako ste previše otvorenog uma, ispast će vam mozak
------------------------------------------------------
Racunalo bez Windowsa je kao riba bez bicikla
[Vrh]
Korisnički profil Pošaljite privatnu poruku
AR
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 03. 2011. (23:25:56)
Postovi: (D)16
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 21:48 uto, 10. 5. 2011    Naslov: Citirajte i odgovorite

[quote="DeNardo"]jel bi mi mogao netko reci u koliko sati je sutra nadoknada vjezbi kod asistenta Petricevica?
unaprijed hvala[/quote]

Sutra u deset ujutro...
DeNardo (napisa):
jel bi mi mogao netko reci u koliko sati je sutra nadoknada vjezbi kod asistenta Petricevica?
unaprijed hvala


Sutra u deset ujutro...


[Vrh]
Korisnički profil Pošaljite privatnu poruku
eve
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 07. 2009. (23:07:06)
Postovi: (192)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
-21 = 37 - 58

PostPostano: 11:09 sri, 11. 5. 2011    Naslov: Citirajte i odgovorite

[quote="ante003"][quote="eve"]Ima li neko mozda onaj zadatak koj smo pisali na vjezbama sa pravokutnicima i kvadratima (nasljedivanje)?[/quote]
imam ti ja ali mislim da nije do kraja dovrsen (nije mi se dalo radit za trokute :) )
ako oces, mogu ti poslati ovaj sa pravokutnikom i kvadratom[/quote]
Fala ti, uspjela sam nabavit
ante003 (napisa):
eve (napisa):
Ima li neko mozda onaj zadatak koj smo pisali na vjezbama sa pravokutnicima i kvadratima (nasljedivanje)?

imam ti ja ali mislim da nije do kraja dovrsen (nije mi se dalo radit za trokute Smile )
ako oces, mogu ti poslati ovaj sa pravokutnikom i kvadratom

Fala ti, uspjela sam nabavit


[Vrh]
Korisnički profil Pošaljite privatnu poruku
babybodom
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 06. 2009. (22:03:01)
Postovi: (31)16
Sarma = la pohva - posuda
-1 = 2 - 3
Lokacija: zagreb

PostPostano: 16:02 čet, 12. 5. 2011    Naslov: Citirajte i odgovorite

da li ipak netko moze tu objaviti taj zadatak
hvala :)
da li ipak netko moze tu objaviti taj zadatak
hvala Smile



_________________
may the noobishness be with you
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Marvin
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 01. 12. 2006. (15:46:10)
Postovi: (56)16
Sarma = la pohva - posuda
52 = 56 - 4

PostPostano: 8:55 pon, 16. 5. 2011    Naslov: Citirajte i odgovorite

[quote="babybodom"]da li ipak netko moze tu objaviti taj zadatak
hvala :)[/quote]
Od nedavno su dostupni na [url=http://web.math.hr/nastava/rp1/slideovi.php]službenim stranicama kolegija[/url].
babybodom (napisa):
da li ipak netko moze tu objaviti taj zadatak
hvala Smile

Od nedavno su dostupni na službenim stranicama kolegija.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
babybodom
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 06. 2009. (22:03:01)
Postovi: (31)16
Sarma = la pohva - posuda
-1 = 2 - 3
Lokacija: zagreb

PostPostano: 9:48 pon, 16. 5. 2011    Naslov: Citirajte i odgovorite

e super :)
hvala
e super Smile
hvala



_________________
may the noobishness be with you
[Vrh]
Korisnički profil Pošaljite privatnu poruku
-georges-
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 06. 2010. (18:47:06)
Postovi: (F)16
Spol: muško
Sarma = la pohva - posuda
-1 = 3 - 4

PostPostano: 9:14 ned, 29. 5. 2011    Naslov: Citirajte i odgovorite

jel može neko staviti tu na forum rješenje drugog kolokvija od asistenta petričevića? ili bar reći gdje je stavljeno ak je stavljeno. :)
jel može neko staviti tu na forum rješenje drugog kolokvija od asistenta petričevića? ili bar reći gdje je stavljeno ak je stavljeno. Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Gost






PostPostano: 17:38 sri, 8. 6. 2011    Naslov: Citirajte i odgovorite

imam jedan banalan problem u ovom dijelu koda:

[code:1]#include <iostream>
#include <string.h> //vidjeti da li se ovo ovako zove

class Sport {

private:
string prviProtivnik, drugiProtivnik;

public:
Sport (string s1, string s2)
{ //konstruktor za Sport
prviProtivnik=s1;
drugiProtivnik=s2;
}

};


class Boks : public Sport {

public:
Boks (string s1, string s2) : Sport (s1, s2)
{ cout << "U boks mecu je pocela prva runda!" << endl; }

};



class Tenis : public Sport {



};[/code:1]


mi javlja grešku: string does not name a type", da li itko zna mozda u cemu je problem?

Hvala!
imam jedan banalan problem u ovom dijelu koda:

Kod:
#include <iostream>
#include <string.h>    //vidjeti da li se ovo ovako zove

class Sport {

private:
string prviProtivnik, drugiProtivnik;

public:
Sport (string s1, string s2)
   {         //konstruktor za Sport
   prviProtivnik=s1;
   drugiProtivnik=s2;
   }

};


class Boks : public Sport {

public:
Boks (string s1, string s2) : Sport (s1, s2)
   { cout << "U boks mecu je pocela prva runda!" << endl; }

};



class Tenis : public Sport {



};



mi javlja grešku: string does not name a type", da li itko zna mozda u cemu je problem?

Hvala!


[Vrh]
kaj
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 11. 2009. (21:02:20)
Postovi: (B8)16
Sarma = la pohva - posuda
= 6 - 2

PostPostano: 17:50 sri, 8. 6. 2011    Naslov: Citirajte i odgovorite

fali ti "using namespace std" i kod includanja stringa, makni .h
fali ti "using namespace std" i kod includanja stringa, makni .h


[Vrh]
Korisnički profil Pošaljite privatnu poruku
.anchy.
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 11. 2007. (20:03:46)
Postovi: (1BC)16
Sarma = la pohva - posuda
= 15 - 11
Lokacija: Zgb

PostPostano: 15:03 sri, 22. 6. 2011    Naslov: Citirajte i odgovorite

ako imam npr. set stringova, i kada želim pristupiti prvom slovu nekog stringa u setu,kako ću to napraviti? Npr.set s={ABC,DEF,GHI}, i ja trebam znati koje je prvo slovo od ABC,kako to napravim?

Pokušala sam kao set<string>::iterator si=s.begin(); char p=(*s)[0];
ali naravno ne radi..
ako imam npr. set stringova, i kada želim pristupiti prvom slovu nekog stringa u setu,kako ću to napraviti? Npr.set s={ABC,DEF,GHI}, i ja trebam znati koje je prvo slovo od ABC,kako to napravim?

Pokušala sam kao set<string>::iterator si=s.begin(); char p=(*s)[0];
ali naravno ne radi..


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Gost






PostPostano: 15:34 sri, 22. 6. 2011    Naslov: Citirajte i odgovorite

Iterator si stavi na s.begin()
Pa string str=(*s)
Pa dohvati prvo slovo od str
Iterator si stavi na s.begin()
Pa string str=(*s)
Pa dohvati prvo slovo od str


[Vrh]
.anchy.
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 11. 2007. (20:03:46)
Postovi: (1BC)16
Sarma = la pohva - posuda
= 15 - 11
Lokacija: Zgb

PostPostano: 15:52 sri, 22. 6. 2011    Naslov: Citirajte i odgovorite

Baš bezveze,to dvoje je skoro pa isto :P
No,hvala!!
Baš bezveze,to dvoje je skoro pa isto Razz
No,hvala!!


[Vrh]
Korisnički profil Pošaljite privatnu poruku
krki
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 06. 07. 2011. (20:30:12)
Postovi: (2E)16
Sarma = la pohva - posuda
= 1 - 1

PostPostano: 15:47 sri, 2. 4. 2014    Naslov: Citirajte i odgovorite

Ima li netko ovdje za malu pomoć? Radi se o sljedećem zadatku s vježbi:
[quote]Napišite generičku implementaciju funkcije sort koja prima 2 parametra. Prvi je pokazivač na proizvoljan tip, a drugi je int. Prvi parametar pokazuje na nulti element polja, a drugi je broj elemenata polja. Funkcija treba sortirati elemente polja. U mainu-u pomoću ove funkcije sortirajte niz int-ova i string-ova.[/quote]

Riješio sam ovako:
zadatak3.h
[code:1]template <class T>
void swap (T a, T b){
T c;
c=a;
a=b;
b=c;
}

template <class T>
void sort (T* p, int a){
for(int i=0; i<a-1; ++i){
for(int j=i+1; j<a; ++j){
if(p[i]>p[j]) swap(p[i], p[j]);
}
}
}
[/code:1]

zadatak3.cpp
[code:1]#include <iostream>
#include <string>
#include "zadatak3.h"
using namespace std;


int main(){
int nizintova[] = {3, 2, 5, 7, 0, 1, 4};
sort(nizintova, 7);
for(int i=0; i<7; ++i)
cout<<nizintova[i]<<" ";
cout<<endl;

string nizstringova[] = {"abc", "aaa", "bac", "bca", "bab"};
sort(nizstringova, 5);
for(int i=0; i<5; ++i)
cout<<nizstringova[i]<<" ";
cout<<endl;
return 0;
}[/code:1]

Dobijem rezultat:
[quote]
3 2 5 7 0 1 4
aaa abc bab bac bca
[/quote]

Dakle, stringove mi sortira, ali intove ne. Nije mi jasno zašto.
Ima li netko ovdje za malu pomoć? Radi se o sljedećem zadatku s vježbi:
Citat:
Napišite generičku implementaciju funkcije sort koja prima 2 parametra. Prvi je pokazivač na proizvoljan tip, a drugi je int. Prvi parametar pokazuje na nulti element polja, a drugi je broj elemenata polja. Funkcija treba sortirati elemente polja. U mainu-u pomoću ove funkcije sortirajte niz int-ova i string-ova.


Riješio sam ovako:
zadatak3.h
Kod:
template <class T>
   void swap (T a, T b){
      T c;
      c=a;   
      a=b;
      b=c;
   }

template <class T>
   void sort (T* p, int a){
      for(int i=0; i<a-1; ++i){
         for(int j=i+1; j<a; ++j){
            if(p[i]>p[j]) swap(p[i], p[j]);
         }
      }
   }


zadatak3.cpp
Kod:
#include <iostream>
#include <string>
#include "zadatak3.h"
using namespace std;


int main(){
   int nizintova[] = {3, 2, 5, 7, 0, 1, 4};
   sort(nizintova, 7);
   for(int i=0; i<7; ++i)
      cout<<nizintova[i]<<" ";
   cout<<endl;
   
   string nizstringova[] = {"abc", "aaa", "bac", "bca", "bab"};
   sort(nizstringova, 5);
   for(int i=0; i<5; ++i)
      cout<<nizstringova[i]<<" ";
   cout<<endl;
   return 0;
}


Dobijem rezultat:
Citat:

3 2 5 7 0 1 4
aaa abc bab bac bca


Dakle, stringove mi sortira, ali intove ne. Nije mi jasno zašto.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Shirohige
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 11. 2012. (20:19:56)
Postovi: (ED)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 16:11 sri, 2. 4. 2014    Naslov: Citirajte i odgovorite

Fali ti par zvjezdica i 2 ampersand-a :

zadatak3.h :
[code:1]
template <class T>
void swap (T *a, T *b){
T c;
c=*a;
*a=*b;
*b=c;
}

template <class T>
void sort (T* p, int a){
for(int i=0; i<a-1; ++i){
for(int j=i+1; j<a; ++j){
if(p[i]>p[j]) swap(&p[i], &p[j]);
}
}
}
[/code:1]
Fali ti par zvjezdica i 2 ampersand-a :

zadatak3.h :
Kod:

template <class T>
   void swap (T *a, T *b){
      T c;
      c=*a;   
      *a=*b;
      *b=c;
   }

template <class T>
   void sort (T* p, int a){
      for(int i=0; i<a-1; ++i){
         for(int j=i+1; j<a; ++j){
            if(p[i]>p[j]) swap(&p[i], &p[j]);
         }
      }
   }


[Vrh]
Korisnički profil Pošaljite privatnu poruku
krki
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 06. 07. 2011. (20:30:12)
Postovi: (2E)16
Sarma = la pohva - posuda
= 1 - 1

PostPostano: 11:32 čet, 3. 4. 2014    Naslov: Citirajte i odgovorite

Radi, :thankyou:
Radi, Thank you


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Računarski praktikum 1 Vremenska zona: GMT + 01:00.
Idite na 1, 2  Sljedeće
Stranica 1 / 2.

 
Forum(o)Bir:  
Možete otvarati nove teme.
Možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan