Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.285
|
čitano: 1.713.634
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Kad napravim header sa klasom i include-am ga,pise "No such file or directory".

Zato što si ga stavio u izlomljene zagrade "<>" umjesto u navodnike. Izlomljene zagrade govore da se header koji pokušavaš includeati nalazi u standardnom folderu za headere koji dolaze s kompajlerom. Tvoj header se neće nalaziti tamo (osim ako ga baš tamo namjerno ne staviš) nego vjerojatno u istom folderu sa ostalim source datotekama programa. Stoga ime takvog headera trebaš staviti pod navodnike.

 

Dakle umjesto:

#include <klasa.h>

 

treba ići:

#include "klasa.h"

 

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put pet 20.7.2012 17:07 (rustweaver).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Kakav bih program mogao napraviti da malo testiram svoje znanje,nesto ne pre jednostavno ni pre tesko?

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Kakav bih program mogao napraviti da malo testiram svoje znanje,nesto ne pre jednostavno ni pre tesko?

Index ocjena, imenik...

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Kakav bih program mogao napraviti da malo testiram svoje znanje,nesto ne pre jednostavno ni pre tesko?

Pa valjda si počeo učiti programiranje zato što si na umu imao nešto konkretno što bi htio raditi? Dakle što bi htio programirati?

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pa kad sam poceo razmisljao sam o game devu :DDD

 

 

A sad nemam nikakvu ideju,samo ono sto mi je royalhero predlozio.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put pet 20.7.2012 17:12 (FireMan97).
Moj PC  
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Pa kad sam poceo razmisljao sam o game devu :DDD

Pa zasto onda ne napravis neku text based igru i tu iskoristis svoje znanje. Tu se mozes nesto konkrentno napraviti, pa s vremenom dok sve vise ucis to pomalo nadogradujes.

Twitter- @capttawish Linux/GNU live forever.
Poruka je uređivana zadnji put pet 20.7.2012 17:13 (captain_soap_McTawish).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Nikad nisam igrao text based igre.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Nikad nisam igrao text based igre.

Ma mislio sam neku obicnu igru gdje se sve ispisuje u obliku teksta u konzoli. Bit toga je da na taj nacin utvrdis neke osnovne koncepte programiranja, posebno OOP.

Twitter- @capttawish Linux/GNU live forever.
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Mozes li mi dati neki primjer,za mene je to 500 if uvjeta(ili switch).

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Pa kad sam poceo razmisljao sam o game devu :DDD

I ja :D Ali je sudbina htjela da pišem sve i svašta samo ne igre :D

 

FireMan97 kaže...

A sad nemam nikakvu ideju,samo ono sto mi je royalhero predlozio.

Tko je rekao da ideja mora biti originalna? Osim toga, izrada igara je dobar motiv za početi učiti 2D grafiku, animaciju i kontrole. Stvar je u tome da sada još uvijek znaš malo, ali ako ćeš svoje projekte ograničavati strogo na ono što znaš onda nikada ništa novo nećeš naučiti.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
captain_soap_McTawish kaže...

Imam pitanje u vezi privremenih objekata:

#include <iostream>

class vector{
friend void addVectors(vector &a, vector &b, vector &c);
private:
    static int numObjects;
    double ax,ay;
    int num;
public:
    vector(double x=0,double y=0):ax(x),ay(y),num(++numObjects){
       std::cout<<"Vector "<<num<<" created."<<std::endl;
    }
    vector(const vector& copy):ax(copy.ax),ay(copy.ay),num(++numObjects){
       std::cout<<"Vector "<<copy.num<<" copied into vector "<<num<<std::endl;
    }
    ~vector(){
       std::cout<<"Vector "<<num<<" destroyed."<<std::endl;
    }
    double getX(){return ax;}
    double getY(){return ay;}
    void set(double x, double y){ax = x; ay=y;}
};

int vector::numObjects = 0;

void addVectors(vector &a,vector &b,vector &c){
    c.ax = a.ax + b.ax;
    c.ay = a.ay + b.ay;
}
int main(){
    vector c;
    addVectors(vector(),vector(),c);
    return 0;
}

 

