16.1.2012 dvije godine postojanja naših stranica

Programiranje C++‎ > ‎Operatori‎ > ‎

Aritmetički unarni operatori

Unarni aritmetički operatori

Operator

Funkcija

-

Mijenja predznak broja.

++

Uvećava broj za 1 (inkrementiranje).

--

Umanjuje broj za 1 (dekrementiranje).

Pri uporabi unarnih operatora za uvećanje i umanjenje važno je obratiti pozornost na položaj operatora. Djelovanje operatora ovisi o tome nalazi li se operator prije (prefiksni) ili poslije (postfiksni) varijable. Prefiksni operator najprije djeluje na varijablu sa svoje desne strane i zatim vraća tako promijenjenu vrijednost, a postfiksni najprije vraća postojeću vrijednost, a tek zatim djeluje na varijablu sa svoje lijeve strane.

Unarni operatori

Sadržaj varijabli po izvršenju naredbi

a=1;

b=++a +5;

a=2

b=7

a=1;

b=a++ +5;

a=2

b=6

 

Zadatak:

Potrebno je unijeti cijeli broj i pohraniti ga u varijablu A. Potom u varijablu X pohraniti vrijednost koja se dobije kada se na varijablu A primijeni postfiksni unarni operator A++ (uvećanje nakon dobave iz memorije).

Ispisati sadržaj varijabli X i A.

 

Unesi broj za operaciju A++:

Kad operacija zavrsi X= ...

Kad operacija zavrsi A= ...

 

Potom treba promijeniti naredbeni redak u kome se računa vrijednost varijable X, tako da se na varijablu A primijeni prefiksni unarni operator ++A (uvećanje prije dobave iz memorije).

Ispisati sadržaj varijabli X i A.

 

Unesi broj za operaciju ++A:

Kad operacija zavrsi X= ...

Kad operacija zavrsi A= ...

 

Usporediti rezultate te tako pokazati djelovanje unarnih operatora A++ i ++A.

 

 

Rješenje za A++:
 

#include<iostream>

using namespace std;

int main()

{

     int X,A;

     cout<<"Unesi broj za operaciju A++: ";

     cin>>A;

     X=A++;

     cout<<"Kad operacija zavrsi X= "<<X<<endl;

     cout<<"Kad operacija zavrsi A= "<<A<<endl;

return 0;

}

 

Provjera za unos broja 5 (A++):
 

 

Unesi broj za operaciju A++:5

Kad operacija zavrsi X=5

Kad operacija zavrsi A=6

 

 

Postfiksni operator najprije vraća postojeću vrijednost varijable A koja se potom pridružuje varijabli X. Potom operator djeluje na vrijednost varijable A i uvećava je za 1.

 

Rješenje za ++A:
 

#include<iostream>

using namespace std;

int main()

{

     int X,A;

     cout<<"Unesi broj za operaciju ++A: ";

     cin>>A;

     X=++A;

     cout<<"Kad operacija zavrsi X= "<<X<<endl;

     cout<<"Kad operacija zavrsi A= "<<A<<endl;

return 0;

}

 

Provjera za unos broja 5 (++A):

 

Unesi broj za operaciju ++A:5

Kad operacija zavrsi X=6

Kad operacija zavrsi A=6

 

 

Prefiksni operator najprije djeluje na vrijednost varijable A i uvećava je za 1. Potom tako promijenjenu vrijednost pridružuje varijabli X.

 

 

Unarni operatori za uvećanje i umanjenje ne mogu se primijeniti na konstante niti na aritmetičke izraze.

 

Neispravna primjena operatora ++

(A+B)++

5.18++