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

poruka: 7.285
|
čitano: 1.712.796
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Broken kaže...
Radili smo danas na vjezbama klase i objekte, bio nam je u vjezbi primjer sa racunanjem radijusa, zanima me zasto se kod klasa/objekata ne moze staviti negativna vrijednost broja za radijus, to diktira objekt ili ?

U svoj objekt možeš staviti što god želiš tj. kako to definiraš u samoj klasi. Dakle, do objekta je.

 

Broken kaže...
Zašto mi sluši private i public znam otprilike po imenu skuziti ali zašto će mi npr. private zašto da držim nešto pod time?

Jedno od svojstava C++ je skrivanje podataka tj. ne dopušta se direkta izmjena nekog podatka jer to za sobom može povlačiti i neke druge izmjene u programu koje bi programer eventualno zaboravio ili sl. Zato se često takvi podaci stavljaju kao privatni, a funkcije koje im pristupaju kao javne (npr. get i set funkcije):

 

class A{
    private:
        int n;
    public:
        int getN() { return n }
        void setN(int x) { n = x }
};   

Broken kaže...
Za šta mi služe konstruktor i destruktor?

Za inicijalizaciju i deinicijalizaciju objekta. Konstruktor se pokreće kad se objekt stvara a destruktor kad se uništava. Najlakše je to prikazati dinamičkom instancom klase:

 

class A{
    public:
    A(){
       cout << "Objekt stvoren!\n";
    }
    ~A(){
       cout << "Objekt uništen!\n";
    }
};
int main(){
    A *p;
    p = new A(); // poziv konstruktora
    delete p; // poziv destruktora
    return 0;
}

Tu je sad puno teorije koja uključuje preopterećenje konstruktor, rad konstruktora i destruktora s statičkim objektima itd..

 

Broken kaže...
Je li klasa kao neki opis objekta ili ako mi možete samo objasniti razliku ukratko između klase i objekta jer mi je to sve svježe pa da nebi dalje brkao ta dva pojma? 

Klasa je opis - ne zauzima mjesto u memoriji. Objekt zauzima mjesto u memoriji.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Broken kaže...
Radili smo danas na vjezbama klase i objekte, bio nam je u vjezbi primjer sa racunanjem radijusa, zanima me zasto se kod klasa/objekata ne moze staviti negativna vrijednost broja za radijus, to diktira objekt ili ?

Tko kaže da ne može? Možeš ga ti upisati i on (negativan broj) će biti uredno spremljenu varijablu, ali upitaj se što ćeš dobiti kada računaš površinu kruga sa negativnim polumjerom? Kakav je to uopće negativan polumjer? :D

 

Broken kaže...
Zašto mi sluši private i public znam otprilike po imenu skuziti ali zašto će mi npr. private zašto da držim nešto pod time?

Pod private stavljaš interne komponente objekta kojima nitko ne bi trebao pristupati "izvana". Služi ti kako bi prisilio određeni način korištenja objekta, bez nekakvih potencijalno opasnih prečica.

 

Broken kaže...
Za šta mi služe konstruktor i destruktor?

Konstruktor je funkcija koja postavlja početne vrijednosti varijabli objekta, tj. postavlja ga u neko početno stanje. Destruktor se uglavnom koristi za oslobađanje nekakvih resursa (radna memorija recimo) koje je objekt mogao alocirati za sebe za svog vijeka. Gledaj ovako: konstruktor je funkcija koja se izvršava čim instanciraš objekt, destruktor je funkcija koja se izvršava kada ga uništavaš, pa ti gledaj što bi bilo korisno staviti u njih.

 

Broken kaže...
Je li klasa kao neki opis objekta ili ako mi možete samo objasniti razliku ukratko između klase i objekta jer mi je to sve svježe pa da nebi dalje brkao ta dva pojma?

Da. Klasa je opis, šablona objekta. Objekt je instanca te klase u memoriji.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Broken kaže...
1)Radili smo danas na vjezbama klase i objekte, bio nam je u vjezbi primjer sa racunanjem radijusa, zanima me zasto se kod klasa/objekata ne moze staviti negativna vrijednost broja za radijus, to diktira objekt ili ?
2)Zašto mi sluši private i public znam otprilike po imenu skuziti ali zašto će mi npr. private zašto da držim nešto pod time? Za šta mi služe konstruktor i destruktor?
3)Je li klasa kao neki opis objekta ili ako mi možete samo objasniti razliku ukratko između klase i objekta jer mi je to sve svježe pa da nebi dalje brkao ta dva pojma? Ne trebate mi stavljati nešto iz knjiga nego riječima kako ste vi shvatili?
Hvala.

