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

poruka: 7.285
|
čitano: 1.602.364
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Programiranje u c++-u- pitanja i odgovori

evo zgodnih zadataka za početnike:

 

http://www.gimnazijabihac.edu.ba/doc/info2/

Moj PC  
1 0 hvala 3
15 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori

Jedno pitanje.Kako u C++ u inicijalizaciji zadati d avarijabla npr. može koristiti integere od 0 do 128 ,a ne u rasponu -32768 do +32768.U Pascalu znam d ase može ,pa se vjerojatno može i tu.Hvala.

HTC Desire Android
13 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori

Nemaš u c/c++ byte tip podatka. Najbliže onome što hoćeš je unsigned char koji može poprimiti vrijednosti od 0 - 255. Manje od toga ne ide. 

15 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori
A ako su mi npr. potrebni brojevi od 1 do 5?Kod npr. računanja prosjeka.
HTC Desire Android
14 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori
BassMan kaže...

Nemaš u c/c++ byte tip podatka. Najbliže onome što hoćeš je unsigned char koji može poprimiti vrijednosti od 0 - 255. Manje od toga ne ide. 

typedef unsigned char BYTE;

 

eto sad imas :D

 

char jest jedan bajt u memoriji. Posve je nebitno zove li se taj tip podatka char ili byte ili komadic :D

 

emerik kaže...
A ako su mi npr. potrebni brojevi od 1 do 5?Kod npr. računanja prosjeka.

Onda mozes koristiti  long, int, short, char ili float (vjerojatno zelis float jer prosjek nije cijeli broj) ili double (nepotrebno, ali mozes).

 

http://en.wikipedia.org/wiki/C_data_types#Size

http://www.cplusplus.com/doc/tutorial/variables/

So then I typed GOTO 500 - and here I am!
Poruka je uređivana zadnji put pon 20.6.2011 17:43 (rustweaver).
13 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori

Nemoj brkat stvari. Ja sam ti ovdje spomenuo zauzeće memorije. unsigned char je tip podatka koji zauzima 1 byte u memoriji i zbog toga u njega može stati spomenuti raspon (unsigned je bez negativnih brojeva). Najbolje ti je onda, budući da počinješ sa c++ koristiti standardne tipove a to su

int - cijeli broj

float - decimalni broj

char - znak

15 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori
Znam da koristim float kao prosjek,ali kako napraviti da mi varijabla koju upisujem može imati vrijednosti samo od 1 do 5?
HTC Desire Android
13 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori

int unos;

 

do

{

cout << "Unesi broj" << endl;

cin >> unos;

}while (unos <1 || unos > 5);

14 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori
emerik kaže...
ali kako napraviti da mi varijabla koju upisujem može imati vrijednosti samo od 1 do 5?

Nikako, najmanji broj na racunalu je 8 bitni broj (1 bajt iliti char), i on ima raspon 0-255 ako je unsigned ili -128-127 ako je signed. Ti u programu sâm trebas provjeravati je li unos unutar dozvoljenog raspona...

 

cin >> ocjena;

if (ocjena < 1 || ocjena > 5)

   cout << "Pogresna ocjena" << endl;

 

So then I typed GOTO 500 - and here I am!
Poruka je uređivana zadnji put uto 21.6.2011 13:11 (rustweaver).
15 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori

Kakvo je to Parallel Programming za Visual Studio?

HTC Desire Android
14 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori
emerik kaže...
Znam da koristim float kao prosjek,ali kako napraviti da mi varijabla koju upisujem može imati vrijednosti samo od 1 do 5?

Zato ti je najbolje koristiti pobrojene tipove(na dnu stranice):

npr:

 

enum ocjene(nedovoljan=1,dovoljan,dobar,vrlo_dobar, odlican); 

ocjene mojaocjena=odlican;

ocjene njegovaocjena=4; 

Open Source!
Poruka je uređivana zadnji put uto 21.6.2011 17:07 (captain_soap_McTawish).
14 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori

Enum mu nece pomoci kod pogresnog unosa korisnika, on sluzi samo da sprijeci programera pri koristenju nevazecih vrijednosti.

So then I typed GOTO 500 - and here I am!
15 godina
offline
Programiranje u c++-u- pitanja i odgovori

Može netko reći zašto ne radi program?

 

//Program upisuje niz,te u drugi niz prebacuje proste brojeve i zatim ih ispisuje#include<iostream>using namespace std;int main() {    int x,y [20];    bool prost;    int j,i,k,n;    cout<<"Upisi n: ";    cin>>n;    cout<<"Upisi clanove niza ";    for(i=1;i==n;i++)       cin>>x[i];    k=0;    for(i=1;i==n;i++) {        prost == true;        for(j=2;i<(x[i]-1),j++)           if (x[i]%j == 0)               prost == false;                      }     if (prost == true) {               k++;               y[k] = x[i];                    }     cout<<"Prosti brojevi su :";     for(i=1;i==k;i++)        cout<<y[i];     system("pause");     return 0;}