Male mi probleme stvara ova funkcija addVectors jer mi g++ prikaze error:

object_2.cpp:32:32: error: invalid initialization of non-const reference of type ‘vector&’ from an rvalue of type ‘vector’
object_2.cpp:26:6: error: in passing argument 1 of ‘void addVectors(vector&, vector&, vector&)’

Jasna mi je poruka kompajlera da vector() nije konkrenta lvrijednost vec rvrijednost i ne bi se smjela pridruzivati referenci. No po demistificiranom C++-u ovo bi trebalo raditi jer ce stvoriti privremeni objekt i onda proslijediti adresa toga objekta funkciji. Moze li mi netko pojasniti u cemu je problem?

 

 

 

@captain_soap_McTawish

Odgovorio sam ti prvi put na brzinu ne pročitavši dio u kojem navodiš da znaš
kako treba proslijediti objekte i kako te zanima zašto ne radi s temporary object-ima.
Došao doma s posla i sad na brzinu pročito post ponovo i prošao par postova iza.

Kao što ti veli @TracerCpp , riječ je o compileru kojem je po starom standardu bilo to
moguće kompilirati.Nakon toga je ispravljeno nedopuštanjem čistih referenci na rvalue.
Stvar je delikatna jer do nedavno official c++ nije imao mehanizama kako razlikovati
privremeni od iniciranog stalnog objekta.
U C++11 (znači danas punokrvni važeći C++ core) ta dilema je riješena.
Kroz rvalue referenceses moguće je raditi distinkciju među navedenim i time ubrzati
kod ionako fast c++-a.
Gotovo je s nemilim kopiranjem , ludim kopiranjima i destruiranjima prijevremenih objekata.
Više o svemu jako brzo i jasno na http://www.cprogramming.com/c++11/rvalue-references-and-move-semantics-in-c++11.html

Back to the subject odnosno tvoj primjer konkretno.
U funkciji stavi const ispred referenci na temp.object i stvar radi jer su vrijednosti sad
only read value te nema opasnosti kako ćeš mijenjati objekte koji će biti u trenutku dead.


#include <iostream>

class vector{
friend void addVectors(const vector &a,const vector &b, vector &c);
private:
    static int numObjects;
    double ax,ay;
    int num;
public:
    vector(double x=0,double y=0):ax(x),ay(y),num(++numObjects){
       std::cout<<"Vector "<<num<<" created."<<std::endl;
    }
    vector(const vector& copy):ax(copy.ax),ay(copy.ay),num(++numObjects){
       std::cout<<"Vector "<<copy.num<<" copied into vector "<<num<<std::endl;
    }
    ~vector(){
       std::cout<<"Vector "<<num<<" destroyed."<<std::endl;
    }
    double getX(){return ax;}
    double getY(){return ay;}
    void set(double x, double y){ax = x; ay=y;}
};


int vector::numObjects = 0;

void addVectors(const vector &a,const vector &b,vector &c){
    c.ax = a.ax + b.ax;
    c.ay = a.ay + b.ay;
}
int main(){
    vector c;
    addVectors(vector(),vector(),c);

    std::cout<< "Temporary objects are destroyed" << std::endl
             <<std::endl << "Here goes vector c" << std::endl;

    return 0;
}

Poruka je uređivana zadnji put pet 20.7.2012 19:42 (nik_02).
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
nik_02 kaže...

Hvala na odgovoru, to je ono sto sam trazio. Knjiga je inace iz 2010. i to je valjda u tadasnjim verzijama kompajlera bilo moguce. Sto se tice c++11 standarda, dosada sam se susreo sa konstruktorom pomaka(eng. move constructor) i nastojim koristiti njegove mogucnosti.

 

No malo zbunjuje taj C++11 standrad. Je li on sluzbeno prihvacen? g++ jos zahtijeva da se pomocu switcha( -std=c++11) posebno naglasi da se koristi taj standard.

 

 