1) Boldano. Pa ako je taj objekt kruznica, da, onda u neku ruku diktira. Reci mi, jesi li ikada vidio kruznicu s negativnim radijusom? {#} Inace, samo po sebi, ti mozes staviti kao radijus bilo sto.

2) Sluze ti kao access specifier-i, tj. odreduju razinu pristupa clanovima (i funkcijskim i podatkovnim) sto je jedan od temeljnih nacela OOP-a - data hiding iliti skrivanje podataka

public - svi clanovi pod public su dostupni od bilo kuda gdje je objekt vidljiv

protected - clanovi pod protected su dostupni samo clanovima iste klase, klase prijatelja i clanovima izvedenih klasa (deriviranih, kako ti je draze)

private - clanovi pod private su dostupni samo clanovima iste klase i klase prijatelja

3) Da, klasa je nacrt za objekt. Ti dakle pises neku klasu i definiras njezine clanove i sve to. Kad stvoris objekt, stvoris ga na temelju nacrta klase, objekt je tada instanca te klase..

 

EDIT: A joj, al se trgamo da odgovorimo {#}

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
Poruka je uređivana zadnji put sri 7.11.2012 20:39 (1domagoj1).
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pa biti će prvi put da se svi slažemo u nečemu {#}

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Moj PC  
3 0 hvala 0
16 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...
CovjekToplomjer kaže...

Daleko sam od roota, nemam "muda" kopat tamo a ako je drugi_pokusaj4.exe vec pokrenut onda nebih mogao ni kompajlat kod, mislim ova greska se samo ponekad javlja i to redovito kad radim s datotekama  {#}

Hvala na trudu al ne znam sto cu...

Znaci ne pojavljuje se inace, samo kad radis s datotekama? Onda je ocito u tome problem.

Problem je u tome što Win7 traži Admin ovlasti sa UACa da bi neki program mogao prtljati po C: disku.

 

Rješenje - Run as Administrator ili preseli sve na neku drugu particiju di UAC nema nekog interesa.

http://nighthawk-software.blogspot.com/
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Sum_of_all_fears kaže...

Problem je u tome što Win7 traži Admin ovlasti sa UACa da bi neki program mogao prtljati po C: disku.

 

Rješenje - Run as Administrator ili preseli sve na neku drugu particiju di UAC nema nekog interesa.

Da, to sam si i mislio, zato sam i napomenuo da mozda u rootu ne pokusava to, doduse, ne znam puno o Winsima i njihovim permissionima (jel takvo nesto uopce postoji na Windowsima - u pravom smislu te rijeci?), ali mislim da se to ne bi trebalo odnositi na \Users\Ime_usera\ direktorij(e)?

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
16 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...

Da, to sam si i mislio, zato sam i napomenuo da mozda u rootu ne pokusava to, doduse, ne znam puno o Winsima i njihovim permissionima (jel takvo nesto uopce postoji na Windowsima - u pravom smislu te rijeci?), ali mislim da se to ne bi trebalo odnositi na \Users\Ime_usera\ direktorij(e)?

Dobro si rekao.

 

Premissioni postoje ali u nekom jednostavnijem obliku nego na linux sustavima. Veći dio uloge igra UAC koji ne dopušta svima modifikacije pod C: disku i drži specijalne "permissione" na folderima od samih windowsa (od update isto) i bez posebnog preuzimanja ovlasti takve foldere ne možeš ni otvoriti a kamo što drugo.

 

Ugl. C: je kompletan pod nadzorom + specijalni fajlovi i folderi na drugim mjestima koji su vezani za funkcioniranje samih windowsa (čak i thumb.db fajlovi).

 

Ostalo je pod ovlastima onog usera koji je kreirao taj folder (admin ili power user, nekad i obični user) dok \Public mogu svi modificirati.

 

\Users\ime_usera\ je pod potpunom kontrolom tog usera osim thumb.db fajlova (i još nekih). Dakle, bilo bi dobro kao home od projekta postaviti \Users\ime_korisnika\Projekti. Za sve ostale lokacije IDE ili što već treba pokretati kao Administrator tj. "Run as Administrator".

 

Malo smo u offtopicu ali pitanje vezano za nedostupne fajlove i probleme kod pokretanja vidimo barem 2-3 puta na 5 stranica tako da... Ovo će poslužiti nekome.

 

[edit] - ovo se odnosi samo na Vistu/Win7/Win8 i ostali 6.0 kod, XPu se živo hebe di ćeš pisati, samo da fajl nije u uporabi (mada i to uspije zabrljati kad locka fajlove i čitave foldere iz samo njemu znanih razloga {#})

 

[edit 2] - kad smo već kod specifičnosti dozvola, ima nešto i u Registryu. Ako niste admin tj. UAC nije dao dozvolu, sve osim HKCU je off limits (osim za čitanje). Dakle, HKLM koji je ponekad dosta bitan je dostupan samo za čitanje...

http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put sri 7.11.2012 22:28 (Sum_of_all_fears).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ne sljaka to s administratorom, probat cu prebacit na drugi disk pa vidjeti.
Poceo sam bombardirati pitanjima :D
Eto malo sam se zesce uhvatio programiranja ovih dana pa otkrivam rupe u "znanju" {#}

 

Opet bi me zanimalo kako mogu postavit kursor na zadnji zapis u polju, npr polje je duljine 100 a ja imam samo 5-6 zapisa. Da li je to moguce uopce ili se moram pozicionirat bas na kraj polja ?

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Hvala svima na pomoći zanima me još čemu služi ova oznaka ::, da li točka služi samo da mi ona povezuje objekt sa funkcijama koliko sam uspio vidjeti u par primjera?

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

Hvala svima na pomoći zanima me još čemu služi ova oznaka ::, da li točka služi samo da mi ona povezuje objekt sa funkcijama koliko sam uspio vidjeti u par primjera?

:: global scope operator(više sam u PHP-u, pa ti nemogu dati konkretan primjer) i definira doseg varijable. Ukoliko pristupaš objektu izvan hm, glavne klase, namespace, čega već, prije varijable stavljaš ime klase, namespace, i tako sve dok ne dodješ do "parent" klase i odvajaš sa :: . Sorry ako sam ti zakomplicirao.

15 godina
online
Re: Programiranje u C++-u - pitanja i odgovori
Broken kaže...

Hvala svima na pomoći zanima me još čemu služi ova oznaka ::, da li točka služi samo da mi ona povezuje objekt sa funkcijama koliko sam uspio vidjeti u par primjera?

To je operator za razlucivanje podrucja( scope resulution operator). On se najcesce koristi kada pristupas clanovima nekog imenika (namespace):

std::cout << "Hello World" << std::endl;

sf::Image slika();

 

Zatim se koriste kada neke clanove klase definiras izvan deklaracije klase :

class Player{
private:
      static int numPlayers;
      int playerIndex;
      int health;
      int xPos, yPos;
public:
    Player();
      void move(int xOffset, int yOffset);
      void damage(int lostHealth);
      static int getNumPlayers();
}

Player::numberOfPlayers = 0;

Player::Player(){
      numPlayers++;
      playerIndex = numPlayers;
      health = 100;
      xPos = 0;
      yPos = 0;
}

void Player::move(int xOffset, int yOffest){
      xPos += xOffset;
      yPos += yOffset;
}

void Player::damage(int lostHealth){
      health -=lostHealth;
}

int Player::getNumPlayers(){
      return numPlayers;
}

 

Kada nekom od tih clanova pristupamo preko objekta onda koristimo . :

Player enemy;
...
enemy.damage(10);

, kada preko reference ili pokazivaca onda koristimi -> :

Player* mainPlayer = new Player();
...
mainPlayer->move(10,10);

 

 

Zatim, kada preko imena klase, pristupamo statickim clanovima klase onda koristimo operator razlucivanja pdrucja.

std::cout << "Number of Player" << Player::getNumPlayers() << std::endl;

 

I kada operator razlucivanja podrucja nalazi ispred imena varijable ili funkcije, a ispred njega se ne nalazi neki indetifikator, onda se odnosi na to da ta varijabla ili funkcija dolazi iz globolnog podrucja:

#include <game.h>


//globalno podrucje
int numPlayers = 10;

bool checkNUmPlayers(int numPlayers){
    if(numPlayers != ::numPlayers)
              return false
    return true;
}

Dakle ovdje imamo dvije varijable s indetifikatorom numPlayers, jedna je od njih lokalna tj. pripada funkciji, a druga je globalna. I ako hocemo koristiti globalnu, onda moramo to naglasiti pomocu ::. Koristenje vise varijabli sa istim imenom (kao u zadnjemu primjeru) se smatra losom praksom.

I would love to change the world, but they won't give me the source code
Poruka je uređivana zadnji put uto 13.11.2012 19:51 (captain_soap_McTawish).
15 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
captain_soap_McTawish kaže...

Dakle ovdje imamo dvije varijable s indetifikatorom numPlayers, jedna je od njih lokalna tj. pripada funkciji, a druga je globalna. I ako hocemo koristiti globalnu, onda moramo to naglasiti pomocu ::. Takve se stvari uglavnom moraju izbjegavati jer se to smatra losom praksom.

Što se smatra lošom praksom? {#} Korištenje global scope resloution operatora, ili dvije različite varijable od kojih svaka ima svoj scope?

 

NHF, naravno da znam, ali nekome bi ova zadnja rečenica mogla stvoriti potpunu pomutnju. U svakom slučaju pozdravljam primjer koji si postavio,  a sada bježim iz ove teme.

14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Loša je praksa korištenje globalnih varijabli, a korištenje :: tj. scope operatora je svakako preporučljivo kada se pišu tijela metoda (funkcija članica). Štoviše, svaka funkcija čije tijelo se napiše unutar definicije klase a ne korištenjem scope operatora je automatski inline tj. umetnuta funkcija, što je pogubno za performanse ukoliko je takva funkcija kompleksna.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put čet 8.11.2012 20:45 (TracerCPP).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...

Loša je praksa korištenje globalnih varijabli, a korištenje :: tj. scope operatora je svakako preporučljivo kada se pišu tijela metoda (funkcija članica). Štoviše, svaka funkcija čije tijelo se napiše unutar definicije klase a ne korištenjem scope operatora je automatski inline tj. umetnuta funkcija, što je pogubno za performanse ukoliko je takva funkcija kompleksna.

Kako mi je ovo promaknulo? Uopce mi nije palo na pamet, sad bas gledam u Demistificiranom.

 

Glede drugog dijela. Kakve tocno performanse? Inline ekspanzijom programer zapravo trazi od kompajlera da u svako pojavljivanje poziva neke funkcije ubaci kompletno tijelo te funkcije umjesto da generira kod za poziv te f-je koja je definirana na samo jednom mjestu. Motivacija koja stoji iza toga je smanjivanje overheada kod poziva funkcije. S tim da kompajler nije obavezan ispuniti zahtjev za inline-anjem f-je. Izvrsni kod ce biti veci u svakom slucaju, ali nije mi konkretno jasno kako bi to lose utjecalo na performanse, zapravo se f-je koje se cesto pozivaju najcesce i inline-aju.

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Inline je zamišljen da bi povećao performanse tj. da izbjegne traženje i odlazak programa na lokaciju zadane funkcije već da njeno tijelo odmah kopira na mjesto poziva. To super radi za npr. obične get i set funkcije, no ako je funkcija velika i kompleksna onda može doći do raznih problema:

 

1) May increase function size so that it may not fit on the cache, causing lots of cahce miss.
2) After in-lining function if variables number which are going to use register increases than they may create overhead on register variable resource utilization.
3) It may cause compilation overhead as if some body changes code inside inline function than all calling location will also be compiled.
4) If used in header file, it will make your header file size large and may also make it unreadable.
5) If somebody used too many inline function resultant in a larger code size than it may cause thrashing in memory. More and more number of page fault bringing down your program performance.
6) Its not useful for embeded system where large binary size is not preferred at all due to memory size constraints.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...

Inline je zamišljen da bi povećao performanse tj. da izbjegne traženje i odlazak programa na lokaciju zadane funkcije već da njeno tijelo odmah kopira na mjesto poziva. To super radi za npr. obične get i set funkcije, no ako je funkcija velika i kompleksna onda može doći do raznih problema:

 

1) May increase function size so that it may not fit on the cache, causing lots of cahce miss.
2) After in-lining function if variables number which are going to use register increases than they may create overhead on register variable resource utilization.
3) It may cause compilation overhead as if some body changes code inside inline function than all calling location will also be compiled.
4) If used in header file, it will make your header file size large and may also make it unreadable.
5) If somebody used too many inline function resultant in a larger code size than it may cause thrashing in memory. More and more number of page fault bringing down your program performance.
6) Its not useful for embeded system where large binary size is not preferred at all due to memory size constraints.

