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

poruka: 7.285
|
čitano: 1.725.625
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Koja je razlika izmedju C,C++ i C#?

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

Koristit ću dadin primjer.

C proceduralan jezik, ne podržava OOP, "bliži" mašini, asambly-u, brži od C++a.

Zamisli kao da sastavljaš auto. Imaš samo djelove djelova. Znači sve moraš sastaviti od početka.


C++ Objektno Orjentisani Programski jezik, podržava i proceduralno i OOP. Malo si više od mašine.

Ovdje već imaš neke djelove(recimo, Bosch pumpa ili nebitno), sada od tih djelova sastavljaš kompletne djelove vozila(glava, blok...)

C# Potpuno OOP, znači odmah te tjera da radiš OOP, što je ako si početnik, najbolje, odmah usvojiš koncepte OOP-a.

Tu je super. Imaš već sve djelove, čak i gotov motor. Samo sastaviš. Naravno zahvaljujući .Netu ili Monou.

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

Jel mi može neko malo pojasnit kako,kada i zašto se koriste pokazivači u argumentima funkcije ? Npr. void zamjena(float* a, float* b) imam tracerovu knjigu i Demistificirani i ni iz jedne nemogu skuzit :S

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

To je prenos argumenata po referenci.

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

Jel mi može neko malo pojasnit kako,kada i zašto se koriste pokazivači u argumentima funkcije ? Npr. void zamjena(float* a, float* b) imam tracerovu knjigu i Demistificirani i ni iz jedne nemogu skuzit :S

Funkcija ima najviše jednu izlaznu vrijednost, a prilikom zamjene vrijednosti varijabli su potrebne 2 izlazne vrijednosti. Kada za argument funkcije staviš pokazivač onda možeš direktno mijenjati vrijednost varijable iz glavnog programa tako što češ promijeniti vrijednost u memoriji gdje se nalazi ta varijabla. 

http://computer.howstuffworks.com/c26.htm

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

Jel mi može neko malo pojasnit kako,kada i zašto se koriste pokazivači u argumentima funkcije ? Npr. void zamjena(float* a, float* b) imam tracerovu knjigu i Demistificirani i ni iz jedne nemogu skuzit :S

To je zato sto se u funkcijama argumenti varijabli prenose po prinicpu Call by value tj. po vrijednosti varijable. Dakle ono kada ti funkciji proslijedis neku varijablu kao argument ti proslijedis samo vrijednost varijable, odnosno na sistemskome stacku napravi se nove varijable kojima se pridruze vrijednosti varijabli koje si poslao kao argument. Dakle sto god ti sa tim varijablama radio unutar funkcije, to ne utjece na vaijable koje poslao funkciji.

 

No u odredenim situcaijama trebamo provesti promjene na varijablama koje smo proslijedili funkciji. Tu se mozemo koristiti pokazivacima. Pokazivaci kao vrijednost imaju adresu memorije na koju pokazuju. Zato mi kada deklariramo argumente funkcije kao pokazivace, prosljedujemo adresu varijable i onda preko pokazivaca utjecemo na tu varijablu

#include <iostream>
using namespace std;

void inc1(int broj){
   broj++;
}

void inc2(int* broj){
   *broj++;
}

int main(){
   int x=1;
   cout<<x<<endl;  //ispisujemo x prvi put i naravno ispisuje se 1
   inc1(x);        //koristimo funkciju kojoj prosjedujemo vrijednost varijable
   cout<<x<<endl;  // x ostaje nepromijenjen
   inc2(&x);       //proslijedujemo adresu varijable
   cout<<x<<endl;  // x se promjenio na 2 jer smo unutar funkcije djelovalo na varijablu
   return 0;
}

 

Za ovakve namjenje je puno bolje koristiti reference koje dosta olaksavaju baratanje u ovim slucajevima. Prije svega ne moramo proslijedivati adresu varijable vec samo varijablu(odnosno vrijednost reference) i nemoramo varijabli pristupati preko operatore direferenciranja:

#include <iostream>


void inc(int& broj){ // referenca kao argument
  broj++;
}

int main(){
  int x=5;
  inc(x);//proslijedujemo referencu
  std::cout<<x<<endl; // x se promjenio jer smo utjecali na varijablu
  return 0;
}

 

 

Twitter- @capttawish Linux/GNU live forever.
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Fuhrer kaže...

Jel mi može neko malo pojasnit kako,kada i zašto se koriste pokazivači u argumentima funkcije ? Npr. void zamjena(float* a, float* b) imam tracerovu knjigu i Demistificirani i ni iz jedne nemogu skuzit :S

Tri česte primjene:

1. parametar koji šalješ funkciji je ogroman (neka glomazna struktura, klasa, kontejner) pa bi kopiranje uzimalo previše memorije i resursa

