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

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

Code::Blocks me u zadnje vrijeme jako živcira. Samo nailazim na bugove. Da ne spominjem startup vrijeme...

Nažalost trenutno sam zaglavio s njime.

Probaj Qt Creator. Ja se vise ne micem s njega, meni osobno IDE broj 1. Jos kad uzmem u obzir i fantastican Qt framework koji je crossplatform (kao i sam IDE), LGPL te je dio Sailfish OS-a, kao i Ubuntu Touch-a, a radi se i na kompatibilnosti izmedu ta dva OS-a (te KDE-a), izbor je sasvim jasan.

 

No i bez Qt-a, Qt Creator sam po sebi kao IDE je stvarno odlican IDE.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
Poruka je uređivana zadnji put čet 12.9.2013 17:47 (1domagoj1).
12 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
royalhero kaže...
neznam123456 kaže...

Javlja grešku kod funkcije sqrt(). Uključi biblioteku math.h

 Cudno jelde? Pa ukljuci je:

#include<math.h>

 

Stvarno vam se sve mora crtati...

 

Ja sam samo curi rekao gdje je problem. Neznam čemu nervoza?

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

Javlja grešku kod funkcije sqrt(). Uključi biblioteku math.h

 Cudno jelde? Pa ukljuci je:

#include<math.h>

 

Stvarno vam se sve mora crtati...

 

Ja sam samo curi rekao gdje je problem. Neznam čemu nervoza?

Potrudio si se isprobati, vidio koju grešku javlja, što ja nisam imao mogućnost u VS 2012 u kojem sam napravio taj program, jer mi VS 2012 ne traži math biblioteku za sqrt funkciju.