Ok, sve je vise manje u redu, embedded sustave nisam ni racunao, to se zna da je tu malo memorije.

Znaci pricamo o toliko velikoj funkciji koja bi mogla cache napunit (i prepuniti). Kul :D

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozz

Instalirao sam Borland 5.02 i imam jedan problemcic, tek sam poceo sa programiranjem i radio sam jedan primjer, i kad stavim getch() kaze mi da je nedefinirana funkcija, koliko ja znam bibloteka stdio.h

sadrzi funkcije za unos i ispis tako da neznam u čemu je problem

 

EDIT: rijesio sam stvar..:)

Poruka je uređivana zadnji put pet 9.11.2012 11:29 (the devil).
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

pitanje

morao sam napisati dvije implementacije liste, pomocu polja i pomocu pokazivaca, i onda u svom glavnom programu ih pozovem, program mora neovisno raditi o tome koju ja biblioteku tj header includam

 

Imam problem da kad icludam pomocu polja treba mi jedan continue u kodu glavnog progrma, dok za pokazivace nesmije biti (smeta mu)

 

Dal postoji neka caka, da ovisno o tome koju ja biblioteku includam da mi se 'continue' npr izbrise ili skomentira,ili da ju jednostavno ignorira?   {#}

 

 

Sex is like Nokia (connecting people), like Nike (just do it), like Pepsi (ask for more) and like Samsung ( everyone is invited)
 
0 0 hvala 0
15 godina
online
Re: Programiranje u C++-u - pitanja i odgovori
kc-kb kaže...

pitanje

morao sam napisati dvije implementacije liste, pomocu polja i pomocu pokazivaca, i onda u svom glavnom programu ih pozovem, program mora neovisno raditi o tome koju ja biblioteku tj header includam

 

Imam problem da kad icludam pomocu polja treba mi jedan continue u kodu glavnog progrma, dok za pokazivace nesmije biti (smeta mu)

 

Dal postoji neka caka, da ovisno o tome koju ja biblioteku includam da mi se 'continue' npr izbrise ili skomentira,ili da ju jednostavno ignorira?  {#}

Jedino sto mi pada na pamet je da u header fileove postavis guardove(ako vec nisi), i onda pomocu pretprocesorcskih naredbi ukljucis naredbu po zelji. Npr.

Header:

header.h

#ifndef HEADER_H
#define HEADER_H
...
...
#endif

 

Ovo gore iznad, sprjecava da pri kompajlanu neki header greskom ukljuci dva puta. Za ovo sto ti zelis, #define HEADER_H je dovoljno, #ifndef HEADER_H i #endif sluzi za ovo sto sam naveo.

 

I sada ako hoces da neke naredbe budu ukljucene, kad ukljucis ovaj header onda samo dodas:

#include "header.h"
.....
#ifdef HEADER_H
//naredbe koje zelis da budu ukljucene
#endif
....

A ako zelis neke naredbe iskljuciti kada ovaj header bude ukljucen, onda koristis #ifndef:

#include "header.h"
.....
#ifndef HEADER_H
//naredbe koje zelis da budu iskljucene
#endif
....

 

EDIT:

Ispravljeno.

I would love to change the world, but they won't give me the source code
Poruka je uređivana zadnji put sub 10.11.2012 14:48 (captain_soap_McTawish).
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
captain_soap_McTawish kaže...

 

  znaci   dok imam #include "lista_pokazivac.h" , onda ne zelim continue

 

#ifndef "lista_pokazivac.h"
continue;
#endif

 

Kak sad u kodu dal da mi continue bude uključen?

continue;

 

Javlja mi macro names must be identifiers

 

dal moram i odmah staviti za   "lista_polje.h"

#ifdef  "lista_polje.h" 
continue;
#endif

 

 

Sex is like Nokia (connecting people), like Nike (just do it), like Pepsi (ask for more) and like Samsung ( everyone is invited)
15 godina
online
Re: Programiranje u C++-u - pitanja i odgovori
kc-kb kaže...

#ifndef "lista_pokazivac.h"
continue;
#endif

 

Kak sad u kodu dal da mi continue bude uključen?

continue;

 

Javlja mi macro names must be identifiers

 

dal moram i odmah staviti za   "lista_polje.h"

#ifdef  "lista_polje.h" 
continue;
#endif

 

 

Ne mozes koristiti lista_polje.h kao makro ime jer to ime sadrzi tocku. Po obicaju marko imena pises veliki slovima i odvajas donjom crtom. Dakle u datoteku lista_polje.h stavi ono #define LISTA_POLJE_H

 

I onda ako hoces ukljuciti continue kad je ukljucen lista_polje.h, onda radis:

#ifdef LISTA_POLJE_H
continue;
#endif

 

Dakle ako si includas lista_polje.h u tu datoteku, ili neku od datoteka koja vec ima includano lista_polje.h, naredba continue ce biti ukljucena u program.

 

Ako hoces iskljuciti naredbu continue, onda umjesto #ifdef koristis #ifndef.

I would love to change the world, but they won't give me the source code
Poruka je uređivana zadnji put sub 10.11.2012 15:28 (captain_soap_McTawish).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
kc-kb kaže...
...

Javlja mi macro names must be identifiers

...

Pa citaj sto ti javlja. Za objasnjenje pogledaj kapetanov post iznad mojeg.

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Oprostite moze li mi itko pomoci rijesiti ovaj zadatak? hvala unaprijed!

 

Napisati program koji ovisno o unesenom broju ispisuje ispis sličan sljedećem:

Unesi broj: 5 * ** *** **** *****

(broj redova i stupaca ovisi o unesenom broju, u ovom primjeru je to 5).

 
0 0 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori
Oprostite ljudi zna li itko kako se rijesava ovaj zadatak?
hvala unaprijed!

Napiši program koji računa sumu prvih 500 članova reda (u nazivniku su kvadrati uzastopnih prirodnih brojeva):

{1 \over 1}+{1 \over 4}+{1 \over 9}+{1 \over 16}+{1 \over 25}+{1 \over 36}+\cdots = {\pi^2 \over 6}.
 
0 0 hvala 0
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Informaticarka kaže...

Oprostite moze li mi itko pomoci rijesiti ovaj zadatak? hvala unaprijed!

 

Napisati program koji ovisno o unesenom broju ispisuje ispis sličan sljedećem:

Unesi broj: 5 * ** *** **** *****

(broj redova i stupaca ovisi o unesenom broju, u ovom primjeru je to 5).

Ti hoćeš ovo?

 

unos:

5

 

ispis:

* ** *** **** *****

 

Ako hoćeš to, onda dvostruka petlja, vanjska ide od 1 <= n i na kraju svake iteracije ispiše razmak, a unutarnja petlja ide od 0 < i i ispisuje jednu zvjezdicu u svakoj iteraciji.

 

Poruka je uređivana zadnji put ned 11.11.2012 22:28 (Floki).
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Što se tiče drugog, taj niz dobiš ovako:

 

 

#include<iostream>
using namespace std;


int main()
{
    double suma = 0;
    for(int i = 1; i <= 500; i++)
    {
       suma += (1./(i*i));

    }
    cout<< suma << endl;
    return 0;
}

 

Ako povećavaš opseg petlje, približavaš se izračunu (pi * pi / 6).

Poruka je uređivana zadnji put ned 11.11.2012 22:53 (Floki).
 
0 0 hvala 1
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Hvala! Puno mi je pomoglo. Neznam kako da se zahvalim ali stw hvala. :)
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Postovanje ako mi mozete pomoci kod ovoga. Trebam da ispisem romb samo sa crtama koje ga obiljezavaju i radi mi za brojeve do 8 a trebalo bi mi raditi za sve brojeve koje unes. molivas ako imate kakav savjet:

 

#include<iostream.h>
int main()

{
    int n,i,j;
    cin>>n;
    for(i=1;i<=n;i++){
        for(j=1;j<=n-i;j++){
            cout<<" ";
        }
        for(j=1;j<=i;j++){
       
}cout<<"/";
  for(j=1;j>=n-i-2;j--){
            cout<<" ";
        }
 
    for(j=n-2;j>=n-i;j--){
            cout<<" ";
        }
        for(j=n;j<=i;j++){
       
}cout<<"\\"<<endl;
 

}   


for(i=-1;i<=n-2;i++){
        for(j=n;j>=n-i;j--){
            cout<<" ";
        }
        for(j=n;j>=i;j--){
       
}cout<<"\\";
     
   for(j=i;j<=n-i;j++){
            cout<<" ";
        }
for(j=n;j<=i;j++){
       
}cout<<"/"<<endl;
 
}
system("pause");
}

 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori
Kako da napise konstruktor koji ima argumente te da pomoću njega postavim nove vrijednosti?
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Broken kaže...
Kako da napise konstruktor koji ima argumente te da pomoću njega postavim nove vrijednosti?

Misliš kako da pomoću konstruktora postaviš vijednosti članova klase?

class Person{

private:

   int _id;

   string _name;

   int _age;

public:

   Person(int i, string n, int a){

      _id = i;

      _name = n;

      _age = a;

   }

};

 

E-mail:
Lozinka:
 
vrh stranice