You are on page 1of 19

!" $%&'()*'+,- .%+/01, .

2,3/2,


!4'5'+'"!"6 pu npuuep sa noia+yua- eunupane na noia+yua na uero6po[na
npouenruua, pasruia nouery apeca u upenoc.
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{

int a=10;
int* p = &a;

cout<<"Adresata e: p="<<p<<endl;
cout<<"Vrednosta e:*p= "<<*p<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

" ,7*28)*'9/"!"6"





! 4'5'+'"!":" puuep sa eunupane na oia+yua o uno Char

# &%5"!":"
include <cstdlib>
#include <iostream>
// pointeri i nizi od znaci
using namespace std;

int main(int argc, char *argv[])
{


char *st; // pointerot e definiran kako znakovna promenliva
st="Programiranje vo C++"; // pokazuva na vrednost a ne na adresa vo
slucjajot
cout<<"Sodrzina : "<<st<<endl;
/* ako se saka ispis na adresata se koristi naredba int */
cout<<"Adresa :"<<(int)st<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

" ,7*28)*'9/"!":"






! 4'5'+'"!"!" puuep co noia+yua o uno Char, unipeuepupane na noia+yua
,eei
# &%5"!"!";"

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
char a='A';
char* p=&a;

cout<<"\n Demonstracija na operacii so adresa i pokazuvac \n";
cout<<"Na pocetok za a='A' i p=&a;, definirani kako char
promenlivi"<<endl;
cout<<"Adresata e "<<p<<endl; // *)
cout<<"Vrednosta e "<<*p<<endl;
cout<<"\n Posle primena na operacijata (*p++) \n";
(*p)++;
cout<<"Vrednosta e "<<*p<<endl;
cout<<"\n Posle primena na operacijata p++ \n";
p++;
cout<<"Adresata e "<< p<<endl; // *)
system("PAUSE");
return EXIT_SUCCESS;
}

// *) slika bez naredbata int

" ,7*28)*'9/"!"!"'
uo ne e uo pe?

# &%5"!"!"<"
// Sto se sluchuva ako se promenuva adresata ili vrednosta
// da se pojasni znacnenje na (int)
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
char a='A';
char* p=&a;

cout<<"\n Demonstracija na operacii so adresa i pokazuvac \n";
cout<<"Na pocetok za a='A' i p=&a;, definirani kako char
promenlivi"<<endl;
cout<<"Adresata e "<<(int)p<<endl; // *)
// printf("Adresata e, %i \n", p); // probaj so %X
cout<<"Vrednosta e "<<*p<<endl;
cout<<"\n Posle primena na operacijata (*p++) \n";
(*p)++;
cout<<"Vrednosta e "<<*p<<endl;
cout<<"\n Posle primena na operacijata p++ \n";
p++;
cout<<"Adresata e "<<(int)p<<endl; // *)
system("PAUSE");
return EXIT_SUCCESS;
}
" ,7*28)*'9/"!"!"<"