I svaka čast na tome, odoh ti lupiti hvala.{#}

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

 

Ja sam samo curi rekao gdje je problem. Neznam čemu nervoza?

A izvini, ja sam razumio da tebi daje error, još na HR, pa se čudim jesi glup ili što... :D Izvini.

Nadrkan sam ovih dana...

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

Pitanje što se tiče OpenGL-a:

 

Znači imam VCL Formu i hoću render unutar nje napraviti.

Kako da namjestim (koristim C++ Builder XE4, VCL znači)  da se render odvija u formi (ili odredenom dijelu forme)?

 

Može neki primjer ili nešto, mislim na nešto tipa "OpenGLRenderer->handle = Form1->handle" i da sad on zna da unutar te forme mora obavljati render.

 

 

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

Cestitam vam Dan Programera. {#}

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
 
2 0 hvala 5
14 godina
neaktivan
offline
11 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Evo jedno možda glupasto pitanje, zbog čega većina knjiga o cpp-u i c-u preporuča Dev-cpp a mnogi pljulju po njemu?

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
lavisa kaže...

Evo jedno možda glupasto pitanje, zbog čega većina knjiga o cpp-u i c-u preporuča Dev-cpp a mnogi pljulju po njemu?

Pogledaj godinu izdanja tih knjiga. Ne pljuje se po njemu u smislu da je los iako ima boljih, mislim realno gledajuci te vjezbice koje se rade u knjigama i u skolama mogu se nakucati i u Notepadu pa kompajlirati preko komandne linije, nisu komplicirane, vec je star te dolazi sa starim kompajlerom koji vise ne sljaka najbolje na novijim verzijama Windowsa (ne znam detalje jer radim na Linuxu, rustweaver zna bolje te detalje).

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
lavisa kaže...

Evo jedno možda glupasto pitanje, zbog čega većina knjiga o cpp-u i c-u preporuča Dev-cpp a mnogi pljulju po njemu?

Preporučaju ga zato što je smiješno lagan za korištenje. Recimo da bi koristio debugger ne moraš niti projekt postaviti. Radi na svemu, od prethistorijskih strojeva sa win98 do današnjih win7. DevCpp čak dolazi i kratkim uvodom u programiranje C programskim jezikom. Svoje prve korake u C-u sam napravio upravo uz pomoć tog teksta.

Dakle kao što vidiš, poprilično je "beginner friendly".

 

Njegova najveća mana je njegov zastarjeli kompajler. Zašto neke izvršne datoteke kompajliranje njime ne rade pravilno na novijim windowsima teško je reći. Čini se da ima nekih problema sa standardnom runtime bibliotekom.

 

Sve kritike na DevCpp se odnose na originalnu staru verziju. Ako ti treba novija verzija koja radi kako treba na novim operacijskim sustavima možeš ju naći ovdje: http://sourceforge.net/projects/orwelldevcpp/

 

Što se knjiga tiče to ti je do perioda u kojem su pisane. Da si ugrabio neku knjigu iz sredine 90-ih vjerojatno bi kao preporuku ugledao Borlandov Trubo C. Nije bitan alat, ako ti ne odgovara slobodno zanemari te preporuke. Bitan je programski jezik koji knjiga objašnjava. A to u čemu ćeš ti pisati kod i kako ćeš ga kompajlirati potpuno je sporedno. Koristi ono što tebi odgovara.

 

Jezik je trajan, alati su prolazni...

What Andy giveth, Bill taketh away.
Poruka je uređivana zadnji put sub 14.9.2013 14:45 (rustweaver).
11 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Dakle beginner friendly alat našeg doba bi bio taj Orwellov Dev-cpp? Trenutno koristim onu zadnju verziju Dev-cpp-a 4.9.9.2.
Koristio sam Code:blocks prije ali glava bolji od njega uvijek se nešto zbrčka u postavkama a nisam dovoljno kvalificiran da znan kako namjestit pa eventualno odustanem od toga.
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
lavisa kaže...
Dakle beginner friendly alat našeg doba bi bio taj Orwellov Dev-cpp? Trenutno koristim onu zadnju verziju Dev-cpp-a 4.9.9.2.

Orwell DevCpp je u biti isti onaj stari DevCpp sa nekim ispravkama, poboljšanjima i novim kompajlerom.

What Andy giveth, Bill taketh away.
11 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Dakle koristim switch statement u C++ i pod svoj case bi htio stavit da mi ispiše u konzoli random slova, ali samo velika početna...

Sad imam ovako i tu mi ispisuje i brojke pa to ništa..
case 10:
             printf("\nCode: %iR%i%i-%i%iXE%iG-%iD%i5\n\nWe thank you for using our program. Copy your code then close this window, or use the program to get another code. ", rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9);
             break;


Probao sam i ovako da imam samo slova ali ispisuje sve i svašta:
case 5:
             printf("\nCode: ", std::cout << cha << chb << chc << chd << "-" << che << chf << chg << chh << "-" << chi << chj << chk << chl << "-" << chm << chn << cho << chp << "-" << chq << chr << chs << cht, "\n\nWe thank you for using our program. Copy your code then close this window, or use the program to get another code. ", rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9);
                break;
s tim da je ovo "cha" "chb" "chc" ovako postavljeno
char cha = 'A' + rand() % (('Z'-'B') + 1);ovo je izlaz: http://puu.sh/4v8vm.png

Kako da stavim da mi izbacuje samo velika početna slova?

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

Probao sam i ovako da imam samo slova ali ispisuje sve i svašta:
case 5:
             printf("\nCode: ", std::cout << cha << chb << chc << chd << "-" << che << chf << chg << chh << "-" << chi << chj << chk << chl << "-" << chm << chn << cho << chp << "-" << chq << chr << chs << cht, "\n\nWe thank you for using our program. Copy your code then close this window, or use the program to get another code. ", rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9, rand() % 9);
                break;
s tim da je ovo "cha" "chb" "chc" ovako postavljeno
char cha = 'A' + rand() % (('Z'-'B') + 1);ovo je izlaz: http://puu.sh/4v8vm.png

Kako da stavim da mi izbacuje samo velika početna slova?

 

Što je ovo?

printf("\nCode: ", std::cout <<...

 

Možeš li mi, molim te, objasniti svrhu cout objekta unutar poziva funkcije printf?

I ozbiljno bi trebao razmisliti o upotrebi polja i petlji.

 

I treba ići 'Z' - 'A' + 1, umjesto 'Z' - 'B' + 1

jer  trebaš dobiti modulo 26, a ti ovako dobiješ modulo 25...

 

Evo ti i primjer:

char znakovi[20 + 4 + 1] = {0};
   
for (int n = 0; n < sizeof(znakovi) - 1; n++)
    znakovi[n] = 'A' + rand() % ('Z' - 'A' + 1);
       
for (int n = 0, i = 4; n < 4; n++, i+=5)
    znakovi[i] = '-';
   
printf("Code %s\n", znakovi);

 

What Andy giveth, Bill taketh away.
Poruka je uređivana zadnji put čet 19.9.2013 19:21 (rustweaver).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Vama je ovo vjerojatno jednostavno i bezveze, ali meni nije, pa bih molio pomoć s ovim zadatkom, zadatak je iz knjige "Demistificirani C++" (str.102 - poglavlje o for petlji) a glasi:

"Napišite program s dvije uzastopne petlje koje će ispisati tablicu sa slovima engleskog alfabeta. Tablica neka ima dva stupca: u prvom stupcu neka je ASCII kod (od 65 do 90 uključivo za velika slova, odnosno 97 do 122 uključivo za mala slova). Uputa: slovo ispišite koristeći dodjelu tipa static_cast<char>. Potom preuredite program tako da imate samo jednu petlju i ispis u četiri stupca."

 

Hvala unaprijed.

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

Pa probaj prvo sam i pokaži gdje si zapeo. To su doslovno 4 linije koda.

Moj PC  
1 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
gigacer kaže...

Vama je ovo vjerojatno jednostavno i bezveze, ali meni nije, pa bih molio pomoć s ovim zadatkom, zadatak je iz knjige "Demistificirani C++" (str.102 - poglavlje o for petlji) a glasi:

"Napišite program s dvije uzastopne petlje koje će ispisati tablicu sa slovima engleskog alfabeta. Tablica neka ima dva stupca: u prvom stupcu neka je ASCII kod (od 65 do 90 uključivo za velika slova, odnosno 97 do 122 uključivo za mala slova). Uputa: slovo ispišite koristeći dodjelu tipa static_cast<char>. Potom preuredite program tako da imate samo jednu petlju i ispis u četiri stupca."

 

Hvala unaprijed.

Staviš dvije petlje, sa prvom ispišeš za velika slova, a sa drugom za mala slova dekadsku vrijednost ascii, u prvoj koloni, a slovo u drugoj koloni, u biti da ispišeš slovo, izvršiš cast int u char, brojač petlje i predstavlja dekadsku ascii vrijednost slova.

 

for(int i=65; i<=90; i++)

  cout<< i << " " << static_cast<char>(i) << endl;

 

Za drugi dio zadatka moraš prilagoditi petlju da ne ispisuje interval od 91 - 96 jer to nisu slova, a to postigneš naredbom continue u petlji. Četiri kolone dobiješ operatorom modulo. Koristiš modulo 2 jer ispisuješ dva broja u redu, odnosno 4 kolone, a drugi broj je na parnom indexu petlje. U prilog nam ide i što mala slova počinju neparnim brojem kao i velika.

 

 


#include <iostream>
using namespace std;




int main()
{
    for(int i=65; i<=122; i++)
    {
       if(i>90 && i<97) continue;
       cout<< i << " " << static_cast<char>(i) << " ";
       if(i%2 == 0) cout<< endl;
    }
    return 0;
}

 

 

Inače, rješenja za zadatke iz Demistificiranog možeš skinuti ovdje http://free-zg.htnet.hr/jsribar/download.html

Ali, nema sve, kao ni drugi dio ovog zadatka (i bolje da nema).

 

 

 

Poruka je uređivana zadnji put pet 20.9.2013 21:05 (Floki).
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ovako, učim C++ i imam sad jedno pitanje. 

Zanima me kako napraviti da se neki program izvede u T testnih slučaja, ali tako da se prvo upiše broj testnih slučajeva T, a u slijedećih T redaka po jedan ulazni podatak i na kraju ispiže T redaka izlaznih podataka?

Ja sam uspio samo napraviti da se na početku upisuje T, a zatim ide jedan red ulaza i jedan red izlaza i tako T puta.

Da ne kompliciram, evo da objasnim na jednom jednostavnom primjeru npr. za T testnih slučajeva, program treba ispisati kvadrat broja N.

Moj program izgleda ovako:

 

#include <iostream>
int t,n;
using namespace std;
int main()
{   
   cin >> t;
   while (t--)
   {
      cin >> n;
      cout << n*n << endl;
}
return 0;
}

Izvođenjem ovog programa se prvo upisuje T, onda ide N pa N1*N1 pa onda N2 pa N2*N2 i tako T puta.

To ovako onda izgleda:

unos 2 (T)

unos 2 (N1)

ispis 4 (N1*N1)

unos 6 (N2)

ispis 36 (N2*N2)

 

Ja bih htio da to ide ovako:

unos 2 (T)

unos 2 (N1)

unos 6 (N2)

ispis 4 (N1)

ispis 36 (N2)

 

To mi treba jer, ako sam dobro upoznat, tako rade svi online evoluatori i tako su i postavljeni zadaci na stranicama za natjecanja u programiranju (Sphere Online Judge, CodeForces, HackerRank i sl. ) pa mi zato treba takav način unosa.

Konkretan primjer jednog takvog jednostavnijeg zadataka za one koji nisu upoznati  http://www.spoj.com/problems/PON/

Tu treba unijeti T kao broj testnih slučajeva i onda T brojeva i na kraju T puta ispisati YES ili NO. Moj algoritam za taj zadatak savršeno radi samo što se upisuje po principu kao što sam prije gore naveo, a ne ovako kako bi trebalo biti u ovom i mnogim drugim zadacima. Svi moja rješenje rade znači po tom principu  T-input-output-input-output, a trebalo bi biti T-input-input-output-output.

Kako modicirati ovaj moj početni program za ispis kvadrata tako da radi po tom principu? Dalje ću ostalo sam znati, ali to mi treba jer svi zadaci na svim internetskim stranicama rade na tom principu...

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Treba ti polje u koje spremis te ulazne podatke i onda u for petlji prolazis kroz polje, provjeravas sto ti treba i ispisujes adekvatan ispis.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
ICT Sith kaže...
Tu treba unijeti T kao broj testnih slučajeva i onda T brojeva i na kraju T puta ispisati YES ili NO. Moj algoritam za taj zadatak savršeno radi samo što se upisuje po principu kao što sam prije gore naveo, a ne ovako kako bi trebalo biti u ovom i mnogim drugim zadacima. Svi moja rješenje rade znači po tom principu  T-input-output-input-output, a trebalo bi biti T-input-input-output-output.

Kako modicirati ovaj moj početni program za ispis kvadrata tako da radi po tom principu? Dalje ću ostalo sam znati, ali to mi treba jer svi zadaci na svim internetskim stranicama rade na tom principu...

To ti uopće nije bitno jer evaluatori na tim stranicama samo gledaju ispis. Dakle svejedno je išlo input-input-output-output ili input-output-input- output jer će ti u oba slučaja evaluator vidjeti samo output-output.

Poruka je uređivana zadnji put sub 21.9.2013 20:59 (captain_soap_McTawish).
13 godina
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav ekipa.

 

Trebam pomoć oko jednog zadatka.

neznam kako dalje.

 

"Napisati program koji od 1,2,5,7,11,12,15,20,21,23,24,25,27,30 radi binarno pretraživanje a korisnik upisuje koji broj traži"

 

ovako sam ja započeo

 

#include <iostream>

using namespace std;

 

int a[30]={1,2,5,7,11,12,15,20,21,23,24,25,27,30};

int i;

 

int main()

{

  for(i=0;i<=30;i++)

    cout << a[i] <<endl;

 

 

return 0;

}

 

 

voltaža a.k.a. napon, amperaža a.k.a. struja, omaža a.k.a. otpor, vataža a.k.a. snaga, hercaža a.k.a. frekvencija, (mega, giga)bajtaža a.k.a. kapacitet memorije, kelvinaža a.k.a. temperatura
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
RaZ0R9111 kaže...
ovako sam ja započeo

{#}

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ovdje imaš rekurzivnu binarnu pretragu http://www.bug.hr/forum/topic/programiranje/pomoc-programiranja/194778.aspx

 

Nije problem sa petljom while iz ovog napraviti iterativnu binarnu pretragu.

Binarna pretraga se temelji na poredanosti niza po veličini. Na početku cijeli niz je interval pretrage, taj interval se smanjuje ovisno da li je broj na sredini intervala veći ili manji od broja koji tražimo. Ako je veći, gornju granicu intervala smanjujemo na sredinu - 1, a ako je manji, povećavamo donju graniucu intervala na sredinu + 1. Ako broj ne nađemo prekidamo pretragu kad donja granica postane veća od gornje granice, ako ga nađemo, prekidamo pretragu trenutno.

 

Nije problem kod sam po sebi, na internetu ga možeš naći gdje hoćeš, bit je u tome da se vrši sortiranje niza da se izbjegne linearna složenost pretrage.

Poruka je uređivana zadnji put pon 23.9.2013 12:50 (Floki).
 
0 0 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Programiram već tjedan dana nekoliko sati na dan u C++ i čitam knjigu Demistificirani C++  pa mogu reći da sam već usvojio osnove i to dobro, riješio sam na internetskim stranicama i sa prošlih Infokup i HONI natjecanja mnoge jednostavnije zadatke, a sad bih htio preći na nešto kompleksnije stvari pa me zanima gdje/kako mogu naučiti te malo kompleksnije stvari kao što su BFS, DFS, binarno pretraživanje, dinamičko programiranje, teorija igara, stabla, Dijkstrin algoritam i slične stvari? Ima li nekakva dobra internetska stranica, tutoriali, knjiga ili nešto takvo?

Moj PC  
0 0 hvala 0
14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
ICT Sith kaže...

Programiram već tjedan dana nekoliko sati na dan u C++ i čitam knjigu Demistificirani C++  pa mogu reći da sam već usvojio osnove i to dobro, riješio sam na internetskim stranicama i sa prošlih Infokup i HONI natjecanja mnoge jednostavnije zadatke, a sad bih htio preći na nešto kompleksnije stvari pa me zanima gdje/kako mogu naučiti te malo kompleksnije stvari kao što su BFS, DFS, binarno pretraživanje, dinamičko programiranje, teorija igara, stabla, Dijkstrin algoritam i slične stvari? Ima li nekakva dobra internetska stranica, tutoriali, knjiga ili nešto takvo?

Toga ti ima dosta u ovoj knjizi Napredno programiranje i algoritmi u C-u i C++-u. I pogledaj tutoriale na topcoderu.

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

Inace, ova Kusaliceva knjiga je jako dobra knjiga sto se tice takvih stvari u C/C++-u. Lik ju je napisao jos na preddiplomskom studiju i zbilja je dobra referenca za takve stvari.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Da li je moguce da klasa A ima pokazivac na objekt kase B i klasa B ima pokazivac na objekt klase A

class A {

   B *pB;

} ;

class B {
   A *pA;

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

Da li je moguce da klasa A ima pokazivac na objekt kase B i klasa B ima pokazivac na objekt klase A

class A {

   B *pB;

} ;

class B {
   A *pA;

Zasto ne? Jesi li uopce probao iskompajlirati? Ono na sto moras paziti je da napises forward deklaraciju za klasu B.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...
srky.du kaže...

Da li je moguce da klasa A ima pokazivac na objekt kase B i klasa B ima pokazivac na objekt klase A

class A {

   B *pB;

} ;

class B {
   A *pA;

Zasto ne? Jesi li uopce probao iskompajlirati? Ono na sto moras paziti je da napises forward deklaraciju za klasu B.

zaboravih deklaraciju za B, sad radi

E-mail:
Lozinka:
 
vrh stranice