Twitter- @capttawish Linux/GNU live forever.
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Koliko znam u novom Visual C++-u C++11 radi uredno, probam za koji dan pa javim.

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Kako da naucim algoritme,gledam zadatke sa drzavnog za 7 razred i nista ne kuzim :(
HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
Kako da naucim algoritme,gledam zadatke sa drzavnog za 7 razred i nista ne kuzim :(

a da probaš prvo sa školskog...

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
Kako da naucim algoritme,gledam zadatke sa drzavnog za 7 razred i nista ne kuzim :(

 Pa vjezbanjem, kako bi drugacije.

Kakav bi cilj imali ti zadaci kada bi ti sve bilo jasno? Zadaci i jesu tu da se mucis, razvijas logiku programiranja... Ako bas zapnes pogledas rjesenje, ali ne ga C/P, nego sa razumjevanjem "prepisi" u svoj problem.

17 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Za one koje zanima jako mali DL za g++ 4.7(dakle to ili clang je trenutno najC++11 compiler sto se tice featurea)

http://nuwen.net/mingw.html

Dobijete i boost, vise manje set tone librarya, pogledajte na boost.org detalje.

Naravno ne dobijete IDE, ali za isprobavanje ovo je super.

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
Kako da naucim algoritme,gledam zadatke sa drzavnog za 7 razred i nista ne kuzim :(

Moze link za te zadatke?

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori
HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pokusavam rijesiti prvi algoritam ali sam nesto fualo a nevidim sta.

 

 

 

#include <iostream>

using namespace std;

int main()
{
    int brojevi[3];
    int zbroj;
    int pkilometri;
    cin >> brojevi[0] >> brojevi[1] >> brojevi[2];
    zbroj = brojevi[0] + brojevi[1] + brojevi[2];

    for(int i = 0; i <= zbroj; i++)
    {
        pkilometri += i * 2;
    }

    cout << pkilometri;

    return 0;
}

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put sub 21.7.2012 13:31 (FireMan97).
Moj PC  
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Pokusavam rijesiti prvi algoritam ali sam nesto fualo a nevidim sta.

 

#include <iostream>

using namespace std;

int main()
{
    int brojevi[3];
    int zbroj = 0;
    int pkilometri = 0;
    cin >> brojevi[0] >> brojevi[1] >> brojevi[2];
    zbroj = brojevi[0] + brojevi[1] + brojevi[2];

    for(int i = 0; i <= zbroj; i++)
    {
        pkilometri += i * 2;
    }

    cout << pkilometri;

    return 0;
}

Etogac!

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Rijesio sam yeah,nisam inicijalizirao na 0 :D
HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
Rijesio sam yeah,nisam inicijalizirao na 0 :D

Ma bitno je da si algoritam shvatio, ako si shvatio, za te manje greškice treba samo malo pažnje. {#}

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Ma shvatio sam,ono sam pisao uvecer dok ga jos nisam ni procitao sa razumjevanjem.
HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Jesi li rijesio ostale?

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Nisam :(,podesavao sam NetBeans.
HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori
HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Prvi primjer..

B001

B010

1

A100

 

Uzmes razmak izmedju zadnjeg i prvog (u ovom slucaju je 10),i ako se oznaka umirovljenog nalazi izmedju oznake prvog i zadnjeg oduzmes 1 od razlike prvog i zadnjeg..

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ok to cu poslje probat,sad sam probao ovaj: https://www.infokup.hr/Content/Downloads/2012/Algoritmi/Zadaci-Skolsko-2012-Algoritmi-Srednja-I.pdf, Kockice i evo kod:

 

#include <iostream>

using namespace std;

int main()
{
    int kocka[6];
    int kockica = 1;
    cin >> kocka[0] >> kocka[1] >> kocka[2] >> kocka[3] >> kocka[4] >> kocka [5];
    for(int i = 0; i <= 6; i++)
    {
        if(kocka[i] == kocka[0] || kocka[1] || kocka[2] || kocka[3] || kocka[4] || kocka[5])
        {
            kockica++;
        }
    }
    cout << kockica << endl;
    return 0;
}


I neradi mi :(

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
E-mail:
Lozinka:
 
vrh stranice