$. "# $%&'#( a ce npepa6ou saaaa co opuue prlnLf, scanf.
_____________________________________________________________
! 4'5'+'"!"=" a ce nanuue yniuu[a io[a na ures npuua noia+yuau co u[a nouou ce
upuu sauena na upenocu na ue apecu. 4yniuu[aa a npuua upenocu npeiy rraunaa
nporpaua.
# &%5"!"="

//Prenesuvanje na argumenite od funkcijata po vrednost
#include <iostream>
using namespace std;

void swap(int* x, int* y);


int main()
{
int x=5;
int y=10;

cout <<" vrednosti na promenlivite pred koirstenje na funkcijata
swap()"<< endl;
cout << "x= "<< x << endl;
cout << "y= "<< y << endl;
cout << " " << endl;

swap(x,y); // se predavaat adresi

cout <<" vrednosti na promenlivite po koirstenje na funkcijata
swap()"<< endl;
cout << "x= "<< x << endl;
cout << "y= "<< y << endl;

system("PAUSE");
return EXIT_SUCCESS;
}


void swap(int* px, int* py)
{
//se vrsi premestuvanje/zamena na sodrzinite na soodvetnite adresi
int temp; //pomosna promenliva

temp = *px;
*px = *py;
*py = temp;
}





" ,7*28)*'9/"!"="




! 4'5'+'"!">" porpaua uo io[a e npocreen )*+,%* -# .%*%/%*%0+1+*#2%
# &%5"!">"
/* int A,B;
int *p = &A; na pokazhuvacot se pridruzhuva adresa na promenliva a
a podocna ..
B = *p; Na promenlivata B i se pridruzuva vrednosta na promenlivata na
koja pokazuva p
( t.e. vrednosta na promenlivata A). */


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int C,B=2, A=13;
int *p=&A; // & adresen operator
B=*p;
C=A+B;
printf("\n A=13 B=*p=%d", B);
printf("\n C=A+B=%d \n", C);
system("PAUSE");
return EXIT_SUCCESS;
}

" ,7*28)*'9/"!">"