HTC Desire Android
Poruka je uređivana zadnji put čet 23.6.2011 15:08 (emerik).
Moj PC  
0 0 hvala 0
13 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori
emerik kaže...

Može netko reći zašto ne radi program?

 

//Program upisuje niz,te u drugi niz prebacuje proste brojeve i zatim ih ispisuje#include<iostream>using namespace std;int main() {      int x,y [20];      bool prost;      int j,i,k,n;      cout<<"Upisi n: ";      cin>>n;      cout<<"Upisi clanove niza ";      for(i=1;i==n;i++)            cin>>x[i];      k=0;      for(i=1;i==n;i++) {              prost == true;              for(j=2;i<(x[i]-1),j++)                    if (x[i]%j == 0)                           prost == false;                      } // OVU VITIČASTU ....        if (prost == true) {                            k++;                            y[k] = x[i];                    }// PREBACI TU        cout<<"Prosti brojevi su :";        for(i=1;i==k;i++)              cout<<y[i];        system("pause");        return 0;}

 

  ovaj dio di trpas proste u drugi niz treba biti pod petljom...

i dovoljno ti je da vrtis petlju do korjena iz x[i],matematicki se da dokazati da ako broj nema djeljitelja do svog korjena,da je prost. petlji

 

EDIT: jos ti je u drugoj for petlji kod provjere prostosti umjesto 'j' , 'i' ( kod logičkog izraza,i < (x[i]-1) )

 

griješiti je ljudski al je osjećaj božanski
Poruka je uređivana zadnji put čet 23.6.2011 15:19 (KKristijan).
14 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori
emerik kaže...

Može netko reći zašto ne radi program?

 

     cout<<"Upisi clanove niza ";    for(i=1;i==n;i++)  

Polja uvijek pocinju sa indexom nula, a ne 1

I kakav ti je to uvjet? Dok je 'I' jednak 'N'? To nema smisla, zelis valjda dok je 'I' manji ili jednak 'N', ili samo manji od 'N' ovisno kako brojis...

 

