Professional Documents
Culture Documents
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
Sodr`ina strana 2
1. Funkcii
1. Da se napi{e programa vo programskiot jazik C++ so koja }e 8
se presmeta sumata 1k+2k+3k+...nk kade {to n i k se vnesuvaat
preku tastatura. Sekoj od stepenite da se presmetuva so
funkcija.
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
25
8. Da se napi{e programa vo programskiot jazik C++, koja vo
daden interval go nao|a onoj broj ~ij{to zbir na deliteli e
maksimalen. Da se napi{e funkcija za nao|awe na zbirot na
delitelite na daden broj.
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
18. Da se napi{e programa vo programskiot jazik C++ so koja 45
}e se presmeta sumata x1+x2+...+xn. Da se iskoristi funkcija za
stepenuvawe na eden broj.
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
28. Na ispit u~estvuvale n<20 kandidati. Minimalniot broj 71
na poeni za upis e min. Da se napi{e programa vo
programskiot jazik C++ so koja }e se opredeli brojot na
kandidatite koi steknale pravo na upis i }e go presmeta
nivniot sreden uspeh poka`an na ispitot.
2. Klasi
99
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
5. Da se razvie klasa Student koja sodr`i ime, prezime i
ocenki na studentot, kako i metod za vnesuvawe na ocenkite
i metod za pe~atewe na podatocite na studentot, zaedno so
prosekot od negovite ocenki.
13. Da se razvie klasa Niza koja sodr`i niza od celi broevi 125
i da se preoptovari operatorot [ ] za dobivawe na
elementite od nizata.
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
20. Da se razvie klasa Niza koja sodr`i niza od celi broevi 149
i da se preoptovari operatorot [ ] za dobivawe na
elementite od nizata koj dava poraka za gre{ka pri
nevaliden indeks.
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
1. Funkcii
1. Da se napi{e programa vo programskiot jazik C++ so koja }e
se presmeta sumata 1k+2k+3k+...nk kade {to n i k se vnesuvaat
preku tastatura. Sekoj od stepenite da se presmetuva so
funkcija.
Re{enie:
broja~ za
i
intervalot
#include <iostream>
using namespace std;
long stepen(int x,int k)
{
int i;
long suma=1;
for(i=0; i<k; i++)
suma*=x;
return suma;
}
int main()
{
int n,k,i;
long sum=0;
cout<<"Vnesete ja poslednata osnova: ";
cin>>n;
cout<<"Vnesete go stepenot : ";
cin>>k;
cout<<endl;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
for(i=1;i<=n;i++)
sum+=stepen(i,k);
cout<<"Vkupnata suma iznesuva : "<<sum<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
2. Da se napi{e programa vo programskiot jazik C++ so koja }e
se najdat i izbrojat site broevi vo daden interval koi se
delivi so svoite cifri, osven nula. Da se napi{e funkcija za
opredeluvawe na delivosta na broj so svoite cifri.
Re{enie:
#include <iostream>
using namespace std;
int dellivo(int k)
{
int pom=k, deliv=1, c;
while(pom>0)
{
c=pom%10;
if(c!=0)
{
if(k%c!=0)
{
deliv=0;
break;
}
}
pom/=10;
}
return deliv;
}
int main()
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
int pocetok, kraj, i, rez, sum=0;
cout<<"Vnesete go pocetokot na intervalot : ";
cin>>pocetok;
cout<<"Vnesete go krajot na intervalot : ";
cin>>kraj;
cout<<endl<<"Vo intervalot od "<<pocetok<<" do "<<kraj<<"
delivi so svoite cifri se slednite broevi :"<<endl;
for(i=pocetok; i<=kraj; i++)
{
rez=dellivo(i);
if(rez==1)
{
cout<<i<<" ";
sum++;
}
}
if(sum==0)
cout<<endl<<"Nema takvi broevi vo toj interval"<<endl;
else
cout<<endl<<"Vkupno takvi broevi ima "<<sum<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
3. Da se napi{e programa vo programskiot jazik C++ so koja }e
se najdat i izbrojat site broevi palindromi vo daden
interval. Da se napi{e funkcija za opredeluvawe na
sprotivniot broj na dadeniot.
Re{enie:
i broja~ za intervalot
#include <iostream>
using namespace std;
long sprotiven(int k)
{
long pom=k, p=0;
int c;
while(pom>0)
{
c=pom%10;
p=p*10+c;
pom/=10;
}
return p;
}
int main()
{
long pocetok, kraj, i, s;
int sum=0;
cout<<"Vnesete go pocetokot na intervalot : ";
cin>>pocetok;
cout<<"Vnesete go krajot na intervalot : ";
cin>>kraj;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<endl<<"Vo intervalot od "<<pocetok<<" do "<<kraj<<"
palindromi se slednite broevi :"<<endl;
for(i=pocetok; i<=kraj; i++)
{
s=sprotiven(i);
if(s==i)
{
cout<<i<<" ";
sum++;
}
}
if(sum==0)
cout<<endl<<"Nema palindromi vo dadeniot interval"<<endl;
else
cout<<endl<<"Vkupno palindromi vo toj interval ima
"<<sum<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
4. Da se napi{e programa vo programskiot jazik C++ so koja }e
se najdat i izbrojat site prosti broevi vo daden interval . Da
se napi{e funkcija za opredeluvawe dali dadeniot broj e
prost.
Re{enie:
#include <iostream>
using namespace std;
bool prost(int k)
{
int pom=k, i;
bool dali=true;
for(i=2; i<=pom/2; i++)
{
if((pom%i)==0)
{
dali=false;
break;
}
}
return dali;
}
int main()
{
int pocetok, kraj, i, sum=0;
bool pom;
cout<<"Vnesete go pocetokot na intervalot : ";
cin>>pocetok;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<"Vnesete go krajot na intervalot : ";
cin>>kraj;
cout<<endl<<"Vo intervalot od "<<pocetok<<" do "<<kraj<<"
prosti se slednite broevi :"<<endl;
for(i=pocetok; i<=kraj; i++)
{
pom=prost(i);
if(pom)
{
cout<<i<<" ";
sum++;
}
}
if(sum==0)
cout<<endl<<"Nema prosti broevi vo dadeniot interval"<<endl;
else
cout<<endl<<"Vkupno prosti broevi vo toj interval ima
"<<sum<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
5. Da se napi{e programa vo programskiot jazik C++ so koja }e
se najdat i izbrojat site parovi broevi od daden interval
~ij{to zbir e sprotiven broj od nivnata razlika. Da se napi{e
funkcija za opredeluvawe na sprotivniot broj na dadeniot.
Re{enie:
#include <iostream>
using namespace std;
int sprotiven(int k)
{
int pom=k, p=0, c;
while(pom>0)
{
c=pom%10;
p=p*10+c;
pom/=10;
}
return p;
}
int main()
{
int pocetok, kraj, i, j, s, sum=0;
cout<<"Vnesete go pocetokot na intervalot : ";
cin>>pocetok;
cout<<"Vnesete go krajot na intervalot : ";
cin>>kraj;
cout<<endl<<"Vo intervalot od "<<pocetok<<" do "<<kraj<<"
broevi sto go zadovoluvaat uslovot se :"<<endl;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
for(i=pocetok; i<=kraj; i++)
{
for(j=i; j<=kraj; j++)
{
s=sprotiven(i*j);
if(s==(i+j))
{
cout<<i<<" i "<<j<<" :
"<<i<<"+"<<j<<"="<<i+j<<" i "<<i<<"*"<<j<<"="<<i*j<<endl;
sum++;
}
}
}
if(sum==0)
cout<<"Nema takvi parovi vo dadeniot interval"<<endl;
else
cout<<"Vkupno takvi parovi vo toj interval ima "<<sum<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
6. Da se napi{e programa vo programskiot jazik C++ so koja }e
se najdat site broevi vo daden interval {to se ednakvi na
zbirot od kubovite na svoite cifri, proizvodot od kubovite
na svoite cifri, ili pak, zbirot od zbirot od kubovite na
svoite cifri i proizvodot od kubovite na svoite cifri. Da se
napi{at funkcii za opredeluvawe na zbirot od kubovite na
cifrite i proizvodot od kubovite na cifrite na daden broj.
Re{enie:
#include <iostream>
using namespace std;
int zbir(int k)
{
int pom=k, z=0, cifra;
while(pom>0)
{
cifra=pom%10;
z+=cifra*cifra*cifra;
pom/=10;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
return z;
}
void pecatiZbir(int k)
{
int pom=k, cifra;
while(pom>0)
{
cifra=pom%10;
cout<<cifra<<"*"<<cifra<<"*"<<cifra<<"+";
pom/=10;
}
cout<<"0";
}
int proizvod(int k)
{
int pom=k, p=1, cifra;
while(pom>0)
{
cifra=pom%10;
p*=cifra*cifra*cifra;
pom/=10;
}
return p;
}
void pecatiProizvod(int k)
{
int pom=k, cifra;
while(pom>0)
{
cifra=pom%10;
cout<<"("<<cifra<<"*"<<cifra<<"*"<<cifra<<")"<<"*";
pom/=10;
}
cout<<"1";
}
int main()
{
int pocetok, kraj, i, s, sum=0;
cout<<"Vnesete go pocetokot na intervalot : ";
cin>>pocetok;
cout<<"Vnesete go krajot na intervalot : ";
cin>>kraj;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<"\nBroevi ednakvi na zbirot od kubovite na cifrite : ";
for(i=pocetok; i<=kraj; i++)
{
s=zbir(i);
if(s==i)
{
cout<<endl<<i<<" = ";
pecatiZbir(i);
sum++;
}
}
if(sum==0)
cout<<"\nNema takvi broevi vo dadeniot interval \n"<<endl;
else
cout<<"\nVkupno takvi broevi vo toj interval ima "<<sum<<endl;
sum=0;
cout<<"\nBroevi ednakvi na proizvodot od kubovite na cifrite : ";
for(i=pocetok; i<=kraj; i++)
{
s=proizvod(i);
if(s==i)
{
cout<<endl<<i<<" = ";
pecatiProizvod(i);
sum++;
}
}
if(sum==0)
cout<<"\nNema takvi broevi vo dadeniot interval"<<endl;
else
cout<<"\nVkupno takvi broevi vo toj interval ima "<<sum<<endl;
sum=0;
cout<<"\nBroevi ednakvi na zbirot od prethodnite dve sumi : ";
for(i=pocetok; i<=kraj; i++)
{
s=zbir(i)+proizvod(i);
if(s==i)
{
cout<<endl<<i<<" = ";
pecatiZbir(i);
cout<<" + ";
pecatiProizvod(i);
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
sum++;
}
}
if(sum==0)
cout<<"\nNema takvi broevi vo dadeniot interval"<<endl;
else
cout<<"\nVkupno takvi broevi vo toj interval ima "<<sum<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
7. Da se napi{e programa vo programskiot jazik C++ so koja }e
se pronajdat site Armstrongovi broevi vo zadaden interval.
Armstrongovi broevi se broevi za koi va`i:
abc
k a b c k .
n n n n
Re{enie:
#include<iostream>
using namespace std;
long stepen(int n,int k)
{
long pom=1;
int i;
for(i=1; i<=k; i++)
pom*=n;
return pom;
}
int brojCifri(int n)
{
int br=0,pom=n;
while(pom>0)
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
br++;
pom/=10;
}
return br;
}
int main()
{
int pocetok, kraj, i, j, brCif, cifra, pom, sum=0;
long zbir;
cout<<"Vnesete go pocetokot na intervalot : ";
cin>>pocetok;
cout<<"Vnesete go krajot na intervalot : ";
cin>>kraj;
cout<<endl<<"Vo intervalot od "<<pocetok<<" do "<<kraj<<"
Armstrongovi se slednite broevi :"<<endl;
for(i=pocetok; i<=kraj; i++)
{
brCif=brojCifri(i);
pom=i;
zbir=0;
for(j=1; j<=brCif; j++)
{
cifra=pom%10;
zbir+=stepen(cifra, brCif);
pom/=10;
}
if(zbir==i)
{
cout<<i<<" ";
sum++;
}
}
if(sum==0)
cout<<endl<<"Nema Armstrongovi broevi vo dadeniot
interval"<<endl;
else
cout<<endl<<"Vkupno Armstrongovi broevi vo toj interval ima
"<<sum<<endl;
return 0;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
8. Da se napi{e programa vo programskiot jazik C++, koja vo
daden interval go nao|a onoj broj ~ij{to zbir na deliteli e
maksimalen. Da se napi{e funkcija za nao|awe na zbirot na
delitelite na daden broj.
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
if(s>maxzbir)
{
maxzbir=s;
max=i;
}
}
cout<<"\nVo intervalot od "<<pocetok<<" do "<<kraj<<" najgolem
zbir na deliteli ima "<<max<<endl;
cout<<"Zbirot na negovite deliteli e "<<maxzbir<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
9. Da se napi{e programa vo programskiot jazik C++ so koja }e
se ispe~atat site sovr{eni broevi od daden interval.
Sovr{eni broevi se broevite koi se ednakvi na zbirot od
nivnite deliteli, vklu~uvaj}i go i brojot 1. Da se napi{e
funkcija za nao|awe na zbirot na delitelite na daden broj.
Re{enie:
broja~ za
i
intervalot
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
}
cout<<endl;
}
int main()
{
int pocetok, kraj, i, s, sum=0;
cout<<"Vnesete go pocetokot na intervalot : ";
cin>>pocetok;
cout<<"Vnesete go krajot na intervalot : ";
cin>>kraj;
cout<<endl<<"Vo intervalot od "<<pocetok<<" do "<<kraj<<"
sovrseni broevi se :"<<endl;
for(i=pocetok; i<=kraj; i++)
{
s=sumaDeliteli(i);
if(s==i)
{
pecati(i);
sum++;
}
}
if(sum==0)
cout<<"Nema sovrseni broevi vo dadeniot interval \n"<<endl;
else
cout<<"Vkupno sovrseni broevi vo toj interval ima "<<sum<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
10. Da se napi{e programa vo programskiot jazik C++ za
re{avawe na kvadratnata ravenka a x 2 b x c 0 . Da se
napi{e funkcija za nao|awe na re{enijata.
Re{enie:
#include<iostream>
#include<math.h>
using namespace std;
void ravenka(float a, float b, float c, float *x1, float *x2, int *dali)
{
float d=b*b-4*a*c;
if (d>=0)
{
*x1=(-b-sqrt(d))/(2*a);
*x2=(-b+sqrt(d))/(2*a);
*dali=1;
}
else
{
*x1=-b/(2*a);
*x2=sqrt((-1)*d)/(2*a);
*dali=0;
}
}
int main()
{
float a,b,c;
float x1, x2;
int dali;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
do
{
cout<<"Vneste go koeficientot 'a' pred x^2 (a!=0) : ";
cin>>a;
}
while(a==0);
cout<<"Vneste go koeficientot 'b' pred x : ";
cin>>b;
cout<<"Vneste go slobodniot clen 'c' : ";
cin>>c;
ravenka(a,b,c,&x1,&x2,&dali);
if(dali==1)
cout<<"\nRavenkata ima realni resenija : x1="<<x1<<" i
x2="<<x2<<endl;
else
{
cout<<"\nRavenkata ima imaginarni resenija :"<<endl;
cout<<"x1="<<x1<<"+i*"<<x2<<" i x2="<<x1<<"-i*"<<
x2<<endl;
}
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
11. Da se napi{e programa vo programskiot jazik C++ so koja }e
se presmeta najmaliot broj na banknoti od po 500, 50 i 10
denari so koi mo`e da se dobie dadena suma na pari.
Re{enie:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
do
{
cout<<"Vneste ja sumata za koja ke se opredeluva (suma>0)
: ";
cin>>suma;
}
while (suma<=0);
ostatok=banknoti(suma, &petsto, &pedeset, &deset);
cout<<"\nSumata "<<suma<<" moze da se dobie so :\n";
cout<<petsto<<" banknoti od po 500 denari plus \n";
cout<<pedeset<<" banknoti od po 50 denari plus \n";
cout<<deset<<" banknoti od po 10 denari \n";
if(ostatok>0)
cout<<"i moneti so vkupna vrednost od "<<ostatok<<"
denari.\n";
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
12. Da se napi{e programa vo programskiot jazik C++ za
kratewe na dropka so dadeni broitel i imenitel. Da se
iskoristi funkcija za NZD na dva broja.
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
13. Da se napi{e programa vo programskiot jazik C++ so koja
}e se izbroi kolku elementi od dadena niza imaat paren, a
kolku neparen broj na cifri.
Re{enie:
#include<iostream>
using namespace std;
int brojCifri(int n)
{
int br=0,pom=n;
while(pom>0)
{
br++;
pom/=10;
}
return br;
}
int main()
{
int niza[20], i, n, parni=0, neparni=0;
cout<<"Kolku elementi ke ima nizata : ";
cin>>n;
cout<<"Vnesete gi elementite od nizata :\n";
for(i=0; i<n; i++)
{
cout<<"n["<<i<<"] = ";
cin>>niza[i];
}
for(i=0;i<n;i++)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{ if(brojCifri(niza[i])%2==0)
parni++;
else
neparni++;
}
cout<<"Vnesenata niza e :\n";
for(i=0; i<n; i++)
{
cout<<"n["<<i<<"] = "<<niza[i]<<" ";
}
cout<<"\nOd vnesenite elementi, "<<parni<<" elementi se so paren
broj na cifri";
cout<<"\na "<<neparni<<" elementi se so neparen broj na cifri.\n";
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
n[0] = 2386 n[1] = 417 n[2] = 3571 n[3] = 29 n[4] = 3
Od vnesenite elementi, 3 elementi se so paren broj na cifri,
a 2 elementi se so neparen broj na cifri.
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
14. Da se napi{e programa vo programskiot jazik C++ so koja na
parnite pozicii vo edna niza }e se zapi{at obratnite broevi
na elementite, a na neparnite pozicii }e se zapi{at
kvadratite na elementite.
Re{enie:
broj na elementi vo
n
nizata
i broja~ za nizata
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
}
cout<<"\nVnesenata niza e :\n";
for(i=0; i<n; i++)
cout<<"n["<<i<<"] = "<<niza[i]<<" ";
for(i=0; i<n; i++)
{
if(i%2==0)
niza[i]=sprotiven(niza[i]);
else
niza[i]=niza[i]*niza[i];
}
cout<<"\nNovodobienata niza e:\n";
for(i=0;i<n;i++)
cout<<"n["<<i<<"] = "<<niza[i]<<" ";
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
n[0] = 24 n[1] = 7 n[2] = 351 n[3] = 14 n[4] = 9151 n[5]=25
Novodobienata niza e :
n[0] = 42 n[1] = 49 n[2] = 153 n[3] = 196 n[4] = 1519 n[5]=625
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
15. Da se napi{e programa vo programskiot jazik C++ so koja }e
se presmeta NZS na elementite od dadena niza. Da se
iskoristi funkcija za nao|awe na NZS na dva broja.
Re{enie:
#include<iostream>
using namespace std;
int NZS(int m,int n)
{
int pom,j;
pom=1;
j=2;
do
{
while(m%j==0 || n%j==0)
{
if(m%j==0)
m/=j;
if(n%j==0)
n/=j;
pom*=j;
}
j++;
} while(m!=1 || n!=1);
return pom;
}
int main()
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
int niza[20], i, n, nzs;
cout<<"Kolku elementi ke ima nizata? ";
cin>>n;
cout<<"Vnesete gi elementite od nizata :\n";
for(i=0; i<n; i++)
{
cout<<"n["<<i<<"] = ";
cin>>niza[i];
}
nzs=NZS(niza[0],niza[1]);
for(i=2;i<n;i++)
nzs=NZS(nzs,niza[i]);
cout<<"\nVnesenata niza e :\n";
for(i=0; i<n; i++)
cout<<"n["<<i<<"] = "<<niza[i]<<" ";
cout<<"\nNZS za elementite od nizata e "<<nzs<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
n[0] = 5 n[1] = 8 n[2] = 12 n[3] = 9
NZS za elementite od nizata e 360
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
16. Da se napi{e programa vo programskiot jazik C++ so koja }e
se presmeta NZD na elementite od dadena niza. Da se
iskoristi funkcija za nao|awe na NZD na dva broja.
Re{enie:
i broja~ za nizata
NZD
funkcija koja nao|a NZD na dva broja
(int m,int n)
#include<iostream>
using namespace std;
int NZD(int m,int n)
{
if (n==0)
return m;
else
return(NZD(n,m%n));
}
int main()
{
int niza[20], i, n, nzd;
cout<<"Kolku elementi ke ima nizata : ";
cin>>n;
cout<<"Vnesete gi elementite od nizata :\n";
for(i=0; i<n; i++)
{
cout<<"n["<<i<<"] = ";
cin>>niza[i];
}
nzd=NZD(niza[0],niza[1]);
for(i=2; i<n; i++)
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
nzd=NZD(nzd,niza[i]);
if(nzd==1)
break;
}
cout<<"\nVnesenata niza e :\n";
for(i=0; i<n; i++)
cout<<"n["<<i<<"] = "<<niza[i]<<" ";
cout<<"\nNZD za elementite od nizata e "<<nzd<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
n[0] = 15 n[1] = 24 n[2] = 36 n[3] = 45
NZD za elementite od nizata e 3
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
17. Da se napi{e programa vo programskiot jazik C++ so koja
}e se stepenuva dadena niza na k-ti stepen. Da se iskoristi
funkcija za stepenuvawe na eden broj.
Re{enie:
broj na elementi vo
n
nizata
stepen na koj }e se
st
stepenuva nizata
i broja~ za nizata
stepen
funkcija za nao|awe na n^k (n na stepen k)
(int n,int k)
#include<iostream>
using namespace std;
int stepen(int n,int k)
{
int pom=1, i;
for(i=1; i<=k; i++)
pom*=n;
return pom;
}
int main()
{
int niza[20], i, n, st;
cout<<"Kolku elementi ke ima nizata? ";
cin>>n;
cout<<"Vnesete gi elementite od nizata :\n";
for(i=0; i<n; i++)
{
cout<<"n["<<i<<"] = ";
cin>>niza[i];
}
do
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
cout<<"\nNa koj stepen da se stepenuvaat elementite : ";
cin>>st;
}while(st<0);
cout<<"\nVnesenata niza e :\n";
for(i=0; i<n; i++)
cout<<"n["<<i<<"] = "<<niza[i]<<" ";
for(i=0; i<n; i++)
niza[i]=stepen(niza[i], st);
cout<<"\nStepenuvanata niza e :\n";
for(i=0; i<n; i++)
cout<<"n["<<i<<"] = "<<niza[i]<<" ";
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
n[0] = 11 n[1] = -7 n[2] = 5 n[3] = -10
Novodobienata niza e :
n[0] = 1331 n[1] = -343 n[2] = 125 n[3] = -1000
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
18. Da se napi{e programa vo programskiot jazik C++ so koja }e
se presmeta sumata x1+x2+...+xn. Da se iskoristi funkcija za
stepenuvawe na eden broj.
Re{enie:
#include<iostream>
using namespace std;
int stepen(int n,int k)
{
int pom=1, i;
for(i=1; i<=k; i++)
pom*=n;
return pom;
}
int main()
{
int x, i, st, pom;
long suma=0;
cout<<"Vnesete ja osnovata na stepenite : ";
cin>>x;
do
{
cout<<"Vnesete go najgolemiot stepen : ";
cin>>st;
}while(st<0);
cout<<"Baranata suma e : \n";
for(i=1; i<=st; i++)
{
pom=stepen(x,i);
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<pom;
if(i==st)
cout<<" = ";
else
cout<<" + ";
suma+=pom;
}
cout<<suma<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Baranata suma e :
5 + 25 + 125 + 625 = 780
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
19. Da se napi{e programa vo programskiot jazik C++ so koja }e
se presmeta vrednosta na funkcijata cos(x) spored formulata
x2 x4 x6
cos x 1 .... so koristewe na prvite n ~lenovi.
2! 4! 6!
Re{enie:
broj na ~lenovi
n cosinus baraniot cosinus
vo presmetkata
vrednosta na
pi
konstantata pi
pomo{ni
i, clen
promenlivi
stepen(float
funkcija za nao|awe na n^k (n na stepen k)
n,int k)
funkcija za nao|awe na faktoriel na daden
faktoriel(int x)
broj
#include<iostream>
using namespace std;
float stepen(float n,int k)
{
float pom=1.0;
int i;
for(i=1; i<=k; i++)
pom*=n;
return pom;
}
long faktoriel(int x)
{
long izlez=1;
int i;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
for (i=1; i<=x; i++)
izlez*=i;
return izlez;
}
int main()
{
float cosinus=1, alfa, pi=3.1416, pom, clen;
int i, n;
do
{
cout<<"Vnesete ja vrednosta na agolot vo stepeni : ";
cin>>alfa;
}while (alfa>180);
pom=alfa;
if (alfa>=90)
alfa=180-alfa;
alfa=(alfa*pi)/180;
cout<<"Vnesete do koj clen da se presmetuva : ";
cin>>n;
for (i=2; i<=n; i+=2)
{
clen=stepen(alfa,i)/faktoriel(i);
if((i%4)!=0)
clen*=-1;
cosinus+=clen;
}
cout<<"\nRezultatot e : cos("<<pom<<") = ";
if(pom>=90)
cout<<(-1)*cosinus<<endl;
else
cout<<cosinus<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Vnesete ja vrednosta na agolot vo stepeni : 45
Vnesete do koj ~len da se presmetuva : 10
Programata pe~ati:
Rezultatot e : cos(45) = 0.707106
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
20. Da se napi{e programa vo programskiot jazik C++ so koja }e
se pronajdat site broevi vo daden interval ~ii cifri se
podredeni vo raste~ki redosled, po~nuvaj}i od cifrata so
najgolema kon cifrata so najmala vrednost.
Re{enie:
#include<iostream>
using namespace std;
bool redosled(int x)
{
int min,cifra;
bool da=true;
min=x%10;
x/=10;
while((x!=0)&&(da==true))
{
cifra=x%10;
if(cifra >= min)
da=false;
else
{
min=cifra;
x/=10;
}
}
return da;
}
int main()
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
int pocetok, kraj, i, sum=0;
bool dali;
cout<<"Vnesete go pocetokot na intervalot : ";
cin>>pocetok;
cout<<"Vnesete go krajot na intervalot : ";
cin>>kraj;
cout<<"\nBroevi kaj koi cifrite se vo rastecki redosled se :\n";
for(i=pocetok; i<=kraj; i++)
{
dali=redosled(i);
if(dali==true)
{
cout<<i<<" ";
sum++;
}
}
if(sum==0)
cout<<endl<<"Nema takvi broevi vo toj interval"<<endl;
else
cout<<endl<<"Vkupno takvi brevi ima "<<sum<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
21. Da se napi{e programa vo programskiot jazik C++ so koja }e
se pronajdat site broevi vo daden interval kaj koi zbirot i
proizvodot od cifrite e prost broj.
Re{enie:
#include<iostream>
using namespace std;
int main()
{
int pocetok, kraj, i, sum=0;
cout<<"Vnesete go pocetokot na intervalot : ";
cin>>pocetok;
cout<<"Vnesete go krajot na intervalot : ";
cin>>kraj;
cout<<"\nBroevi so prost zbir i proizvod na cifri se :\n";
for(i=pocetok; i<=kraj; i++)
{
if(prost(zbirCifri(i)) && prost(proizvodCifri(i)))
{
cout<<i<<" ";
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
sum++;
}
}
if(sum==0)
cout<<endl<<"Nema takvi broevi vo toj interval"<<endl;
else
cout<<endl<<"Vkupno takvi brevi ima "<<sum<<endl;
return 0;
}
bool prost(int x)
{
if(x==0 || x==1)
return false;
int i;
bool dali=true;
for(i=2;i<=x/2;i++)
{
if (x%i==0)
{
dali=false;
break;
}
}
return dali;
}
int zbirCifri(int x)
{
int zbir=0;
while (x>0)
{
zbir+=x%10;
x/=10;
}
return zbir;
}
int proizvodCifri(int x)
{
int proizvod=1;
while(x>0)
{
proizvod*=x%10;
x/=10;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
}
return proizvod;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
22. Da se napi{e programa vo programskiot jazik C++ so koja }e
se izbri{at site elementi od dadena niza koi se javuvaat
pove}e od edna{.
Re{enie:
#include<iostream>
using namespace std;
int promena(int *a, int n);
int main()
{
int a[20],i,n;
cout<<"Kolku elementi da ima nizata? ";
cin>>n;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"\nVnesenata niza e: \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
n=promena(a,n);
cout<<"\nNovata niza e: \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\n";
return 0;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
}
int promena(int *a, int n)
{
int i=0, j, p;
while(i<n)
{
for(j=i+1; j<n; j++)
{
if(a[i]==a[j])
{
for(p=j; p<n; p++)
{
a[p]=a[p+1];
}
n--;
}
}
if(a[i]!=a[i+1])
i++;
}
return n;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
1 2 3 4 3 4 5
Novata niza e:
1 2 3 4 5
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
23. Da se napi{e programa vo programskiot jazik C++ so koja }e
se izbrojat pojavuvawata na maksimalniot i minimalniot
element od dadena niza.
Re{enie:
#include<iostream>
using namespace std;
int main()
{
int a[20],i,n, min, max, brojMin, brojMax;
cout<<"Kolku elementi da ima nizata?";
cin>>n;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
brojMin=brMin(a,n,&min);
brojMax=brMax(a,n,&max);
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<"\nNajgolemiot broj vo nizata e "<<max<<" i se javuva
"<<brojMax<<" pati\n";
cout<<"Najmaliot broj vo nizata e "<<min<<" i se javuva
"<<brojMin<<" pati\n";
return 0;
}
int brMin(int *a, int n, int *minimalen)
{
int min=a[0], i, broj=0;
for(i=1; i<n; i++)
if(a[i]<min)
min=a[i];
*minimalen=min;
for(i=0; i<n; i++)
if(a[i]==min)
broj++;
return broj;
}
int brMax(int *a, int n, int *maximalen)
{
int max=a[0], i, broj=0;
for(i=1; i<n; i++)
if(a[i]>max)
max=a[i];
*maximalen=max;
for(i=0; i<n; i++)
if(a[i]==max)
broj++;
return broj;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
15 4 -9 55 -9 52 55
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
24. Da se napi{e programa vo programskiot jazik C++ so koja }e
se pronajde na koi pozicii i kolku pati se pojavil daden
element vo dadena niza.
Re{enie:
#include<iostream>
using namespace std;
int main()
{
int a[20], b[20], i, n, n2, x;
cout<<"Kolku elementi da ima nizata? ";
cin>>n;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"Koj element da se bara vo nizata? ";
cin>>x;
n2=najdi(a,n,x,b);
cout<<"\nVnesenata niza e: \n";
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
for(i=0; i<n; i++)
cout<<a[i]<<" ";
if(n2==0)
cout<<"\nBrojot "<<x<<" ne se javuva vo nizata\n";
else
{
cout<<"\nBrojot "<<x<<" se javuva vo nizata "<<n2<<" pati
na slednite pozicii :\n";
if(n2==1)
cout<<"Se javuva samo na "<<b[0]<<" popicija\n";
else
{
for(i=0; i<n2-1; i++)
cout<<b[i]<<", ";
cout<<"i "<<b[i]<<" pozicija\n";
}
}
return 0;
}
int najdi(int *a, int n, int x, int *b)
{
int i, j=0;
for(i=0; i<n; i++)
if(a[i]==x)
{
b[j]=i;
j++;
}
return j;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
12 -12 9 12 28 -43 12
Brojot 12 se javuva vo nizata 3 pati na slednite pozicii :
0, 3, i 6 pozicija
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
25. Da se napi{e programa vo programskiot jazik C++ so koja }e
se najde unijata na dve nizi.
Re{enie:
#include<iostream>
using namespace std;
int main()
{
int a[20], b[20], c[40], na, nb, nc, i, j;
cout<<"Kolku elementi da ima prvata niza ? ";
cin>>na;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<na; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"Kolku elementi da ima vtorata niza ? ";
cin>>nb;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<nb; i++)
{
cout<<"b["<<i<<"]=";
cin>>b[i];
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
for(i=0; i<na; i++)
c[i]=a[i];
for(j=0; j<nb; j++)
{
c[i]=b[j];
i++;
}
nc=duplikati(c,i);
cout<<"\nVnesenite nizi se: \n";
cout<<"Prvata niza e : \n";
for(i=0; i<na; i++)
cout<<a[i]<<" ";
cout<<"\nVtorata niza e: \n";
for(i=0; i<nb; i++)
cout<<b[i]<<" ";
cout<<"\nUnijata na dvete nizi e :\n";
for(i=0; i<nc; i++)
cout<<c[i]<<" ";
cout<<"\n";
return 0;
}
int duplikati(int *a, int n)
{
int i=0, j, p;
while(i<n)
{
for(j=i+1; j<n; j++)
if(a[i]==a[j])
{
for(p=j; p<n; p++)
{
a[p]=a[p+1];
}
n--;
}
if(a[i]!=a[i+1])
i++;
}
return n;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenite nizi se :
Prvata niza e :
17 38 -9 64 17 2
Vtorata niza e :
44 38 -9 101
Unijata na dvete nizi e :
17 38 -9 64 2 44 101
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
26. Da se napi{e programa vo programskiot jazik C++ so koja }e
se pronajde najgolemata raste~ka podniza na dadena niza.
Re{enie:
#include<iostream>
using namespace std;
int main()
{
int a[20], n, poz, dolz, i;
cout<<"Kolku elementi da ima nizata? ";
cin>>n;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
podniza(a,n,&poz,&dolz);
cout<<"\nVnesenata niza e: \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\nNajgolemata rastecka podniza ima dolzina "<<dolz<<" i
taa e: \n";
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
for(i=poz; i<=poz+dolz-1; i++)
cout<<a[i]<<" ";
cout<<"\n";
return 0;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
8 18 26 4 16 35 39 -3 -1 14
Najgolemata raste~ka podniza ima dol`ina 4 i taa e :
4 16 35 39
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
27. Da se napi{e programa vo programskiot jazik C++ so koja }e
se ispe~atat najmalite k elementi od nizata.
Re{enie:
int main()
{
int a[20], b[20], n, nb, i, k;
cout<<"Kolku elementi da ima nizata? ";
cin>>n;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"Kolku najmali elementi da se najdat? ";
cin>>k;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
for(i=0; i<n; i++)
b[i]=a[i];
nb=duplikati(b,n);
sortiranje(b,nb);
if(nb<=k)
{
cout<<"\nOpfatena e celata niza \n";
for(i=0; i<nb; i++)
cout<<b[i]<<" ";
}
else
{
cout<<"\nVnesenata niza e: \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\n"<<k<<"-te najmali elementi se : \n";
for(i=0; i<k; i++)
cout<<b[i]<<" ";
}
cout<<"\n";
return 0;
}
int duplikati(int *a, int n)
{
int i=0, j, p;
while(i<n)
{
for(j=i+1; j<n; j++)
if(a[i]==a[j])
{
for(p=j; p<n; p++)
{
a[p]=a[p+1];
}
n--;
}
if(a[i]!=a[i+1])
i++;
}
return n;
}
void sortiranje(int *a, int n)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
int pom, i, j;
for(i=0; i<n; i++)
for(j=0; j<n-i-1; j++)
if(a[j]>a[j+1])
{
pom=a[j];
a[j]=a[j+1];
a[j+1]=pom;
}
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
-3 5 9 11 7 18 5 -3 9 19
3-te najmali elementi se :
-3 5 7
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
28. Na ispit u~estvuvale n<20 kandidati. Minimalniot broj na
poeni za upis e min. Da se napi{e programa vo programskiot
jazik C++ so koja }e se opredeli brojot na kandidatite koi
steknale pravo na upis i }e go presmeta nivniot sreden uspeh
poka`an na ispitot.
Re{enie:
#include<iostream>
using namespace std;
int polozeni(int *a, int n, int min, float *prosek);
int main()
{
int a[20], n, i, polozile, min;
float prosek;
cout<<"Kolku kandidati ucestvuvale na polaganjeto? ";
cin>>n;
cout<<"Vnesete gi poenite za sekoj kandidat :\n";
for(i=0;i<n;i++)
{
cout<<i+1<<"-kandidat : ";
cin>>a[i];
}
cout<<"Kolku e minimumot na poeni za polozuvanje : ";
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cin>>min;
polozile=polozeni(a,n,min,&prosek);
cout<<"\nIspitot go polozile "<<polozile<<" ucenici \n";
cout<<"Prosekot na bodovi e "<<prosek<<endl;
return 0;
}
int polozeni(int *a, int n, int min, float *prosek)
{
int broj=0, i;
float suma=0.0;
for(i=0; i<n; i++)
{
if(a[i]>=min)
{
broj++;
suma+=a[i];
}
}
*prosek=suma/broj;
return broj;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Ispitot go polo`ile 7 u~enici
Prosekot na bodovi e 77.1429
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
29. Da se napi{e programa vo programskiot jazik C++ so koja }e
se pronajdat prvata i poslednata pozicija na koja se pojavil
zadaden element vo edna niza.
Re{enie:
#include<iostream>
using namespace std;
void pojavuvanje(int *a, int n, int element, int *prvo, int *posledno);
int main()
{
int a[20], n, i, prvo, posledno, element;
cout<<"Kolku elementi da ima nizata? ";
cin>>n;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"Koj element se bara : ";
cin>>element;
prvo=-1;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
posledno=-1;
pojavuvanje(a,n,element,&prvo,&posledno);
cout<<"\nVnesenata niza e: \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
if(prvo==-1)
cout<<"\nElementot ne se pojavuva voopsto vo nizata";
else
{
cout<<"\nPrvo pojavuvanje na "<<prvo<<" -ta pozicija\n";
cout<<"Posledno pojavuvanje na "<<posledno<<" -ta
pozicija";
}
return 0;
}
void pojavuvanje(int *a, int n, int element, int *prvo, int *posledno)
{
int i, prv=-1, posleden=-1;
for(i=0; i<n; i++)
{
if(a[i]==element)
{
posleden=i;
if(prv==-1)
prv=i;
}
}
*prvo=prv;
*posledno=posleden;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata niza e :
-3 5 9 5 7 24 5 13 -6 9
Prvo pojavuvawe na 1-ta pozicija
Posledno pojavuvawe na 6-ta pozicija
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
30. Da se napi{e programa vo programskiot jazik C++ so koja }e
se pronajde najgolemata razlika na dva sosedni elementi od
niza.
Re{enie:
#include<iostream>
using namespace std;
int main()
{
int a[20], n, i, raz, poz1, poz2;
cout<<"Kolku elementi da ima nizata? ";
cin>>n;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
raz=razlika(a,n,&poz1,&poz2);
cout<<"\nVnesenata niza e: \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\nNajgolemata ralika iznesuva "<<raz<<endl;
cout<<"Toa e razlikata pomegu "<<poz1+1<<"-ot i "<<poz2+1<<"-
ot element.\n";
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
return 0;
}
VLEZ:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
Programata pe~ati:
Vnesenata niza e :
3 8 17 -2 9 4
Najgolemata razlika iznesuva 19
Toa e razlikata pome|u 3-ot i 4-ot element
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
31. Da se napi{e programa vo programskiot jazik C++ so koja }e
se podredi odreden del od niza vo raste~ki redosled.
Re{enie:
broj na elementi od
n
nizata
pomo{na
i
promenliva
po~etok i kraj na
pocetok, kraj delot koj se
podreduva
podreduvanje
(int *a, int n, funkcija za podreduvawe na del od niza vo
int pocetok, int raste~ki redosled
kraj)
#include<iostream>
using namespace std;
int main()
{
int a[20], n, i, pocetok, kraj;
cout<<"Kolku elementi da ima nizata? ";
cin>>n;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"Od koja pozicija da pocne podreduvanjeto : ";
cin>>pocetok;
cout<<"Do koja pozicija da bide podreduvanjeto : ";
cin>>kraj;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<"\nVnesenata niza e: \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
podreduvanje(a,n,pocetok,kraj);
cout<<"\nDelumno podredenata niza e: \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\n";
return 0;
}
VLEZ:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
Programata pe~ati:
Vnesenata niza e :
4 3 9 -2 7 -11 5 6
Delumno podredenata niza e :
4 3 -11 -2 7 9 5 6
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
32. Da se napi{e programa vo programskiot jazik C++ so koja }e
se presmeta aritmeti~kata sredina na elementite od dadena
niza, a potoa }e se isfrlat elementite pomali od taa
vrednost.
Re{enie:
pomo{na
i
promenliva
aritmeticka funkcija za nao|awe na aritmeti~kata sredina
(int *a, int n) na edna dadena niza
promena
funkcija za otstranuvawe na elementite od
(int *a, int n,
nizata pomali od aritmeti~kata sredina
float sredina)
#include<iostream>
using namespace std;
int main()
{
int a[20], n, i;
float sredina;
cout<<"Kolku elementi da ima nizata? ";
cin>>n;
cout<<"Vnesete ja nizata : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"\nVnesenata niza e: \n";
for(i=0; i<n; i++)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<a[i]<<" ";
sredina=aritmeticka(a,n);
cout<<"\nAritmetickata sredina na nizata iznesuva
"<<sredina<<endl;
n=promena(a,n,sredina);
cout<<"Novodobienata niza e: \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\n";
return 0;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Vnesenata niza e :
10 28 15 24 39 30 17 29
Aritmeti~kata sredina na nizata iznesuva 24
Novodobienata niza e :
28 24 39 30 29
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
33. Da se napi{e programa vo programskiot jazik C++ so koja }e
se soberat i pomno`at dve nizi. Elementite na novodobienite
nizi se dobivaat kako zbir, odnosno proizvod od soodvetnite
elementi vo dadenite nizi, t.e. c[i]=a[i]+b[i] i d[i]=a[i]*b[i].
Re{enie:
#include<iostream>
using namespace std;
int main()
{
int a[20], b[20], c[20], d[20], n, i, j;
cout<<"Kolku elementi da imaat nizite? ";
cin>>n;
cout<<"Vnesete ja prvata niza : \n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
cout<<"Vnesete ja vtorata niza : \n";
for(i=0; i<n; i++)
{
cout<<"b["<<i<<"]=";
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cin>>b[i];
}
zbirIproizvod(a,b,n,c,d);
cout<<"\nVnesenite nizi se: \n";
cout<<"Prvata niza e : \n";
for(i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\nVtorata niza e: \n";
for(i=0; i<n; i++)
cout<<b[i]<<" ";
cout<<"\nZbirot na dvete nizi e :\n";
for(i=0; i<n; i++)
cout<<c[i]<<" ";
cout<<"\nProizvodot na dvete nizi e :\n";
for(i=0; i<n; i++)
cout<<d[i]<<" ";
cout<<"\n";
return 0;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenite nizi se :
Prvata niza e :
1 2 3 4 5
Vtorata niza e :
6 7 8 9 10
Zbirot na dvete nizi e :
7 9 11 13 15
Proizvodot na dvete nizi e
6 14 24 36 50
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
2. Klasi
1. Da se razvie klasa za to~ka vo koordinaten sistem koja
sodr`i metod za pe~atewe na to~kata i metod za
opredeluvawe na rastojanieto od to~kata do koordinatniot
po~etok.
Re{enie:
Klasa Tocka
#include<iostream>
#include<math.h>
using namespace std;
class Tocka
{
private:
int x;
int y;
public:
Tocka()
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
x=0;
y=0;
}
Tocka(int a, int b)
{
x=a;
y=b;
}
~Tocka()
{}
void pecati()
{
cout<<"\nTockata e ("<<x<<", "<<y<<")\n";
}
float rastojanie()
{
return sqrt(x*x+y*y);
}
};
int main()
{
int x,y;
cout<<"Vnesete vrednost za x : ";
cin>>x;
cout<<"Vnesete vrednost za y : ";
cin>>y;
Tocka t(x,y);
float ras=t.rastojanie();
t.pecati();
cout<<"Rastojanieto do koordinaten pocetok e "<<ras<<endl;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Vnesete vrednost za x : 3
Vnesete vrednost za y : 4
Programata pe~ati:
To~kata e (3, 4)
Rastojanieto do koordinaten po~etok e 5
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
2. Da se razvie klasa za datum koja sodr`i metod za pe~atewe
na datumot i metod za razlika na dva datumi.
Re{enie:
Klasa Datum
#include<iostream>
#include<math.h>
using namespace std;
class Datum
{
private:
int den;
int mesec;
int godina;
public:
Datum()
{
den=mesec=godina=0;
}
Datum(int d, int m, int g)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
den=d;
mesec=m;
godina=g;
}
~Datum()
{}
int getDen()
{
return den;
}
int getMesec()
{
return mesec;
}
int getGodina()
{
return godina;
}
void pecati()
{
cout<<den<<"."<<mesec<<"."<<godina<<".\n";
}
void pecatiRazlika()
{
cout<<den<<" denovi, "<<mesec<<" meseci i
"<<godina<<" godini.\n";
}
Datum razlika(Datum dat)
{
int d2=dat.getDen();
int m2=dat.getMesec();
int g2=dat.getGodina();
if(d2<den)
{
d2+=30;
m2--;
}
if(m2<mesec)
{
m2+=12;
g2--;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
}
d2=d2-den;
m2=m2-mesec;
g2=g2-godina;
Datum pom(d2,m2,g2);
return pom;
}
};
int main()
{
int d,m,g;
cout<<"Vnesete vrednosti za prviot datum : ";
cin>>d>>m>>g;
Datum d1(d,m,g);
cout<<"Vnesete vrednosti za vtoriot datum : ";
cin>>d>>m>>g;
Datum d2(d,m,g);
cout<<"Prviot datum e ";
d1.pecati();
cout<<"Vtoriot datum e ";
d2.pecati();
Datum d3=d1.razlika(d2);
cout<<"Razlikata megu vtoriot i prviot datum e ";
d3.pecatiRazlika();
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
To~kata e (3, 4)
Prviot datum e 15.10.1990.
Vtoriot datum e 11.8.2007.
Razlikata me|u vtoriot i prviot datum e 26 denovi, 9 meseci i
16 godini.
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
3. Da se razvie klasa za triagolnik so metodi za presmetuvawe
na perimetarot i plo{tinata na triagolnikot.
Re{enie:
Klasa Triagolnik
funkcija za pe~atewe na
void pecati()
karakteristikite na triagolnikot
tri triagolnik
#include<iostream>
#include<math.h>
using namespace std;
class Triagolnik
{
private:
int a, b, c;
float perimetar, plostina;
public:
Triagolnik()
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
a=b=c=0;
plostina=perimetar=0.0;
}
Triagolnik(int s1, int s2, int s3)
{
a=s1;
b=s2;
c=s3;
plostina=perimetar=0.0;
}
~Triagolnik()
{}
void pecati()
{
cout<<"\nTriagolnikot e so strani "<<a<<",
"<<b<<" i "<<c<<".\n";
cout<<"Plostinata iznesuva "<<plostina<<endl;
cout<<"Perimetarot iznesuva "<<perimetar<<endl;
}
void Perimetar()
{
perimetar=a+b+c;
}
void Plostina()
{
float alfa=acos((b*b+c*c-a*a)/(b*c*2.0));
float hc=b*sin(alfa);
plostina=c*hc/2.0;
}
};
int main()
{
int x, y, z;
cout<<"Vnesete vrednosti za triagolnikot : ";
cin>>x>>y>>z;
Triagolnik tri(x,y,z);
tri.Perimetar();
tri.Plostina();
tri.pecati();
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Triagolnikot e so strani 3, 4 i 5.
Plo{tinata iznesuva 6
Perimetarot iznasuva 12
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
4. Da se razvie klasa za rabota so kompleksen broj koja ima
funkcii za sobirawe i mno`ewe na dva kompleksni broja.
Re{enie:
Klasa Kompleksen
funkcija za pe~atewe na
void pecati()
karakteristikite na triagolnikot
Kompleksen funkcija za sobirawe na dva
sobiranje(Kompleksen k) kompleksni broja
Kompleksen funkcija za mno`ewe na dva
mnozenje(Kompleksen k) kompleksni broja
#include<iostream>
using namespace std;
class Kompleksen
{
private:
int realen, imaginaren;
public:
Kompleksen()
{
realen=imaginaren=0;
}
Kompleksen(int r, int i)
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
realen=r;
imaginaren=i;
}
~Kompleksen()
{}
int getRealen()
{
return realen;
}
int getImaginaren()
{
return imaginaren;
}
void pecati()
{
cout<<"\n"<<realen<<"+ i*("<<imaginaren<<") \n";
}
Kompleksen sobiranje(Kompleksen k)
{
int re=k.getRealen();
int im=k.getImaginaren();
int pomreal, pomimag;
pomreal=realen+re;
pomimag=imaginaren+im;
Kompleksen pom(pomreal, pomimag);
return pom;
}
Kompleksen mnozenje(Kompleksen k)
{
int re=k.getRealen();
int im=k.getImaginaren();
int pomreal, pomimag;
pomreal=realen*re-imaginaren*im;
pomimag=realen*im+imaginaren*re;
Kompleksen pom(pomreal, pomimag);
return pom;
}
};
int main()
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
int re, im;
cout<<"Vnesete go prviot kompleksen broj : ";
cin>>re>>im;
Kompleksen k1(re,im);
cout<<"Vnesete go vtoriot kompleksen broj : ";
cin>>re>>im;
Kompleksen k2(re,im);
Kompleksen k3=k1.sobiranje(k2);
Kompleksen k4=k1.mnozenje(k2);
cout<<"\nPrviot kompleksen broj e ";
k1.pecati();
cout<<"Vtoriot kompleksen broj e ";
k2.pecati();
cout<<"Nivniot zbir iznesuva ";
k3.pecati();
cout<<"Nivniot proizvod iznesuva ";
k4.pecati();
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
5. Da se razvie klasa Student koja sodr`i ime, prezime i
ocenki na studentot, kako i metod za vnesuvawe na ocenkite i
metod za pe~atewe na podatocite na studentot, zaedno so
prosekot od negovite ocenki.
Re{enie:
Klasa Student
#include<iostream>
#include<string.h>
using namespace std;
class Student
{
private:
char ime[15];
char prezime[20];
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
int ocenka[10];
int brOcenki;
public:
Student()
{
*ime=*prezime='\0';
brOcenki=0;
}
Student(char *i, char *p, int brOc)
{
strcpy(ime,i);
strcpy(prezime,p);
brOcenki=brOc;
}
~Student()
{}
void vnesiOcenki()
{
int i;
for(i=0; i<brOcenki; i++)
{
cout<<"Vnesete ja "<<i+1<<"-ta ocenka : ";
cin>>ocenka[i];
}
}
float getProsek()
{
int i;
float prosek=0.0;
for(i=0; i<brOcenki; i++)
prosek+=ocenka[i];
prosek/=brOcenki;
return prosek;
}
void pecati()
{
cout<<"\nIme : "<<ime<<endl;
cout<<"Prezime : "<<prezime<<endl;
cout<<"Ocenki : ";
for(int i=0; i<brOcenki-1; i++)
cout<<ocenka[i]<<", ";
cout<<ocenka[brOcenki-1]<<endl;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<"Prosek : "<<getProsek()<<endl;
}
};
int main()
{
int br;
char ime[15], prezime[10];
cout<<"Vnesete go imeto na studentot : ";
cin>>ime;
cout<<"Vnesete go prezimeto na studentot : ";
cin>>prezime;
cout<<"Vnesete broj na ocenki : ";
cin>>br;
Student s(ime,prezime,br);
s.vnesiOcenki();
s.pecati();
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Ime : Aleksandar
Prezime : Nikoloski
Ocenki : 8, 9, 10, 9, 8
Prosek : 8.8
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
6. Da se razvie klasa Smetka koja sodr`i ime i prezime na
korisnikot i iznos na smetkata, kako i metod za dodavawe i
podigawe na pari od smetkata i metod za pe~atewe na
podatocite od smetkata.
Re{enie:
Klasa Smetka
#include<iostream>
#include<string.h>
using namespace std;
class Smetka
{
private:
char ime[15];
char prezime[20];
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
int iznos;
public:
Smetka(char *i='\0', char *p='\0', int suma=0)
{
strcpy(ime,i);
strcpy(prezime,p);
iznos=suma;
}
~Smetka()
{}
void dodadiSuma(int suma)
{
if(suma<=0)
cout<<"Ne se dodava negativna suma\n";
else
iznos+=suma;
}
void podigniSuma(int suma)
{
if(suma<=0)
cout<<"Ne se podiga negativna suma\n";
else
{
if(iznos-suma<0)
cout<<"Ne e dozvolen minus na
smetkata\n";
else
iznos-=suma;
}
}
void pecati()
{
cout<<"\nIme : "<<ime<<endl;
cout<<"Prezime : "<<prezime<<endl;
cout<<"Iznos na smetka : "<<iznos<<endl;
}
};
int main()
{
int suma;
char ime[15], prezime[10];
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<"Vnesete go imeto na korisnikot : ";
cin>>ime;
cout<<"Vnesete go prezimeto na korisnikot : ";
cin>>prezime;
cout<<"Vnesete poceten iznos na smetkata : ";
cin>>suma;
Smetka s(ime,prezime,suma);
s.pecati();
cout<<"\nDodadete pari na smetkata : ";
cin>>suma;
s.dodadiSuma(suma);
s.pecati();
cout<<"\nPodignete pari od smetkata : ";
cin>>suma;
s.podigniSuma(suma);
s.pecati();
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Ime : Elena
Prezime : Doneska
Iznos na smetka : 5000
Ime : Elena
Prezime : Doneska
Iznos na smetka : 6000
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
Re{enie:
Klasa Niza
pomo{na
broj nova niza
promenliva
#include<iostream>
using namespace std;
class Niza
{
private:
int a[100];
int n;
public:
Niza(int x)
{
n=x;
}
~Niza()
{}
int dodadiElement(int element)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
if(n<20)
{
a[n]=element;
n++;
return 1;
}
else
{
cout<<"Nizata e celosno popolneta\n";
return 0;
}
}
int presmetajZbir()
{
int i, suma=0;
for(i=0; i<n; i++)
suma+=a[i];
return suma;
}
void pecati()
{
cout<<"\nElementite na nizata se : \n";
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\nZbirot na elementite od nizata iznesuva
"<<presmetajZbir()<<endl;
}
};
int main()
{
int broj;
Niza nova(0);
cout<<"Vnesete gi elementite od nizata : ";
while(cin>>broj)
{
if(nova.dodadiElement(broj)==0)
break;
}
nova.pecati();
return 0;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
8. Da se razvie klasa Niza koja sodr`i niza od celi broevi,
kako i metod za podreduvawe na elementite vo nizata i metod
za pe~atewe na nizata.
Re{enie:
Klasa Niza
pomo{na
broj nova niza
promenliva
#include<iostream>
using namespace std;
class Niza
{
private:
int a[20];
int max;
int brojac;
public:
Niza(int x)
{
max=x;
brojac=0;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
}
~Niza()
{}
int dodadiElement(int element)
{
if(brojac<max)
{
a[brojac]=element;
brojac++;
return 1;
}
else
{
cout<<"Nizata e celosno popolneta\n";
return 0;
}
}
void podreduvanje()
{
int i, j, pom;
for(i=0; i<brojac-1; i++)
for(j=i+1; j<brojac; j++)
if(a[j]<a[i])
{
pom=a[j];
a[j]=a[i];
a[i]=pom;
}
}
void pecati()
{
cout<<"\nElementite na nizata se : \n";
for(int i=0; i<brojac; i++)
cout<<a[i]<<" ";
cout<<"\n";
}
};
int main()
{
int broj;
cout<<"Kolku najmnogu elementi ke ima nizata? ";
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cin>>broj;
Niza nova(broj);
cout<<"Vnesete gi elementite od nizata : ";
while(cin>>broj)
{
if(nova.dodadiElement(broj)==0)
break;
}
cout<<"\nPred podreduvanje :";
nova.pecati();
nova.podreduvanje();
cout<<"\nPosle podreduvanje :";
nova.pecati();
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Pred podreduvawe :
Elementite na nizata se:
4 -3 7 -11 9 0
Posle podreduvawe :
Elementite na nizata se:
-11 -3 0 4 7 9
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
9. Da se razvie klasa Niza koja sodr`i niza od celi broevi i
metod za dobivawe na nizata kako unija od dve drugi nizi.
Re{enie:
Klasa Niza
#include<iostream>
using namespace std;
class Niza
{
private:
int a[20];
int n;
public:
Niza(int x)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
n=x;
}
~Niza()
{}
int dodadiElement(int element)
{
if(n<20)
{
a[n]=element;
n++;
return 1;
}
else
{
cout<<"Nizata e celosno popolneta\n";
return 0;
}
}
int brojElementi()
{
return n;
}
int zemiElement(int i)
{
if(i>=n)
{
cout<<"\nPogresen index\n";
return 0;
}
else
return a[i];
}
void duplikati()
{
int i=0, j, p;
while(i<n)
{
for(j=i+1; j<n; j++)
if(a[i]==a[j])
{
for(p=j; p<n; p++)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
a[p]=a[p+1];
}
n--;
}
if(a[i]!=a[i+1])
i++;
}
}
void unija(Niza &niza1, Niza &niza2)
{
int i;
for(i=0; i<niza1.brojElementi(); i++)
dodadiElement(niza1.zemiElement(i));
for(i=0; i<niza2.brojElementi(); i++)
dodadiElement(niza2.zemiElement(i));
duplikati();
}
void pecati()
{
cout<<"\nElementite na nizata se : \n";
for(int i=0; i<n; i++)
cout<<a[i]<<" ";
cout<<"\n";
}
};
int main()
{
int broj, i, el;
Niza niza1(0), niza2(0), nizaUnija(0);
cout<<"Kolku elementi ke ima prvata niza? ";
cin>>broj;
cout<<"Vnesete gi elementite od prvata niza : ";
for(i=0; i<broj; i++)
{
cin>>el;
if(niza1.dodadiElement(el)==0)
break;
}
cout<<"Kolku elementi ke ima vtorata niza? ";
cin>>broj;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<"Vnesete gi elementite od vtorata niza : ";
for(i=0; i<broj; i++)
{
cin>>el;
if(niza2.dodadiElement(el)==0)
break;
}
nizaUnija.unija(niza1, niza2);
cout<<"\nPrvata niza e :";
niza1.pecati();
cout<<"\nVtorata niza e :";
niza2.pecati();
cout<<"\nUnijata na nizite e :";
nizaUnija.pecati();
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Prvata niza e :
Elementite na nizata se:
1 2 3 4
Vtorata niza e :
Elementite na nizata se:
3 4 5 6 7
Unijata na nizite e :
Elementite na nizata se:
1 2 3 4 5 6 7
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
10. Da se razvie klasa Kniga so naslov, avtor i cena, kako i
kopi-konstruktor za knigata.
Re{enie:
Klasa Kniga
#include<iostream>
#include<string.h>
using namespace std;
class Kniga
{
private:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
char naslov[50];
char avtor[25];
int cena;
public:
Kniga()
{
*naslov=*avtor='\0';
cena=0;
}
Kniga(char *i, char *a, int c)
{
int dolzina=strlen(i);
strncpy(naslov,i, dolzina);
naslov[dolzina]='\0';
dolzina=strlen(a);
strncpy(avtor,a, dolzina);
avtor[dolzina]='\0';
cena=c;
}
~Kniga()
{}
Kniga(Kniga &k)
{
strcpy(naslov,k.getNaslov());
strcpy(avtor,k.getAvtor());
cena=k.getCena();
}
char *getNaslov()
{
return naslov;
}
char *getAvtor()
{
return avtor;
}
int getCena()
{
return cena;
}
void pecati()
{
cout<<"\nNaslov : "<<naslov<<endl;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<"Avtor : "<<avtor<<endl;
cout<<"Cena : "<<cena<<endl;
}
};
int main()
{
int cena, i;
char naslov[50], avtor[25], c;
cout<<"Vnesete go naslovot na knigata : ";
i=0;
while((c=getchar())!='\n')
{
naslov[i]=c;
i++;
}
naslov[i]='\0';
cout<<"Vnesete go imeto na avtorot : ";
i=0;
while((c=getchar())!='\n')
{
avtor[i]=c;
i++;
}
avtor[i]='\0';
cout<<"Vnesete cena na knigata : ";
cin>>cena;
Kniga k(naslov,avtor,cena);
cout<<"\nVnesenata kniga e ";
k.pecati();
Kniga kopija(k);
cout<<"\nKopiranata kniga e :";
kopija.pecati();
return 0;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Vnesenata kniga e :
Naslov : "Zlostorstvo i kazna"
Avtor : Dostoevski
Cena : 400
Kopiranata kniga e :
Naslov : "Zlostorstvo i kazna"
Avtor : Dostoevski
Cena : 400
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
11. Da se razvie klasa Kniga so naslov, avtor i cena, i da se
preoptovari operatorot za pe~atewe na ekran <<.
Re{enie:
Klasa Kniga
naslovot i
naslov[50],
avtorot na k kniga
avtor[25]
knigata
cenata na
cena
knigata
#include<iostream>
#include<string.h>
using namespace std;
class Kniga
{
private:
char naslov[50];
char avtor[25];
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
int cena;
public:
Kniga()
{
*naslov=*avtor='\0';
cena=0;
}
Kniga(char *i, char *a, int c)
{
int dolzina=strlen(i);
strncpy(naslov,i, dolzina);
naslov[dolzina]='\0';
dolzina=strlen(a);
strncpy(avtor,a, dolzina);
avtor[dolzina]='\0';
cena=c;
}
~Kniga()
{}
char *getNaslov()
{
return naslov;
}
char *getAvtor()
{
return avtor;
}
int getCena()
{
return cena;
}
friend ostream & operator<<(ostream &prikazi, Kniga &k)
{
prikazi<<"\nKniga :"<<endl;
prikazi<<"Naslov : "<<k.getNaslov()<<endl;
prikazi<<"Avtor : "<<k.getAvtor()<<endl;
prikazi<<"Cena : "<<k.getCena()<<endl;
return prikazi;
}
};
int main()
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
int cena, i;
char naslov[50], avtor[25], c;
cout<<"Vnesete go naslovot na knigata : ";
i=0;
while((c=getchar())!='\n')
{
naslov[i]=c;
i++;
}
naslov[i]='\0';
cout<<"Vnesete go imeto na avtorot : ";
i=0;
while((c=getchar())!='\n')
{
avtor[i]=c;
i++;
}
avtor[i]='\0';
cout<<"Vnesete cena na knigata : ";
cin>>cena;
Kniga k(naslov,avtor,cena);
cout<<k;
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Kniga :
Naslov : "Zlostorstvo i kazna"
Avtor : Dostoevski
Cena : 400
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
12. Da se razvie klasa za rabota so kompleksen broj so
preoptovaruvawe na operatorite +(sobirawe) i *(mno`ewe).
Re{enie:
Klasa Kompleksen
funkcija za pe~atewe na
void pecati()
karakteristikite na triagolnikot
Kompleksen
preotovaruvawe na operatorot +
operator+(Kompleksen k)
Kompleksen
preotovaruvawe na operatorot *
operator*(Kompleksen k)
#include<iostream>
using namespace std;
class Kompleksen
{
private:
int realen, imaginaren;
public:
Kompleksen()
{
realen=imaginaren=0;
}
Kompleksen(int r, int i)
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
realen=r;
imaginaren=i;
}
~Kompleksen()
{}
int getRealen()
{
return realen;
}
int getImaginaren()
{
return imaginaren;
}
void pecati()
{
cout<<"\n"<<realen<<"+ i*("<<imaginaren<<") \n";
}
Kompleksen operator+(Kompleksen k)
{
int re=k.getRealen();
int im=k.getImaginaren();
int pomreal, pomimag;
pomreal=realen+re;
pomimag=imaginaren+im;
Kompleksen pom(pomreal, pomimag);
return pom;
}
Kompleksen operator*(Kompleksen k)
{
int re=k.getRealen();
int im=k.getImaginaren();
int pomreal, pomimag;
pomreal=realen*re-imaginaren*im;
pomimag=realen*im+imaginaren*re;
Kompleksen pom(pomreal, pomimag);
return pom;
}
};
int main()
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
int re, im;
cout<<"Vnesete go prviot kompleksen broj : ";
cin>>re>>im;
Kompleksen k1(re,im);
cout<<"Vnesete go vtoriot kompleksen broj : ";
cin>>re>>im;
Kompleksen k2(re,im);
Kompleksen k3=k1+k2;
Kompleksen k4=k1*k2;
cout<<"\nPrviot kompleksen broj e ";
k1.pecati();
cout<<"Vtoriot kompleksen broj e ";
k2.pecati();
cout<<"Nivniot zbir iznesuva ";
k3.pecati();
cout<<"Nivniot proizvod iznesuva ";
k4.pecati();
system("pause");
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
13. Da se razvie klasa Niza koja sodr`i niza od celi broevi i
da se preoptovari operatorot [ ] za dobivawe na elementite od
nizata.
Re{enie:
Klasa Niza
pomo{na
broj nova niza
promenliva
#include<iostream>
using namespace std;
class Niza
{
private:
int a[20];
int n;
public:
Niza(int x)
{
n=x;
}
~Niza()
{}
int dodadiElement(int element)
{
if(n<20)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
a[n]=element;
n++;
return 1;
}
else
{
cout<<"Nizata e celosno popolneta\n";
return 0;
}
}
int getSize()
{
return n;
}
int &operator[](int i)
{
if(i<0 || i>=n)
{
cout<<"\nPogresen index! \n";
exit(-1);
}
else
return a[i];
}
};
int main()
{
int broj;
Niza nova(0);
cout<<"Vnesete gi elementite od nizata : ";
while(cin>>broj)
{
if(nova.dodadiElement(broj)==0)
break;
}
cout<<"\nVnesenata niza e :\n";
for(broj=0; broj<nova.getSize(); broj++)
cout<<nova[broj]<<" ";
cout<<endl;
return 0;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
14. Da se razvie klasa Delewe koja sodr`i realen broj i da se
preoptovari operatorot za delewe /.
Re{enie:
Klasa Delenje
Delenje operator/(Delenje
preoptovaruvawe na operatorot /
d)
funkcija za pe~atewe na vrednosta na
void pecati()
realniot broj
funkcija za dobivawe na realniot
float getBroj()
broj
class Delenje
{
private:
float broj;
public:
Delenje(float x=1.0)
{
broj=x;
}
~Delenje()
{}
Delenje operator/(Delenje d)
{
if(d.getBroj()==0.0)
{
cout<<"\nNema delenje so 0! \n";
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
}
else
{
Delenje rez(broj/d.getBroj());
return rez;
}
}
float getBroj()
{
return broj;
}
void pecati()
{
cout<<broj;
}
};
int main()
{
int broj;
cout<<"Vnesete go delenikot : ";
cin>>broj;
Delenje broj1(broj);
cout<<"Vnesete go delitelot : ";
cin>>broj;
Delenje broj2(broj);
Delenje rezultat=broj1/broj2;
broj1.pecati();
cout<<" / ";
broj2.pecati();
cout<<" = ";
rezultat.pecati();
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Vnesete go delenikot : 10
Vnesete go delitelot : 3
Programata pe~ati:
10 / 3 = 3.33333
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
15. Da se napi{e klasa za telo od 3D prostor so funkcii za
povr{ina i volumen. Od nea da se izvedat klasite za sfera i
kvadar.
Re{enie:
Klasa Telo
Klasa Sfera
Klasa Kvadar
s, k sfera i kvadar
#include<iostream>
using namespace std;
class Telo
{
public:
virtual float povrsina()=0;
virtual float volumen()=0;
virtual void pecati()
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
cout<<"Povrsina : "<<povrsina()<<endl;
cout<<"Volumen : "<<volumen()<<endl;
}
};
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
return 2*(a*b+b*c+c*a);
}
float volumen()
{
return a*b*c;
}
void pecati()
{
cout<<"Kvadar so strani "<<a<<", "<<b<<" i "<<c;
Telo::pecati();
}
};
int main()
{
Sfera s(10);
Kvadar k(2,3,4);
s.pecati();
cout<<endl;
k.pecati();
return 0;
}
_______________________________________________________
Test primer:
Programata pe~ati:
Krug so radius 10
Povr{ina : 1256
Volumen : 4186.67
Kvadar so strani 2, 3 i 4
Povr{ina : 52
Volumen : 24
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
16. Da se napi{e klasa za to~ka vo 2D prostor so funkcija za
rastojanie pome|u dve to~ki, i od nea da se nasledi klasa za
to~ka vo 3D, isto taka so funkcija za rastojanie pome|u dve
to~ki vo 3D prostor.
Re{enie:
Klasa Tocka2D
Klasa Tocka3D
to~ki od 2D
t1, t2
prostor
to~ki od 3D
k1, k2
prostor
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
#include<iostream>
#include<math.h>
using namespace std;
class Tocka2D
{
private:
int x, y;
public:
Tocka2D(int a, int b)
{
x=a;
y=b;
}
~Tocka2D()
{}
int getX()
{
return x;
}
int getY()
{
return y;
}
float rastojanie(Tocka2D &t)
{
int tx=t.getX();
int ty=t.getY();
return sqrt((x-tx)*(x-tx)+(y-ty)*(y-ty));
}
void pecati()
{
cout<<x<<", "<<y;
}
};
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
z=c;
}
~Tocka3D()
{}
int getZ()
{
return z;
}
float rastojanie(Tocka3D &t)
{
int mx=Tocka2D::getX();
int my=Tocka2D::getY();
int tx=t.getX();
int ty=t.getY();
int tz=t.getZ();
return sqrt((mx-tx)*(mx-tx)+(my-ty)*(my-ty)+(z-
tz)*(z-tz));
}
void pecati()
{
Tocka2D::pecati();
cout<<", "<<z;
}
};
int main()
{
Tocka2D t1(3,4);
Tocka2D t2(0,0);
Tocka3D k1(1,2,2);
Tocka3D k2(0,0,0);
cout<<"Tocka vo 2D : (";
t1.pecati();
cout<<")\n";
cout<<"Tocka vo 3D : (";
k1.pecati();
cout<<")\n";
cout<<"\nRastojanie na tockata od 2D do koordinaten pocetok e
"<<t1.rastojanie(t2)<<endl;
cout<<"Rastojanie na tockata od 3D do koordinaten pocetok e
"<<k1.rastojanie(k2)<<endl;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
return 0;
}
_______________________________________________________
Test primer:
Programata pe~ati:
To~ka vo 2D : (3, 4)
To~ka vo 3D : (1, 2, 2)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
17. Da se razvie klasa Smetka koja sodr`i ime i prezime na
korisnikot i iznos na smetkata, kako i metod za dodavawe i
podigawe pari od smetkata i metod za pe~atewe na podatocite
od smetkata. Od nea da se izvede klasa SmetkaMinus vo koja }e
bide dozvoleno da se odi vo minus do prethodno opredelena
suma.
Re{enie:
Klasa Smetka
Klasa SmetkaMinus
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
#include<iostream>
#include<string.h>
using namespace std;
class Smetka
{
private:
char ime[15];
char prezime[20];
int iznos;
public:
Smetka(char *i='\0', char *p='\0', int suma=0)
{
strcpy(ime,i);
strcpy(prezime,p);
iznos=suma;
}
~Smetka()
{}
void dodadiSuma(int suma)
{
if(suma<=0)
cout<<"Ne se dodava negativna suma\n";
else
iznos+=suma;
}
void podigniSuma(int suma)
{
if(suma<=0)
cout<<"Ne se podiga negativna suma\n";
else
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
if(iznos-suma<0)
cout<<"Ne e dozvolen minus na
smetkata\n";
else
iznos-=suma;
}
}
int getIznos()
{
return iznos;
}
void setIznos(int i)
{
iznos=i;
}
void pecati()
{
cout<<"\nIme : "<<ime<<endl;
cout<<"Prezime : "<<prezime<<endl;
cout<<"Iznos na smetka : "<<iznos<<endl;
}
};
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
if(iz-suma<minus)
cout<<"Ne e dozvolen tolku golem
minus na smetkata\n";
else
{
iz-=suma;
Smetka::setIznos(iz);
}
}
}
};
int main()
{
int suma, minus;
char ime[15], prezime[10];
cout<<"Vnesete go imeto na korisnikot : ";
cin>>ime;
cout<<"Vnesete go prezimeto na korisnikot : ";
cin>>prezime;
cout<<"Vnesete poceten iznos na smetkata : ";
cin>>suma;
cout<<"Vnesete dozvolen minus na smetkata : ";
cin>>minus;
SmetkaMinus s(ime,prezime,suma, minus);
s.pecati();
cout<<"\nDodadete pari na smetkata : ";
cin>>suma;
s.dodadiSuma(suma);
s.pecati();
cout<<"\nPodignete pari od smetkata : ";
cin>>suma;
s.podigniSuma(suma);
s.pecati();
return 0;
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
Ime : Elena
Prezime : Doneska
Iznos na smetka : 5000
Ime : Elena
Prezime : Doneska
Iznos na smetka : 6000
Ime : Elena
Prezime : Doneska
Iznos na smetka : -1000
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
18. Da se napi{e klasa za Vraboten koja sodr`i ime, prezime i
plata na vraboteniot, kako i metod za pe~atewe na
podatocite. Od nea da se izvede klasa Menaxer koja sodr`i i
oddel so koj rakovodi menaxerot.
Re{enie:
Klasa Vraboten
Klasa Menadzer
plata plata
ime[15], imeto,
prezime[20], prezimeto i v, m vraboten i menaxer
oddel[20] oddelot
pomo{na
c
promenliva
#include<iostream>
#include<string.h>
#include<ctype.h>
using namespace std;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
class Vraboten
{
private:
char ime[15];
char prezime[20];
int plata;
public:
Vraboten(char *i='\0', char *p='\0', int pl=0)
{
strcpy(ime,i);
strcpy(prezime,p);
plata=pl;
}
~Vraboten()
{}
void pecati()
{
cout<<"\nIme : "<<ime<<endl;
cout<<"Prezime : "<<prezime<<endl;
cout<<"Plata : "<<plata<<" denari"<<endl;
}
};
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
};
int main()
{
int plata;
char ime[15], prezime[20], oddel[20], c;
cout<<"Vnesete go imeto na vraboteniot : ";
cin>>ime;
cout<<"Vnesete go prezimeto na vraboteniot : ";
cin>>prezime;
cout<<"Vnesete ja platata na vraboteniot : ";
cin>>plata;
cout<<"Dali vraboteniot e menadzer (Y/N) : ";
cin>>c;
c=toupper(c);
if(c=='Y')
{
cout<<"Vnesete go oddelot na menadzerot : ";
cin>>oddel;
Menadzer m(ime,prezime,plata,oddel);
m.pecati();
}
else
{
Vraboten v(ime,prezime,plata);
v.pecati();
}
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
Programata pe~ati:
Menaxer :
Ime : Marko
Prezime : Bo`inovski
Plata : 25000
Oddel : Nabavki
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
19. Da se razvie klasa Delewe koja sodr`i realen broj i da se
preoptovari operatorot za delewe / koj pri delewe so nula
dava poraka za gre{ka.
Re{enie:
Klasa Delenje
#include<iostream>
using namespace std;
class Delenje
{
private:
float broj;
public:
Delenje(float x=1.0)
{
broj=x;
}
~Delenje()
{}
Delenje operator/(Delenje d) throw(char*)
{
if(d.getBroj()==0)
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
{
char *pom;
pom="Greska! So nula ne se deli!.\n";
throw pom;
}
Delenje rez(broj/d.getBroj());
return rez;
}
float getBroj()
{
return broj;
}
void pecati()
{
cout<<broj;
}
};
int main()
{
int broj;
cout<<"Vnesete go delenikot : ";
cin>>broj;
Delenje broj1(broj);
cout<<"Vnesete go delitelot : ";
cin>>broj;
Delenje broj2(broj);
try
{
Delenje rezultat=broj1/broj2;
cout<<endl;
broj1.pecati();
cout<<" / ";
broj2.pecati();
cout<<" = ";
rezultat.pecati();
cout<<endl;
}
catch(char *s)
{
cout<<s;
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
}
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Vnesete go delenikot : 15
Vnesete go delitelot : 0
Programata pe~ati:
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
20. Da se razvie klasa Niza koja sodr`i niza od celi broevi i
da se preoptovari operatorot [ ] za dobivawe na elementite od
nizata koj dava poraka za gre{ka pri nevaliden indeks.
Re{enie:
Klasa Niza
pomo{ni
broj, n, i nova niza
promenlivi
#include<iostream>
using namespace std;
class Niza
{
private:
int a[20];
int n;
public:
Niza(int x)
{
n=x;
}
~Niza()
{}
int dodadiElement(int element)
{
if(n<20)
{
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
a[n]=element;
n++;
return 1;
}
else
{
cout<<"Nizata e celosno popolneta\n";
return 0;
}
}
int &operator[](int i) throw(int)
{
if(i<0 || i>=n)
throw i;
else
return a[i];
}
};
int main()
{
int broj, n, i;
Niza nova(0);
cout<<"Kolku elementi ke ima nizata? ";
cin>>n;
cout<<"Vnesete gi elementite od nizata :\n";
for(i=0; i<n; i++)
{
cout<<"a["<<i<<"] = ";
cin>>broj;
nova.dodadiElement(broj);
}
try
{
cout<<"Vnesete indeks na elementot koj ve interesira : ";
cin>>broj;
cout<<nova[broj];
}
catch(int i)
{
cout<<"Ne postoi element a["<<i<<"] \n";
}
WWW.MATEMATIKA.MK PISI
Programski jazik C++ FUNKCII I KLASI PISI
return 0;
}
_______________________________________________________
Test primer:
VLEZ:
Programata pe~ati:
WWW.MATEMATIKA.MK PISI