!4'5'+'"!"?" a ce nanuue nporpaua, uo io[a co nouou na yniuuu iou iopuca
noia+yuau, e ce upuu sauena na er o eic, npu nerouo neaene. 4yniuu[aa iaio
upenoc a ro npuua cpunro ups io[ pe6a a [a nanpauu npouenaa. (puuep sa
yniuu[a co npouenruua noia+yua o uno char )

# &%5"!"?"
#include <cstdlib>
#include <iostream>
#include <stdio.h>

using namespace std;

void f1(char* p) // sto raboti f-ta ? 2 ?? na pocetok
{
*p='?';
p++;
*p='!';
p++;
*p='?';
}
void f2(char* pok)
{
*pok= '0';
pok++;
*pok=';';
pok++;
*pok='-';
pok++;
*pok=')';
}
int main()
{
char planina[]="Pelister";
char zima[]="Ima mnogu sneg";
printf("\n%s \n",planina);
f1(planina);
printf("\n%s \n",planina);
printf("\n%s \n",zima);
f2(zima);
printf("\n%s \n",zima);



system("PAUSE");
return EXIT_SUCCESS;
}

" ,7*28)*'9/"!"?"


$" 4' */(@'A "# $% &#'()% '*+,*#-# .+ /+0# 1% $% '*%2#*3.# /+&/*%4%& $(-2+5 ( 1% ,+
6#-%&3.# $+ 6&#/ 78
!4'5'+'"!"B" 9*(-%* 6# '+/#:3.#; &# '+/#:3.#;

# &%5"!"B"
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
int x;
int *p=&x;
int **q=&p;

printf(" x= ");
scanf("%d" ,&x ); // proba so i bez &
printf(" x=%d\n *p=&x=%d\n **q=&p=%d\n", x, p, q );
system("PAUSE");
return EXIT_SUCCESS;
}
" ,7*28)*'9/"!"B"

!4'5'+'"!"C" " puuep sa noia+yua na noia+yua u upenoc
# &%5"!"C"
#include <cstdlib>
#include <iostream>

using namespace std;
int main(int argc, char *argv[])


{
int i=5;
int* p=&i;
int** pok=&p;

cout<<"Adresata kade e vrednosta na i e"<<pok<<endl;
cout<<"Adresata na pokazuvacot na i e "<<*pok<<endl;
cout<<"Vrednosta moze da se ispishe na dva nachini, *p= "<<*p<<endl;
cout<<"Ili pak kako vrednost na vrednosta pokazucaot p, t.e **pok, t.e.
"<<**pok<<endl;

system("PAUSE");
return EXIT_SUCCESS;



}
" ,7*28)*'9/"!"C"


8apu[ana: ucnuc co prlnLf u opuau sa xeicana u eiana apeca.






!4'5'+'"!"D" porpaua co enocauen npuuep sa cuyauu[a iora 345#&6$#7 % $8%-%0
#*96,%0: 0# /6051+;# 54;# $*#<# $*%.04=:.

# &%5"!"D"
#include <cstdlib>
#include <iostream>
#include <stdio.h>

using namespace std;

int f1(int a,int* b)
{
int c=0;
*b=9; // sto se slucuva ako ne e dadeno *b ?
c=a+*b+2;
return c ;
}

int f2(int a,int* b)
{
int c=0;
*b=3;
a=1;
c=a+*b+2;
return c ;
}

int main(int argc, char *argv[])
{
int a=3,b=4,c=0;
c=f1(a,&b); // primena na f-ja f1
printf("\n a=%d,b=%d,c=f1(a,&b)=%d \n",a,b,c);
c=f2(a,&b); // primena na f-ja f2
printf("\n a=%d,b=%d,c=f2(a,&b)=%d \n",a,b,c);

system("PAUSE");
return EXIT_SUCCESS;
}
// Za vezba: Varijanti koga *b ili a se ili ne se dadeni vo funkciite i
efekt od toa.

" ,7*28)*'9/"!"D"







=" $%&'()*'+, , 1,*1' .2,3/1' *% %@2'@%0&' 1' 1,7,E .%F,9' ,
&%2,G0/9/ *% H)1&I,,


!4'5'+'"="6" oia+yua na ereuenu o nusa, u upcia uery usuena na noia+yuau u
upenocu



# &%5"="6"
#include <cstdlib>
#include <iostream>
#include <iostream>


using namespace std;


int main(int argc, char *argv[])
{
int A[10];
int* ppok=&A[0];
int* kpok=&A[9];

int i=0;
cout<<"Vnesete gi broevite"<<endl;

for(i=0;i<10;i++)
cin>>*(A+i);

cout<<"Sto se slucuva so izmena na pointerite ? "<<endl;
for(i=0;i<10/2;i++)
{
int temp=*ppok;
*ppok=*kpok;
*kpok=temp;
cout<<*ppok<<endl;
cout<<*kpok<<endl;
ppok++;
kpok--;
}


system("PAUSE");
return EXIT_SUCCESS;
}




" ,7*28)*'9/"="6



!4'5'+'"=":8 nrycpauu[a na pasruiaa nouery noia+yua na ereuen ( nore) uo cpunr u
noia+yua na noeoi (nosuuu[a) o io[a ce npocreyua cpunro, u npuuena na nape6a
>?@ABCD


# &%5"=":"
// Razlika megju pokpol i *pokpol
#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;


int main(int argc, char *argv[])

{
char pole[100];
strcpy(pole, "Programiranje vo C++");
char *pokpol= &pole[0];
cout<<"Pole " <<pole<<endl;
cout<<"pokpol:"<< pokpol<<endl;
cout<< "*pokpol= "<<*pokpol<<endl;
cout<<"adresa na pokpol :"<<(int)pokpol<<endl;
pokpol+=17;
cout<<"pokpol+17 :" <<endl;
cout<<"pokpol="<<pokpol <<endl; /*ispis na sodr. pochuvakji od sodrzina
na pointer pa do termniniranje*/
cout<<"*pokpol = "<<*pokpol<<endl; /* ispis na sodr. na memoriska
lokacija na koja e * pokpol*/
cout<< "adresa na pokpol :"<<(int)pokpol<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}

" ,7*28)*'9/"=":"








4'@/F/8&'A <=><=? 0# @#.# .*%@&+$4# &# '*+-%&5(.#4# <=?A /+0# % $4*(&, $+
,+5%-(&# @+ BCC /#*#/4%*(8 D '*.+ +@ '+;%4+/ # '+$5% +@ BEBF GBH -%$4+ I
J<=><=? A '+(&4%* &# '+;%4&#4# .*%@&+$4 &# $4*(&,+4 .+ $53;#0+4 K8D '+@+L&# BF
-%$4# '*%-%$4%&# M I
9*+-%&#4# 6# BF -%$4#N @#.# &+.# .*%@&+$4 &# J<=><=? &# <=><=? ( &#,+5%-3.#O%
&# .*%@&+$4# 6# 4+;&+ BF -%$4#8

$8 "# $% &#'*#.( #&#5(6# ( @# $% /+-%&4(*##4 $5%@&(4% $(43#L(( '*(
/+-'#05(*#O%8




- a ce nanpauu pasruia nouery npeynpeyuane u cyrecu[a u nenpenosnauane
na no6apana aiuunoc.
- asruiu uery pasnu pa6onu oiorunu
- 8oue uo uciycuu sa npeonepeyuane".
- o[ e npo6reuo u iaio 6u uo+er a ce peuu






!4'5'+'"="!" oia+yuau u oeryuane na upenocu na nusa co nuuna nouou

# &%5"="!"
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])

{

int A[5];
int* pok=A;
int i=0;
cout<<"Vnesi gi clenovite na nizata "<<endl;
for(i=0;i<5;i++)
{
cout<<"A["<<i+1<<"]=";
cin>>*(pok++); // moze vakva forma namesto >>A[i];
cout<<endl;
}

for(i=0;i<5;i++)
cout<<"Pokazuvacot na na A["<<i+1<<"], ja dava
vrednosta"<<*pok++<<endl; // samo pok++ dava adresa

system("PAUSE");
return EXIT_SUCCESS;
}

" ,7*28)*'9/"="!"


$"4' */(@' P "# $% '*%*#2+4( '+ ($4#4# 5+,(/# $+ printf, scanf.



!4'5'+'"="=" a ce cocauu yniuu[a io[a na ures npuua npouenruua o un noia+yua, a
upaa iouenap sa npenosnauane na uno na npouenruua unecena uo nporpauaa- o
uno lnL, floaL uru char. 4yniuu[aa a ce ecupa uo maln nporpauaa.
# &%5"="=" "# $% .++;( ( /+-%&4(*# 4*%4-#&+4 &# '+/#:3.#; /#/+ #*,3-%&4 &# Q3&/L(0# RR


#include <cstdlib>
#include <iostream>

using namespace std;

void pecati(void* pok, char tip)
{
if(tip=='c')
{
char* cpok=(char*)pok;
cout<<*cpok<<endl;
}
else
if(tip=='i')
{
int* dpok=(int*)pok;
cout<<*dpok<<endl;
}
else
if(tip=='f')
{
float* fpok=(float*)pok;
cout<<*fpok<<endl;
}
else
cout<<"Ne go prepoznavam tipot na promenlivata"<<endl;
}

int main(int argc, char *argv[])
{
int a=120;
float b=3.34;
char kar='#';
double max=23456;
pecati(&a,'i');
pecati(&b,'f');
pecati(&kar, 'c');
pecati(&max, 'd');
system("PAUSE");
return EXIT_SUCCESS;
}

" ,7*28)*'9/"="=



$" 4' */(@'A S#-%$4+ $+ /+&$4#&4&( .*%@&+$4(N '*+,*#-#4# @# $% '*%*#2+4( $+
.&%$ &# '*+-%&5(.#4# ;(0 4(' 4*%2# @# $% '*%'+6&#%8




!4'5'+'"=">" a ce nanuue nporpaua uo io[a e ce upnu nornene na nusa o ueru
6poeuu, npeiy noia+yua u ucnuc na nusaa no o6paen peocre npeiy noia+yua.
# &%5"=">"

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int A[5];
int* pok=A;
int i=0;
cout<<"Vnesuvanje na vrednosti za poleto A."<<endl;
for(i=0;i<5;i++)
cin>>*pok++; // vnesuva vrednosti na A[i]
cout<<"Pecatenje od poslednata kon prvata vrednost-obratno: "<<endl;
for(i=0;i<5;i++)
cout<<*(--pok)<<endl; // pecati od poslednata kon prvata vrednost
// for(i=4;i>-1; i--) .. so greshki
//cout<<(*pok--)<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}

" ,7*28)*'9/"=">"
!

$. "# $%&'#( a ce pasuucru sa peuenu uneco u ucnuco a 6ua peuenu co
yniuuu iou ce nouuiyuaa uo maln nporpauaa.

!4'5'+'"="?" "# $% $+$4#.( '*+,*#-# sa o6pa6oia na cpunr co nouou na nounepu. 8o
saaaa unecenuo cpunr a ce nanuue no o6paen peocre uerocno, a nooa a ce
nanuua no o6paen peocre cauo s6opouue, 6es a ce usuenyuaa 6yiuue uo nuu.
# &%5"="?"

#include <cstdlib>
#include <iostream>

#include <string>
#define MAX 80

using namespace std;

int main(int argc, char *argv[])

{
int n;
char red[MAX],*pok,*pisi,*stoj;

printf("\n\nVnesi eden red tekst: ");
gets(red);

n=strlen(red);
pok=&red[n];
printf("\n\nBukvite obratno: ");
while(pok>=red)
printf("%c",*pok--);

printf("\n\nZborovite obratno: ");
stoj=pok=&red[n];
while(pok-->=red)
{
if(*pok==' ' || pok==red)
{
pisi=pok;
while(pisi<=stoj)
printf("%c",*pisi++);
stoj=pok;
}
}


system("PAUSE");
return EXIT_SUCCESS;
}

" ,7*28)*'9/"="?"



$8 4' */(@'A T2*#2+4/#4# &# $4*(&,+4 $'+*%@ '*#.(5#4# @# $% *%)( $+ Q3&/L((
/+( $% '+.(/3.##4 .+ UVWX '*+,*#-#4#8



!4'5'+'"="B" a ce cocauu yniuu[a, io[a na ures npuua noia+yua, co io[a ce copupa
ena nusa o ueru 6poeuu, co sauena na roiauuue na 6opeuue oiory uenparnaa
nosuuu[a.

# &%5"="B"
#include <iostream>
#include <algorithm>

using namespace std;

// Funkcija Prevrti

template<typename TIP>

void Prevrti (TIP *p1, TIP *p2)
// pokazuvaci na elementite na obicna i prevrtena niza
{
int br=0; // br - broj na elementi na nizata
p2--; // Pokazuvacot p2 se pozicionira na posledniot clen
while(*p1!=*p2)
{
p1++;
br++;
} /* Se presmetuva dolzinata na nizata*/
p1-=br; /* Pokazuvacvot p1 se vrakja na staroto mesto */

/* For ciklus so koj preku pokazuvacite se menuva redosledot na
clenovite, prvo krajnite, pa tie pred niv,... do sredisniot-daden vo
eden od primerite prethodno */

for(int i=0; i<br/2; i++)
{
TIP pr=*p1;
*p1=*p2;
*p2=pr;
*p1++;
*p2--;
}
}
/*Ispisuvanje na brojot */

void Ispisi(int x)
{
cout << x << " ";
}
int main()

{
int A[100]; /* Deklaracija na nizata */
int n; /* Broj na clenovi na nizata */

cout << "Vnesi go brojot na clenovi na nizata: ";
cin >> n;
for (int i=0; i<n; i++)
{
int br;
cout << i+1 << ": ";
cin >> br;
A[i]=br;
}

/* Povikuvanje na Prevrti */
Prevrti(A, A+n);
cout << "Prevrtena niza: "; /* Ispis na prevrtena niza */
for_each(A, A+n, Ispisi);
//http://www.cplusplus.com/reference/algorithm/for_each.html

system("PAUSE");
return 0;
}
/*napomena: postoi vakva funckija reverse vo bibliotekata za algoritmi*/

" ,7*28)*'9/"="B""



$4' J/(@'P "# $% '*%*#2+4( 6#@#;#4# $+ Q+*-(4% <YWXZ[ ( \]VX[

You might also like