emerik kaže...

     for(i=1;i==n;i++) {       prost == true;

Jos gresaka iz prethodnog ulomka. Ovo zeleno oznaceno treba ici "prost = true;" ide samo jedan znak jednakosti kod dodjeljivanja vrijednosti varijabli. Dva znaka jednakosti idu kod provjere vrijednosti.

 

emerik kaže...

     for(i=1;i==k;i++)

I opet malo gresaka pred kraj. I to su samo one greske koje su mi na prvi pogled upale u oci, a sada jos treba detaljnije pogledati.

 

Btw. kod ti je cudno formatiran, posebno me uznemiruje nacin na koji stavljas viticaste zagrade.

So then I typed GOTO 500 - and here I am!
15 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori

Hvala na primjedbama,tek sam počeo u C++,prije sam radio u Pascalu pa se trebam priviknuti.

HTC Desire Android
13 godina
offline
Programiranje u c++-u- pitanja i odgovori

koj sam ja debil =o,od svega nisam primjetio to i == n xD

griješiti je ljudski al je osjećaj božanski
 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori

Takoder varijabla x ti nije deklarirana kao polje, nego kao obican integer. Kompajler lijepo izbaci gresku kada pokusas pristupiti clanovima varijable x preko indexa.

 

znaci treba ici

int x[20], y[20];

So then I typed GOTO 500 - and here I am!
15 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori

OK,nije mi jasno zašto u for petlji mora pisati <=n.

HTC Desire Android
13 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori
emerik kaže...

OK,nije mi jasno zašto u for petlji mora pisati <=n.

  Zato jer se petlja vrti dok je taj logički izraz istinit,a ako pise i == n,nikad nece ni pocet.

griješiti je ljudski al je osjećaj božanski
14 godina
neaktivan
offline
Programiranje u c++-u- pitanja i odgovori

Imam par eknjiga vezano za c++ pa ako neko hoce neka se javi na pp!

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

Imam par eknjiga vezano za c++ pa ako neko hoce neka se javi na pp!

  Imaš neku s algoritmima :D?

griješiti je ljudski al je osjećaj božanski
14 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori

@emerrik

ne <=n nego <n

 

kada deklariras polje sa 5 clanova, prvi clan ti ima index 0, a poslijednji 4. Ako ces vrsiti iteraciju po clanovima, pocetnu vrijednost brojaca postavljas na 0, a kranja vrijednost mora biti za 1 manja od ukupnog broja clanova (zato sto se pocinje brojati od nule).

 

dakle za:

int x[5];

 

imas clanove

x[0], x[1], x[2], x[3], x[4]

 

stoga je pravilna petlja:

for (int n=0; n<5; n++)

     x[n]=nesto...;

 

ako kao uvjet na gornju petlju stavis <=n onda ce ti petlja ici od nultog elementa pa sve do petog x[5] (koji nije definiran) i time ces izletiti iz polja.

 

Sto se tice same for petlje, ovako idu argumenti:

for (pocetna vrijednost brojaca; uvjet; uvecanje ili umanjenje brojaca)

for petlja ce se ponavljati tako dugo dok je uvjet zadovoljen, ako stavis N==X onda ce ti se petlja ponavljati samo ako je N jednak X, ako stavis N < X onda ti se petlja ponavlja tako dugo dok je N manji od X.

So then I typed GOTO 500 - and here I am!
Poruka je uređivana zadnji put čet 23.6.2011 16:10 (rustweaver).
14 godina
offline
Programiranje u c++-u- pitanja i odgovori

Imam ovakav kod:

 

 #include <cassert>

#include <iostream>

 

using namespace std;

 

class Tablica

{

private:

   int BrEl;

   int *elementi;

public:

   Tablica();

   Tablica(int BrEle);

   void UmetniElement(int poz);

   void IzbrisiElement(int poz);

   Tablica* SortirajTablicu();

};

 

Tablica::Tablica():BrEl(10),elementi(new int[BrEl])

{

   assert(elementi!=0);

}

 

Tablica::Tablica(int BrEle):BrEl(BrEle),elementi(new int[BrEle])

{

   assert(elementi!=0);

}

 

int main()

{

   Tablica lista;

   return 0;

}

Kako ću funkciji UmetniElement koja pripada razredu Tablica staviti da podrazumijevani argument bude varijabla BrEl koja pripada privatnome dijelu klase Tablica?
Open Source!
 
0 0 hvala 0
15 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori

Ako u funkciji UmetniElement trebas BrEl, slobodno pristupas njemu unutar funkcije, jer je ta funkcija dio klase. Uopce ti ne treba default argument funkcije.

Osim toga, u klasi ti nedostaje ti destruktor u kojem brises zauzetu memoriju

Lack of money is the root of all evil. George Bernard Shaw
Poruka je uređivana zadnji put čet 23.6.2011 17:52 (CalvinRi).
13 godina
neaktivan
offline
Programiranje u c++-u- pitanja i odgovori

Evo a ne otvaram novu temu, zanima me ako mi tko moze pomoci i naci neku tutorial knjigu za c++ novijeg izdanja, po mogucnosti na hrv a nije ni eng problem, jer vecina onih primjera i zadataka iz starijih knjiga ne radi u novom DEV C++.

 

Inace, pocetnik sam sto se tice programiranja i bio bih vam zahvalan ako mi pomognete.

Intel 4ever!
 
0 0 hvala 0
13 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori
mate960 kaže...

Evo a ne otvaram novu temu, zanima me ako mi tko moze pomoci i naci neku tutorial knjigu za c++ novijeg izdanja, po mogucnosti na hrv a nije ni eng problem, jer vecina onih primjera i zadataka iz starijih knjiga ne radi u novom DEV C++.

 

Inace, pocetnik sam sto se tice programiranja i bio bih vam zahvalan ako mi pomognete.

  Kako mislis ne rade u devu? Koliko stare knjige?

Moj prijedlog ti je Demifisticirani c++ od Šribara i Motike, trenutno je i ja čitam :)

griješiti je ljudski al je osjećaj božanski
13 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori
KKristijan kaže...
mate960 kaže...

Evo a ne otvaram novu temu, zanima me ako mi tko moze pomoci i naci neku tutorial knjigu za c++ novijeg izdanja, po mogucnosti na hrv a nije ni eng problem, jer vecina onih primjera i zadataka iz starijih knjiga ne radi u novom DEV C++.

 

Inace, pocetnik sam sto se tice programiranja i bio bih vam zahvalan ako mi pomognete.

  Kako mislis ne rade u devu? Koliko stare knjige?

Moj prijedlog ti je Demifisticirani c++ od Šribara i Motike, trenutno je i ja čitam :)

Prosinac 2000 {#}

 

EDIT: Moze link od te knjige?

Intel 4ever!
Poruka je uređivana zadnji put čet 23.6.2011 18:32 (mate960).
15 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori

NOVOM Devc++-u? Pa to je compiler koji se godinama ne razvija. Prije 5god kad sam ja krenuo s njim je bila ova verzija koja je i sad zadnja, a i onda je bila stara.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
13 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori
Luuka kaže...

NOVOM Devc++-u? Pa to je compiler koji se godinama ne razvija. Prije 5god kad sam ja krenuo s njim je bila ova verzija koja je i sad zadnja, a i onda je bila stara.

Nemam ja pojma o tim verzijama, samo znam da mi za pola onih cuda izbacuje error pri kompajliranju.

Intel 4ever!
Poruka je uređivana zadnji put čet 23.6.2011 18:37 (mate960).
Nova poruka
E-mail:
Lozinka:
 
vrh stranice