2. želiš promijeniti vrijednost paranetara koje šalješ u funkciji

3. Želiš vratiti više od jednog objekta

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Skuzio sam :) hvala puno svima

 
0 0 hvala 0
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

molio bih nekoga ko razumije c++ i spreman je odvojiti 15 min vremena da mi se javi na pm

Hvala

 

edit:bump

Sex is like Nokia (connecting people), like Nike (just do it), like Pepsi (ask for more) and like Samsung ( everyone is invited)
Poruka je uređivana zadnji put ned 25.3.2012 16:10 (kc-kb).
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Pa postavi pitanje ovdje. Ili je rijec o zicanju rjesenja zadace pa ti je bed? :D

My computer once beat me at chess, but we got even after a round of boxing.
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pa moglo bi se reći da je zadaća, no ne smije se vidjeti zbog profesora...

uglavnom snašao sam se...

fala emerik-u

 

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
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Da nije Tracer?

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

kašlj kašlj

 

{#}

Poruka je uređivana zadnji put ned 25.3.2012 21:21 (TracerCPP).
Moj PC  
10 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

ahahahahahahaha

 
0 0 hvala 0
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Pa što nisi onda pitao profesora da ti pomogne kad ste već obojica na forumu, dao svoj kod i objasnio što ti je problem, ne bi čovjek zinuo pa te progutao.{#}

Kad on već pomaže na forumu drugima, gdje neće tebi.

Poruka je uređivana zadnji put pon 26.3.2012 13:45 (Floki).
 
4 0 hvala 0
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Kako da uradim ovaj program..

 

 

Treba da unesem rijec(primjer :Marko) i da je ispise ovako :

 

     r

   ark

marko

 

 

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
Poruka je uređivana zadnji put pon 26.3.2012 15:25 (Intelovac123).
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Spremiš u znakovno polje i onda se malo igraš sa petljama. {#}

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

Pa što nisi onda pitao profesora da ti pomogne kad ste već obojica na forumu,  dao svoj kod i objasnio što ti je problem, ne bi čovjek zinuo pa te progutao.{#}

Kad on već pomaže na forumu drugima, gdje neće tebi.

  neznam ja dal je profesor na forumu,al caka je u tome da sam ja dao vama zadatak i onda vi meni rješenje on bi to mogao pronaći...

lepo c/p u google i gle vidi vraga,točna takav zadatak koji je on nama zadal je na bug forumu,i gle X_ime i Y_prezime ima isti kod za taj zadatak... koja slučajnost....

da nije to on slučajno pitao i još gore prepisao kod....

prof: "evo tebi sinko 0 bodova...."

Sex is like Nokia (connecting people), like Nike (just do it), like Pepsi (ask for more) and like Samsung ( everyone is invited)
Poruka je uređivana zadnji put pon 26.3.2012 15:45 (kc-kb).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ma nije naš Tracer takav, ako je on.

Bio je jedan slučaj ne davno.

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

Kako napisati ovakava način zbrajanja binarnih brojeva:

 

1011010101, Sn = 1 + (-1) + 1 + 1 + (-1) + 1 + (-1) + 1 +  

(-1) + 1 = 2.

 

Znači jedan se zbraja kao 1 a nula se oduzima kao -1..

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

Kako napisati ovakava način zbrajanja binarnih brojeva:

 

 

1011010101, Sn = 1 + (-1) + 1 + 1 + (-1) + 1 + (-1) + 1 +  

(-1) + 1 = 2.

 

 

Znači jedan se zbraja kao 1 a nula se oduzima kao -1..

To nije zbrajanje binarnih brojeva nego znamenki u binarnom broju. Unesi broj kao string i prodi kroz njega petljom testirajuci svaki znak i vrseci odgovarajucu racunsku operaciju.

My computer once beat me at chess, but we got even after a round of boxing.
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...

Kako da uradim ovaj program..

 

 

Treba da unesem rijec(primjer :Marko) i da je ispise ovako :

 

     r

   ark

marko

 

 

 

char tekst[100] = "marko";
for(int i = 1; i <= strlen(tekst)/2 + 1; i++){
    for(int j = strlen(tekst)/2-i+1; j < strlen(tekst)/2 + i; j++)
       cout << tekst[j];
    cout << endl;
}

15 godina
offline
Programiranje u C++-u - pitanja i odgovori

ljudi triba mi nesto,ispiydia sam se više, kad snimam zvuk preko mikrofona koristeći funkcije iz xna studia, kao npr  Microphone.Default.GetData  , i zvuk snimljen spremim u byte array, kako se zove metoda kojom mogu pustit tu audio varijablu, izgugla sam život i pretražia cili msdn, nadem onu dynamicsoundeffect klasu koja ima neke metode al one su uglavnog sa puštanje efekata snimljenih u waw formatu na računalu, a to mi ne treba.

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
athlon64 kaže...

nadem onu dynamicsoundeffect klasu koja ima neke metode al one su uglavnog sa puštanje efekata snimljenih u waw formatu na računalu, a to mi ne treba.

a sto je ovo? :D

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.dynamicsoundeffectinstance.submitbuffer.aspx

 

a ovdje ti je kompletna referenca:

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.dynamicsoundeffectinstance_members.aspx

My computer once beat me at chess, but we got even after a round of boxing.
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
athlon64 kaže...

nadem onu dynamicsoundeffect klasu koja ima neke metode al one su uglavnog sa puštanje efekata snimljenih u waw formatu na računalu, a to mi ne treba.

a sto je ovo? :D

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.dynamicsoundeffectinstance.submitbuffer.aspx

 

a ovdje ti je kompletna referenca:

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.dynamicsoundeffectinstance_members.aspx

sve sam to isčita više puta ali nikako da uspijem iskodirat i da cujem to sta je u byte array-u, uvjek nesto podcrta,pokusavam vec 2 dana.

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
athlon64 kaže...

sve sam to isčita više puta ali nikako da uspijem iskodirat i da cujem to sta je u byte array-u, uvjek nesto podcrta,pokusavam vec 2 dana.

Pogledaj ovo, zapravo je jako jednostavno, ili se barem tako cini.

 

Postavis BufferDuration na 1000 milisekundi (to je maksimum), pozoves metodu Start, kada se buffer napuni dobit ces event BufferReady, tada valjda zaustavljas snimanje pozivom na metodu Stop, dohvatis snimljeni buffer pozivom na metodu GetData kopiras buffer u neki trajniji spremnik koji si postavio prije toga, ponovno pokreces snimanje pozivom na metodu Start... i tako u nedogled, tj. ponavljas postupak onoliko koliko ti treba.

 

Na kraju snimljeni buffer (onaj koji si prosirivao kopiranjem podataka iz manjeg buffera) samo proslijedis SubmitBuffer metodi objektu klase DynamicSoundeffect, te pozoves Play metodu kada zelis pustiti sadrzaj tog buffera.

My computer once beat me at chess, but we got even after a round of boxing.
Poruka je uređivana zadnji put uto 27.3.2012 0:47 (rustweaver).
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

koristia sam na kraju ovu mciSendstring funkciju i njom snimia zvuk u nešto, opet neznam kako da zvuk pustim:

 

 

 

 

     private void button1_Click(object sender, RoutedEventArgs e)

     {

       mciSendString("open new Type waveaudio Alias recsound", "", 0, 0);

       mciSendString("record recsound", "", 0, 0);

 

     }

 

     private void button2_Click(object sender, RoutedEventArgs e)

     {

 

       mciSendString("save recsound c:\\record.wav", "", 0, 0);

       mciSendString("close recsound ", "", 0, 0);

       Microphone.Default.Stop();

 

 

 

     }

 

 

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Cekaj u cemu je tocno problem sa SubmitBuffer metodom? Rekao si da ti nesto podcrta, imas greske u sintaksi?

 

Nazalost, ne mogu ti dati konkretan kôd jer C# i .Net nikada nisam koristio.

 

EDIT: iskopao sam jos nesto pogledaj obavezno.

My computer once beat me at chess, but we got even after a round of boxing.
Poruka je uređivana zadnji put uto 27.3.2012 13:46 (rustweaver).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav ljudi,treba mi pomoć oko jednog zadatka. U zadatku se traži da korisnik unosi prirodne brojeve dok ne unese nulu te da se na kraju izbaci mjera tih prirodnih brojeva. Također,za svaki unos treba provjeriti je li ispravan. Pitanje koje mene muči je,gdje da ovdje ubacim uvjet da provjerava je li unešeni broj prirodan,tj. ako je manji od nule da izbaci pogrešku ali i nastavi sa radom te petlje. Ovo je dosada napravljen kod:

 

http://paste.strictfp.com/26734

 

Pokušavao sam i sa naredbama skoka,i sa ubacivanjem uvjeta na različita mjesta ali mi nikako ne paše. Hvala unaprijed :)

 
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...

Cekaj u cemu je tocno problem sa SubmitBuffer metodom? Rekao si da ti nesto podcrta, imas greske u sintaksi?

 

Nazalost, ne mogu ti dati konkretan kôd jer C# i .Net nikada nisam koristio.

 

EDIT: iskopao sam jos nesto pogledaj obavezno.

ovo sta si nasa je prilicno detaljno, hvala,javim da li program radi.

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
E-mail:
Lozinka:
 
vrh stranice