uup zadaci

75
/* pobrojani tip*/ #include <iostream> using namespace std; int main (){ enum dani{ponedeljak=1, utorak, srijeda, cetvrtak, petak, subota, nedelja}; cout<<"srijeda je "<<srijeda<<". dan u tjednu"<<endl; system ("pause"); return 0; }

Upload: damir-semanovic

Post on 26-Dec-2015

138 views

Category:

Documents


10 download

DESCRIPTION

Programiranje c++

TRANSCRIPT

Page 1: uup zadaci

/* pobrojani tip*/

#include <iostream>

using namespace std;

int main (){

enum dani{ponedeljak=1, utorak, srijeda, cetvrtak, petak, subota, nedelja};

cout<<"srijeda je "<<srijeda<<". dan u tjednu"<<endl;

system ("pause");

return 0;

}

Page 2: uup zadaci

/*Izracunavanje povrsine i obima kruga*/

#include <iostream>

#define Pi 3.141592653

using namespace std;

int main(){

double r;

cout<<"Unesite poluprecnik kruga u mm: ";

cin>>r;

cout<<"Obim kruga je "<<2*r*Pi<<" mm."<<endl;

cout<<"Povrsina kruga je "<<r*r*Pi<<" mm^2."<<endl;

system ("pause");

return 0;

}

Page 3: uup zadaci

/* Napisati program koji sa dvije cjelobrojne vrijednosti daje cijelobrojne

vrijednosti kad se saberu, oduzmu, pomnoze i podijele.*/

#include <iostream>

using namespace std;

int main (){

int a, b;

cout<<"Unesite prvi broj: ";

cin>>a;

cout<<"Unesite drugi broj; ";

cin>>b;

cout<<"Zbir brojeva je "<<a+b<<endl;

cout<<"Razlika brojeva je "<<a-b<<endl;

cout<<"Proizvod brojeva je "<<a*b<<endl;

cout<<"Kolicnik brojeva je "<<a/b<<" s ostatkom "<<a%b<<endl;

system ("pause");

return 0;

}

Page 4: uup zadaci

/* Napisati program koji ce od korisnika traziti da unese a, b, c stranice

trokuta. Program mora utvrditi da li je uneseni objekt trokut, te ako jeste

da li je taj trokut istostranican, raznostranican ili istokracni.*/

#include <iostream>

using namespace std;

int main (){

float a, b, c;

cout<<"Unesite a stranicu trokuta (u cm): ";

cin>>a;

cout<<"Unesite b stranicu trokuta (u cm): ";

cin>>b;

cout<<"Unesite c stranicu trokuta (u cm): ";

cin>>c;

if (a+b<=c)

cout<<"Ovo nije trokut."<<endl;

else if ((a==b)&&(a==c)&&(b==c))

cout<<"Ovo je istostranicni trokut"<<endl;

else if ((a!=b)&&(a!=c)&&(b!=c))

cout<<"Ovo je raznostranicni trokut."<<endl;

else

cout<<"Ovo je istokracni trokut."<<endl;

system ("pause");

return 0;

}

Page 5: uup zadaci

/*napisati program koji za date vrijednosti x,y,z racuna izraz te rezultat

ispisuje na ekran*/

#include <iostream>

#include <cmath>

using namespace std;

int main (){

float x,y,z,a;

cout<<"Unesite x: ";

cin>>x;

cout<<"Unesite y: ";

cin>>y;

cout<<"Unesite z: ";

cin>>z;

a=(((x*x)+(y*2)-z)/(y*y))-(((y*y)+5)/5);

cout<<"Rezultat je: "<<a<<endl;

system ("pause");

return 0;

}

Page 6: uup zadaci

/* Logicki tip*/

#include <iostream>

using namespace std;

int main (){

bool a=false;

bool b=true;

cout<<"a: "<<a<<" ; b: "<<b<<endl;

cout<<"Negacija a je: "<<!a<<endl;

cout<<"Negacija b je: "<<!b<<endl;

cout<<"a i b je: "<<(a&&b)<<endl;

cout<<"a ili b je: "<<(a||b)<<endl;

system ("pause");

return 0;

}

Page 7: uup zadaci

/* Napisati program koji trazi da se unesu faktori kvadratne jednacine

a, b, c, i ispisuje kakva su rijesenja te kvadratne jednacine. */

#include <iostream>

using namespace std;

int main (){

int a,b,c,d;

cout<<"Unesite faktor a: ";

cin>>a;

cout<<"Unesite faktor b: ";

cin>>b;

cout<<"Unesite faktor c: ";

cin>>c;

d=(b^2)-4*a*c;

if (d==0)

cout<<"Rjesenja su realna i jesnaka"<<endl;

else if (d>0)

cout<<"Rjesenja su realna i razlicita"<<endl;

else

cout<<"Rjesenja su imaginarna"<<endl;

system ("pause");

return 0;

}

Page 8: uup zadaci

/* Napisati program koji ce traziti da se unese broj od 1 do 7 i onda taj program

treba da ispise koji je to dan u tjednu. */

#include <iostream>

using namespace std;

int main (){

int a;

cout<<"Unesite broj od 1 do 7: ";

cin>>a;

switch (a){

case 1: cout<<"Ponedeljak"<<endl;

break;

case 2: cout<<"Utorak"<<endl;

break;

case 3: cout<<"Srijeda"<<endl;

break;

case 4: cout<<"Cetvrtak"<<endl;

break;

case 5: cout<<"Petak"<<endl;

break;

case 6: cout<<"Subota"<<endl;

break;

case 7: cout<<"Nedelja"<<endl;

break;

default: cout<<"Unijeli ste pogresan broj."<<endl;

}

system ("pause");

return 0;

}

Page 9: uup zadaci

/* Napisati program koji ce od korisnika traziti da unese broj od 1 do 12 i onda

ce ispisati koliko mjesec pod tim brojem ima dana*/

#include <iostream>

using namespace std;

int main (){

int a;

cout<<"Unesi broj od 1 do 12: ";

cin>>a;

switch (a) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

cout<<"Mjesec ima 31 dan."<<endl;

break;

case 4:

case 6:

case 9:

case 11:

cout<<"Mjesec ima 30 dana."<<endl;

break;

case 2:

cout<<"Mjesec ima 28 (29) dana."<<endl;

break;

default: cout<<"Unijeli ste pogresan broj"<<endl;

}

system ("pause");

return 0;

}

Page 10: uup zadaci

/* Napisati program koji ce od korisnika traziti da unese broj od 1 do 12 i onda

ce tom broju pridruziti odgovarajuci mjesec u godini*/

#include <iostream>

using namespace std;

int main (){

int a;

cout<<"Unesi broj od 1 do 12: ";

cin>>a;

switch (a) {

case 1: cout<<"Januar"<<endl;

break;

case 2: cout<<"Februar"<<endl;

break;

case 3: cout<<"Mart"<<endl;

break;

case 4: cout<<"April"<<endl;

break;

case 5: cout<<"Maj"<<endl;

break;

case 6: cout<<"Jun"<<endl;

break;

case 7: cout<<"Jul"<<endl;

break;

case 8: cout<<"August"<<endl;

break;

case 9: cout<<"Septembar"<<endl;

break;

case 10: cout<<"Oktobar"<<endl;

break;

case 11: cout<<"Novembar"<<endl;

break;

case 12: cout<<"Decembar"<<endl;

break;

default: cout<<"Unijeli ste pogresan broj"<<endl;

}

system ("pause");

return 0;

}

Page 11: uup zadaci

/* Napisati program za izracun faktorijela*/

#include <iostream>

using namespace std;

int main (){

int n, i;

cout<<"Unesi broj: ";

cin>>n;

long f=1;

for (i=1; i<=n; i++)

f*=i;

cout<<"Rezultat je : "<<f<<endl;

system ("pause");

return 0;

}

Page 12: uup zadaci

/* Napisati program koji ce moje ime ispisati 10 puta. */

#include <iostream>

using namespace std;

int main (){

int i;

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

cout<<"Boban"<<endl;

system ("pause");

return 0;

}

Page 13: uup zadaci

/* Napisati program koji ce ispisati sumu svih brojeva nekog intervala koji

su djeljivi s 3 i s 7*/

#include <iostream>

using namespace std;

int main (){

int x,y,i, suma=0;

cout<<"Unesite donju granicu intervala: ";

cin>>x;

cout<<"Unesite gornju granicu intervala: ";

cin>>y;

for (i=x; i<y; i++){

if ((i%3==0)||(i%7==0))

suma=suma+i;

}

cout<<"Suma brojeva je: "<<suma<<endl;

system ("pause");

return 0;

}

Page 14: uup zadaci

/*napisati program koji ce provjeriti da li je uneseni broj djeljiv s sumom

njegovih cifara*/

#include <iostream>

using namespace std;

int main(){

int a, i, suma=0;

cout<<"Unesite broj: ";

cin>>a;

for (i=a; i>0; i=i/10)

suma = suma + i%10;

if (a%suma==0)

cout<<"Broj je djeljiv s sumom svojih cifara, jer je suma broja "<<a<<

" podjeljena s sumom njegovih cifara "<<suma<<" jednaka "<<a/suma<<

" bez ostatka"<<endl;

else

cout<<"Broj nije djeljiv s sumom svojih cifara"<<endl;

system ("pause");

return 0;

}

Page 15: uup zadaci

/* napisati program koji trazi najveci trocifren broj kod kojeg je suma kubova

njegovih cifara jednaka tom broju*/

#include <iostream>

using namespace std;

int main (){

int s, d, j, i, a=0;

for (i=100; i <=999; i++){

j=i%10;

d =(i/10)%10;

s =i/100;

if ((s*s*s)+(d*d*d)+(j*j*j)==i){

if (i>=a){

a=i;}

}}

cout<<"Najveci broj je: "<<a<<endl;

cout<<endl;

system ("pause");

return 0;

}

Page 16: uup zadaci

/* Napisati program koji racuna sumu neparnih brojeva u datom intervalu*/

#include <iostream>

using namespace std;

int main (){

int n, m, suma=0, i;

cout<<"Unesite donju granicu intervala: ";

cin>>n;

cout<<"Unesite gornju granicu intervala: ";

cin>>m;

for (i=n; i<=m; i++)

if(i%2==1){

suma=suma+i;

}

cout<<"Suma svih neparnih brojeva zadanog intervala je "<<suma<<endl;

system ("pause");

return 0;

}

Page 17: uup zadaci

/* Napisati program koji racuna sumu parnih brojeva u datom intervalu*/

#include <iostream>

using namespace std;

int main (){

int n,m,i,suma=0;

cout<<"Unesite donju granicu niza: ";

cin>>n;

cout<<"Unesite gornju granicu niza: ";

cin>>m;

for (i=n; i<=m; i++)

if (i%2==0){

suma=suma+i;}

cout<<"Suma parnih brojeva zadanog niza je "<<suma<<endl;

system ("pause");

return 0;

}

Page 18: uup zadaci

/*napisati program koji ispisuje sve brojeve od 100 do999, koji imaju svojstvo

da je suma cifara stotica i jedinica jednaka cifri desetica*/

#include <iostream>

using namespace std;

int main (){

int s, d, j, i;

for (i=100; i <=999; i++){

j=i%10;

d =(i/10)%10;

s =i/100;

if (s+j==d){

cout<<i<<" ";

}

}

cout<<endl;

system ("pause");

return 0;

}

Page 19: uup zadaci

/*napisati program koji ce provjeriti da li je uneseni broj djeljiv s sumom

njegovih cifara*/

#include <iostream>

using namespace std;

int main(){

int a, temp, suma=0;

cout<<"Unesite broj: ";

cin>>a;

temp=a;

while (a>0){

suma = suma + a%10;

a=a/10;

}

if (temp%suma==0)

cout<<"Broj je djeljiv s sumom svojih cifara, jer je suma broja "<<temp<<

" podjeljena s sumom njegovih cifara "<<suma<<" jednaka

"<<temp/suma<<

" bez ostatka"<<endl;

else

cout<<"Broj nije djeljiv s sumom svojih cifara"<<endl;

system ("pause");

return 0;

}

Page 20: uup zadaci

/*napisati program koji za zadani interval [m,n] izlistava sve brojeve u tom

intervalu koji su djeljivi sa sumom svojih cifara*/

#include<iostream>

using namespace std;

int main()

{int a, b, temp, i, suma;

cout<<"Unesite donju granicu intervala: ";

cin>>a;

cout<<"Unesite gornju granicu intervala: ";

cin>>b;

for(i=a; i<=b; i++){

suma=0;

temp=i;

while(temp!=0){

suma = suma + (temp%10);

temp=temp/10;}

if(i%suma==0)

cout <<i<<" ";}

cout<<endl;

system ("pause");

return 0;

}

Page 21: uup zadaci

/* Napisati program koji ucitava prirodne brojeve sve dok se ne ucita nula i

ispisuje najveci ucitan broj*/

#include <iostream>

using namespace std;

int main (){

int broj, a=0;

while (broj !=0){

cout<<"Unesi broj: ";

cin>>broj;

if (broj>=a){

a=broj;}

}

cout<<"Najveci broj je: "<<a<<endl;

system ("pause");

return 0;

}

Page 22: uup zadaci

/*napisati program koji ce traziti da se unese neki broj, ispisati obrnut taj

broj i sabrati ga s unesenim brojem*/

#include <iostream>

using namespace std;

int main(){

int broj, temp, obrnuti=0;

cout<<"Unesite broj: ";

cin>>broj;

temp=broj;

while (broj>0){

obrnuti= obrnuti*10 +(broj%10);

broj=broj/10;

}

cout<<"Obrnuti broj je: "<<obrnuti<<endl;

cout<<"Zbir brojeva je: "<<temp+obrnuti<<endl;

system ("pause");

return 0;

}

Page 23: uup zadaci

/* napisati program koji od korisnika trazi da unese ime i

onda to ime ispise obrnuto. */

#include <iostream>

#include <cstring>

using namespace std;

int main(){

string ime;

cout<<"unesi ime: ";

cin >> ime;

cout <<"obrnuto ime je: "<<endl;

for (int i=0; i<10; i++){

cout<<ime<<endl;

int duzina = ime.length();

while (duzina >= 0) {

cout << ime[duzina];

duzina = duzina -1;}

cout<<endl;}

system ("pause");

return 0;

}

Page 24: uup zadaci

/*napisati program koji ce otkriti da li je upisani broj pravi parni broj,

tj. da li su mu sve cifre parne*/

#include <iostream>

using namespace std;

int main (){

int n, ostatak;

cout<<"Unesite broj: ";

cin>>n;

bool pravi=true;

while (n!=0){

ostatak=n%10;

n=n/10;

if (ostatak%2!=0){

pravi=false;

}

}

if (pravi==true)

cout<<"Ovo je pravi parni broj."<<endl;

else

cout<<"Ovo nije pravi parni broj."<<endl;

system ("pause");

return 0;

}

Page 25: uup zadaci

/* napisati program koji sabira unesene vrijednosti sa tastature sve dok ne

unesemo vrijednost -1 nakon cega ispisuje izracunatu sumu*/

#include <iostream>

using namespace std;

int main (){

int a, i, suma=0;

while (a!=-1){

cout<<"Unesi broj: ";

cin>>a;

suma=suma+a;}

cout<<"Suma brojeva je "<<suma<<endl;

system ("pause");

return 0;

}

Page 26: uup zadaci

/* napisati program koji od korisnika trazi da upise svoje ime i onda da ga

program ispise 10 puta. */

#include <iostream>

using namespace std;

int main (){

char ime[80];

cout << "Upisite ime: ";

cin >> ime;

cout << "Tvoje ime 10x :-) "<<endl;

for(int i=0; i<10; i++){

cout<<ime<<endl;}

system ("pause");

return 0;

}

Page 27: uup zadaci

/* napisati program koji ce od 10 cjelobrojnih vrijednosti naci onaj element

koji je najblizi aritmetickoj sredini. */

#include <iostream>

#include <cmath>

using namespace std;

int main (){

int niz[10];

int i, suma=0, broj=0;

float ars;

for (i=0; i<10; i++){

cout<<i<<". clan niza x["<<i<<"] = ";

cin>>niz[i];

suma = suma + niz[i];}

ars=(float)suma/10;

for(i=0; i<10; i++){

if (abs(niz[i]-ars)<abs(niz[broj]-ars))

broj=i;}

cout<<"Aritmeticka sredina je: "<<ars<<endl;

cout<<"Najblizi aritmetickoj sredini je: "<<niz[broj]<<endl;

system ("pause");

return 0;

}

Page 28: uup zadaci

/* Zadane su duzine dva niza. Napuniti nizove i formirati treci niz koji sadrzi sve

elemente prva dva niza*/

#include <iostream>

using namespace std;

int main (){

int a[2], b[2], c[4];

int i;

for (i=0; i<2; i++){

cout<<i+1<<". clan prvog niza = ";

cin>>a[i];}

for (i=0; i<2; i++){

cout<<i+1<<". clan drugog niza = ";

cin>>b[i];}

cout<<"prvi niz je: ";

for(i=0; i<2; i++){

cout<<a[i]<<" ";}

cout<<endl;

cout<<"drugi niz je: ";

for(i=0; i<2; i++){

cout<<b[i]<<" ";}

cout<<endl;

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

c[i]=a[i];

for(i=2;i<4;i++)

c[i]=b[i-2];

cout<<"treci niz je: ";

for(i=0; i<4; i++){

cout<<c[i]<<" ";}

system ("pause");

return 0;

}

Page 29: uup zadaci

/* Napisati program koji ce u vec sortiran niz ubaciti element koji korisnik

unese s tastature na svoje pravo mjesto, te ispisati novonastali niz na monitor.

Zadani niz je a={2,6,10,23,27,30} */

#include <iostream>

using namespace std;

int main (){

int a[6]={2,6,10,23,27,30}, b[1], niz[7];

int i,j,temp;

cout<<"Zadani niz je: ";

for(i=0; i<6; i++){

cout<<a[i]<<" ";}

cout<<endl<<endl;

for (i=0; i<1; i++){

cout<<"Unesite broj koji se ne nalazi u prvom nizu: ";

cin>>b[i];}

for(i=0;i<6;i++){//formiranje treceg niza

niz[i]=a[i];}

for(i=6;i<7;i++){

niz[i]=b[i-6];}

for (i=0;i<7;i++){//sortiranje treceg niza

for (j=i;j<7;j++){

if(niz[i]>niz[j]){

temp=niz[i];

niz[i]=niz[j];

niz[j]=temp;}

}

}

cout<<"Novi sortirani niz je: ";

for(i=0; i<7; i++){

cout<<niz[i]<<" ";}

cout<<endl;

system ("pause");

return 0;

}

Page 30: uup zadaci

/*Napisati program koji od korisnika trazi da unese 3x3 matricu. Program treba

da zamjeni mjesta najmanjem i najvecem broju*/

#include <iostream>

using namespace std;

int main(){

int niz[3][3];

int i, j, min, max, b=0, c=0, d=0, e=0;

cout<<"Unesite matricu: ";

for(int i=0;i<3 ;i++)

for(int j=0;j<3 ;j++)

cin>>niz[i][j];

min=niz[0][0];

max=niz[0][0];

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

for (j=0; j<3; j++){

if(niz[i][j]>max)

max = niz[i][j];

b=i;

c=j;

if (niz[i][j]<min)

min=niz[i][j];

d=1;

e=j;}

int temp=b;

b=c;

c=temp;

temp=d;

d=e;

e=temp;

for(i=0;i<3 ;i++){

for(j=0;j<3 ;j++){

cout<<niz[i][j]<<" ";}

cout<<endl;}

system ("pause");

return 0;

}

Page 31: uup zadaci

/*Napisati program koji od korisnika trazi da unese 3x3 niz. Program treba da

ispise najmanji i najveci broj*/

#include <iostream>

using namespace std;

int main(){

int niz[3][3];

int i, j, min=0, max=0;

cout<<"Unesite niz: ";

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

for (j=0; j<3; j++){

cin>>niz[i][j];}

min=niz[0][0];

max=niz[0][0];

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

for (j=0; j<3; j++){

if(niz[i][j]>max)

max = niz[i][j];

if (niz[i][j]<min)

min=niz[i][j];}

cout<<"Najveci clan je: "<<max<<endl;

cout<<"Najmanji clan je: "<<min<<endl;

system ("pause");

return 0;

}

Page 32: uup zadaci

/*Unjeti niz 3x3. Program treba da ispise one elemente niza koji su najveci u

svakom redu i u svakoj koloni*/

#include <iostream>

using namespace std;

int main(){

int niz[3][3], red[3], kolona[3];

int i, j, k, maxr, maxk;

cout<<"Unesite niz: ";

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

for (j=0; j<3; j++){

cin>>niz[i][j];}

cout<<endl;

cout<<"Najveci brojevi po redovima su: ";

for (i=0; i<3; i++){

maxr=0;

for (j=0; j<3; j++){

if (niz[i][j] > maxr){

maxr = niz[i][j];}

red[i] = maxr;}

cout<<red[i]<<" ";}

cout<<endl;

cout<<"Najveci brojevi po kolonama su: ";

for (j=0; j<3; j++){

maxk=0;

for (i=0; i<3; i++){

if (niz[i][j] > maxk){

maxk = niz[i][j];}

kolona[j] = maxk;}

cout<<kolona[j]<<" ";}

cout<<endl<<endl;

system ("pause");

return 0;

}

Page 33: uup zadaci

/* matrica 3x3. Naci najveci element matrice i razliku sume kolone i reda

kojem taj broj pripada*/

#include<iostream>

using namespace std;

int main (){

int niz[3][3];

int i, j, red=0, kolona=0, sumar=0, sumak=0;

cout<<"Unesite matricu: "<<endl;

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

for (j=0; j<3; j++){

cin>>niz[i][j];}

cout<<endl;

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

for (j=0; j<3; j++){

if (niz[i][j]>niz[red][kolona]){

red=i;

kolona=j;}

}

for (j=0; j<3; j++){

sumar=sumar+niz[red][j];}

for (i=0; i<3; i++){

sumak=sumak+niz[i][kolona];}

cout<<"Najveci broj je "<<niz[red][kolona]<<", koji se nalazi u "<<red+1<<".

redu i "<<kolona+1<<". koloni. "<<endl;

cout<<"Suma tog reda je "<<sumar<<", a suma te kolone je

"<<sumak<<"."<<endl;

cout<<"Razlika sume kolone i sume reda je "<<sumak-

sumar<<"."<<endl<<endl;

system ("pause");

return 0;

}

Page 34: uup zadaci

/*Napisati program koji od korisnika trazi da unese 3x3 matricu. Program treba

da zamjeni mjesta najmanjem i najvecem broju*/

#include <iostream>

using namespace std;

int main(){

int niz[3][3];

int i, j, min, max, b=0, c=0, d=0, e=0;

cout<<"Unesite matricu: ";

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

for(j=0;j<3 ;j++)

cin>>niz[i][j];

cout<<endl;

for(i=0;i<3 ;i++){

for(j=0;j<3 ;j++){

cout<<niz[i][j]<<" ";}

cout<<endl;}

cout<<endl;

min=niz[0][0];

max=niz[0][0];

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

for (j=0; j<3; j++){

if(niz[i][j]>max){

max = niz[i][j];

b=i;

c=j;}

if (niz[i][j]<min){

min=niz[i][j];

d=i;

e=j;}}

cout<<"najmanji "<<niz[d][e]<<" najveci "<<niz[b][c]<<endl<<endl;

int temp=niz[b][c];

niz[b][c]=niz[d][e];

niz[d][e]=temp;

for(i=0;i<3 ;i++){

for(j=0;j<3 ;j++){

cout<<niz[i][j]<<" ";}

cout<<endl;}

cout<<endl;

system ("pause");

return 0;

}

Page 35: uup zadaci

/*program ispisuje obrnutu 3x3 matricu*/

#include <iostream>

using namespace std;

int main (){

int matrica[3][3];

int i, j;

cout<<"unesite matricu"<<endl;

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

for(j=0; j<3; j++){

cin>>matrica[i][j];}

cout<<"matrica izgleda"<<endl;

for (i=0; i<3;i++){

for (j=0; j<3;j++){

cout<<matrica[i][j]<<" ";}

cout<<endl;}

cout<<endl;

cout<<"obrnuta matrica je"<<endl;

for (i=2; i>=0;i--){

for (j=2; j>=0;j--){

cout<<matrica[i][j]<<" ";}

cout<<endl;}

cout<<endl;

cout<<endl;

system ("pause");

return 0;

}

Page 36: uup zadaci

/* mnozenje dvije 3x3 matrice by Boris Vincar*/

#include<iostream>

using namespace std;

int main(){

int matA[3][3],matB[3][3], matC[3][3], sum, i, j, k;

/*zadavanje velicina matrica, te zadavanje varijabli*/

cout<<"\nOvaj program sluzi za mnozenje dvije 2x2 matrice."<<endl;

cout<<"\nUnesite matricu A: "<<"\n"<<endl;

for(int i=0;i<3 ;i++)

for(int j=0;j<3 ;j++)

cin>>matA[i][j];

cout<<"\nUnesena matrica je oblika:"<<"\n"<<endl;

for(int i=0;i<3 ;i++)

{

for(int j=0;j<3 ;j++)

{

cout<<matA[i][j]<<" ";

}

cout<<endl;

}

cout<<"\nUnesite matricu B: "<<"\n"<<endl;

for(int i=0;i<3 ;i++)

for(int j=0;j<3 ;j++)

cin>>matB[i][j];

/*punjenje druge matrice*/

cout<<"\nUnesena matrica je oblika:"<<"\n"<<endl;

for(int i=0;i<3 ;i++)

{

for(int j=0;j<3 ;j++)

{

cout<<matB[i][j]<<" ";

}

Page 37: uup zadaci

cout<<endl;

}

/*ispis druge matrice tako da ce prvo ispisati retke pa onda stupce.*/

for (int i=0; i<3; i++)

for (int j=0; j<3; j++){

sum=0;

for (int k=0; k<3; k++)

sum+=matA[i][k]*matB[k][j];

matC[i][j]=sum;}

cout<<"\nMnozenjem A i B matrica dobijamo matricu C:"<<"\n"<<endl;

for(int i=0;i<3 ;i++)

{

for(int j=0;j<3 ;j++)

{

cout<<matC[i][j]<<" ";

}

cout<<endl;

}

/*ispis trece matrice tako da ce prvo ispisati retke pa onda stupce*/

cout<<""<<endl;

system("Pause");

return 0;

}

Page 38: uup zadaci

/*pokazivaci*/

#include <iostream>

using namespace std;

int main (){

int broj, *pok_broj;

broj=55;

pok_broj=&broj;

cout<<"ispis broj: "<<broj<<endl; //55

cout<<"ispis *pok_broj: "<<*pok_broj<<endl; //55

cout<<"ispis &broj: "<<&broj<<endl; //adresa

cout<<"ispis pok_broj: "<<pok_broj<<endl; //adresa

cout<<"ispis *(&broj): "<<*(&broj)<<endl; //55

system ("pause");

return 1;

}

Page 39: uup zadaci

/*pokazivac na pokazivac*/

#include <iostream>

using namespace std;

int main (){

float **dvaDpolje;

int i, j, stupac, redak;

cout<<"Broj redaka: ";

cin>>redak;

dvaDpolje= new float*[redak];

for (i=0; i<redak; i++){

cout<<"Broj clanova u "<<i+1<<" retku: ";

cin>>stupac;

dvaDpolje[i]=new float[stupac+1];

dvaDpolje[i][0]=stupac;

for (j=1; j<=stupac; j++)

dvaDpolje[i][j]=i+1+j/100;}

cout<<"Ispis clanova polja: "<<endl;

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

for (j=1; j<=dvaDpolje[i][0]; j++)

cout<<"["<<i<<"]["<<j<<"] = "<<dvaDpolje[i][j]<<endl;

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

delete[]dvaDpolje[i];

delete[]dvaDpolje;

system ("pause");

return 0;

}

Page 40: uup zadaci

/* pokazivaci. pravljenje dinamickog niza */

#include <iostream>

using namespace std;

int main (){

int n, i;

int *niz=new int [n];

cout<<"Unesite koliko elemenata ima niz: ";

cin>>n;

for (i=0; i<n; i++){

cout<<"Unesite "<<i+1<<" clan niza: ";

cin>>niz[i];}

cout<<"\nNiz je: ";

for (i=0; i<n; i++){

cout<<niz[i]<<" ";}

cout<<endl;

delete []niz;

system ("pause");

return 0;

}

Page 41: uup zadaci

/*napisati program koji unosi proizvoljan broj cjelobrojnih elemenata (broj

elemenata unosi korisnik programa). Program mora da ispise najmani clan,

najveci clan i aritmeticku sredinu.*/

#include <iostream>

using namespace std;

int main (){

int i, n, min, max, suma =0;

float ars;

cout<<"Koliko zelite brojeva unijeti: ";

cin>>n;

int *niz=new int[n];

for(i=0; i<n; i++){

cout<<"Unesite "<<i+1<<". broj: ";

cin>>niz[i];

suma = suma+niz[i];}

max=niz[0];

min=niz[0];

for(i=0; i<n; i++){

if(niz[i]>max)

max=niz[i];

if (niz[i]<min)

min=niz[i];}

ars=(float)suma/n;

cout<<"Najmanji clan unesenih elemenata je "<<min<<endl;

cout<<"Najveci clan je "<<max<<endl;

cout<<"Aritmeticka sredina je "<<ars<<endl;

delete []niz;

system ("pause");

return 0;

}

Page 42: uup zadaci

/*napisati program koji unosi proizvoljan broj cjelobrojnih elemenata. program

trena da napravi niz koji ce smjestiti samo parne brojeve. naci sumu prvog i

drugog niza te razliku suma i pokazati na monitoru.*/

#include <iostream>

using namespace std;

int main (){

int i, j=0, x, b=0, suma1=0, suma2=0;

cout<<"Koliko zelite brojeva unijeti: ";

cin>>x;

int *niz1=new int[x];

for (i=0; i<x; i++){

cout<<"Unesite "<<i+1<<". broj: ";

cin>>niz1[i];

suma1=suma1+niz1[i];}

for (i=0; i<x; i++){

if(niz1[i]%2==0){

b=b+1;

suma2=suma2+niz1[i];}}

int *niz2= new int [b];

for (i=0; i<x; i++){

if(niz1[i]%2==0){

niz2[j]=niz1[i];

j=j+1;}}

cout<<"Uneseni brojevi su: ";

for (i=0; i<x; i++){

cout<<niz1[i]<<" ";}

cout<<endl;

delete []niz1;

cout<<"Parni brojevi su: ";

for (i=0; i<b; i++){

cout<<niz2[i]<<" ";}

cout<<endl;

delete []niz2;

cout<<"Suma unesenih brojeva je: "<<suma1<<endl;

cout<<"Suma parnh brojeva je: "<<suma2<<endl;

cout<<"Razlika sume unesenih i sume parnih brojeva je: "<<suma1-

suma2<<endl;

Page 43: uup zadaci

system("pause");

return 0;

}

Page 44: uup zadaci

/*napisati program koji od korisnika trazi da se unese cjelobrojni niz. program

treba da prikaze izvjestaj za svakio elementniza koliko se puta on ponavlja

u nizu*/

#include <iostream>

using namespace std;

int main(){

int broj, i, j, b;

cout<<"koliko elemenata ima niz ";

cin>>broj;

int *niz= new int[broj];

for (i=0; i<broj; i++){

cout<<"unesite "<<i+1<<" element niza: ";

cin>>niz[i];}

cout<<endl;

for (i=0; i<broj; i++){

b=0;

for(j=0; j<broj; j++){

if(niz[i]==niz[j])

b++;}

cout<<"broj "<<niz[i]<<" se ponavlja "<<b<<" puta"<<endl;}

cout<<endl;

system ("pause");

return 0;

}

Page 45: uup zadaci

/* napisati program koji trazi da se unese proizvoljno dug niz, te da see unesu

clanovi tog niza. Program treba da ispise one clanove niza kod kojih je njihov

kvadrat jednak slijedecem clanu niza. */

#include <iostream>

using namespace std;

int main (){

int i, n;

cout<<"Koliko niz ima clanova: ";

cin>>n;

int *niz= new int [n];

for (i=0; i<n; i++){

cout<<"Unesite "<<i+1<<" clan niza ";

cin>>niz[i];}

for (i=0; i<n; i++){

if (niz[i]*niz[i]==niz[i+1])

cout<<niz[i]<<" ";}

cout<<endl;

delete []niz;

system ("pause");

return 0;

}

Page 46: uup zadaci
Page 47: uup zadaci

/*napisati program koji unosi proizvoljan broj cjelobrojnih elemenata. program

trena da napravi niz koji ce smjestiti samo parne brojeve. naci sumu prvog i

drugog niza te razliku suma i pokazati na monitoru.*/

#include <iostream>

using namespace std;

int main (){

int i, x, y=0, parni, suma1=0, suma2=0;

cout<<"Koliko zelite brojeva unijeti: ";

cin>>x;

int *niz1 = new int [x];

for (i=0; i<x; i++){

cout<<"Unesite "<<i+1<<". broj: ";

cin>>niz1[i];

suma1=suma1+niz1[i];}

for (i=0; i<x; i++){

if(niz1[i]%2==0){

y=y+1;}}

int *niz2 = new int [y];

for (i=0; i<x; i++){

if(niz1[i]%2==0){

suma2=suma2+niz1[i];

niz2[i]=niz1[i];}}

cout<<"Suma unesenih brojeva je: "<<suma1<<endl;

cout<<"Suma parnh brojeva je: "<<suma2<<endl;

delete []niz2;

delete []niz1;

system("pause");

return 0;

}

Page 48: uup zadaci

/*napisati program koji unosi proizvoljan broj cjelobrojnih elemenata. program

trena da napravi niz koji ce smjestiti samo parne brojeve. naci sumu prvog i

drugog niza te razliku suma i pokazati na monitoru.*/

#include <iostream>

using namespace std;

int main (){

int i, j=0, x, b=0, suma1=0, suma2=0;

cout<<"Koliko zelite brojeva unijeti: ";

cin>>x;

int *niz1=new int[x];

for (i=0; i<x; i++){

cout<<"Unesite "<<i+1<<". broj: ";

cin>>niz1[i];

suma1=suma1+niz1[i];}

for (i=0; i<x; i++){

if(niz1[i]%2==0){

b=b+1;

suma2=suma2+niz1[i];}}

cout<<"Uneseni brojevi su: ";

for (i=0; i<x; i++){

cout<<niz1[i]<<" ";}

cout<<endl;

int niz2[b];

for (i=0; i<x; i++){

if(niz1[i]%2!=1){

niz2[j]=niz1[i];

j=j+1;}}

delete []niz1;

cout<<"Parni brojevi su: ";

for (i=0; i<b; i++){

cout<<niz2[i]<<" ";}

cout<<endl;

cout<<"Suma unesenih brojeva je: "<<suma1<<endl;

cout<<"Suma parnh brojeva je: "<<suma2<<endl;

cout<<"Razlika sume unesenih i sume parnih brojeva je: "<<suma1-

suma2<<endl;

system("pause");

return 0;

}

Page 49: uup zadaci

/*napisati program koji unosi proizvoljan broj cjelobrojnih elemenata. program

trena da napravi niz koji ce smjestiti samo parne brojeve. naci sumu prvog i

drugog niza te razliku suma i pokazati na monitoru.*/

#include <iostream>

using namespace std;

int main (){

int i, j=0, n, parni, b=0, suma1=0, suma2=0;

cout<<"Koliko zelite brojeva unijeti: ";

cin>>n;

int *niz1 = new int [n];

for (i=0; i<n; i++){

cout<<"Unesite "<<i+1<<". broj: ";

cin>>niz1[i];

suma1=suma1+niz1[i];}

cout<<"Uneseni brojevi su: ";

for (i=0; i<n; i++){

cout<<niz1[i]<<" ";}

cout<<endl;

for (i=0; i<n; i++){

if(niz1[i]%2==0){

b=b+1;

suma2=suma2+niz1[i];}}

int niz2[b];

for (i=0; i<n; i++){

if(niz1[i]%2==0){

niz2[j]=niz1[i];

j=j+1;}}

cout<<"Parni brojevi su: ";

for (i=0; i<b; i++){

cout<<niz2[i]<<" ";}

cout<<endl;

cout<<"Suma unesenih brojeva je: "<<suma1<<endl;

cout<<"Suma parnh brojeva je: "<<suma2<<endl;

delete []niz1;

delete []niz2;

Page 50: uup zadaci

system("pause");

return 0;

}

Page 51: uup zadaci

/*frekfencija brojeva u nizu*/

#include <iostream>

using namespace std;

int main(){

int i, n, b, j;

cout<<"koliko ce niz imati clanova ";

cin>>n;

int *niz=new int [n];

for (i=0; i<n; i++){

cout<<"Unesite "<<i+1<<". clan niza ";

cin>>niz[i];}

cout<<endl;

for(i=0; i<n; i++){

b=0;

for (j=0; j<n; j++){

if (niz[i]==niz[j])

b++;}

cout<<"broj "<<niz[i]<<" se ponovio "<<b<<" puta"<<endl;}

cout<<endl;

system ("pause");

return 0;

}

Page 52: uup zadaci

/* Napisati program koji od korisnika trazi da unese tri proizvoljno duga

cjelobrojna niza. Program treba da ispise na monitoru onaj niz koji ima

najvecu aritmeticku sredinu. */

#include <iostream>

using namespace std;

void unos(int *niz,int duzina){

for (int i =0; i<duzina; i++){

cout<<"Unesi "<<i+1<<" clan niza: ";

cin>>niz[i];}}

int sumaN(int *niz,int duzina){

int suma=0;

for(int i=0; i<duzina; i++){

suma = suma + niz[i];

return suma;}}

float ars(int *niz,int duzina){

return (float)sumaN(niz, duzina)/(float)duzina;}

void ispis(int *niz,int duzina){

for (int i =0; i<duzina; i++){

cout<<niz[i]<<", ";}}

int main (){

int i, x, y, z;

float ars1, ars2, ars3;

cout<<"Koliko prvi niz ima clanova: ";

cin>>x;

cout<<"Koliko drugi niz ima clanova: ";

cin>>y;

cout<<"Koliko treci niz ima clanova: ";

cin>>z;

int *niz1 = new int [x];

int *niz2 = new int [y];

int *niz3 = new int [z];

cout<<"\nUnosenje prvog niza."<<endl;

unos(niz1,x);

cout<<"\nUnosenje drugog niza."<<endl;

unos(niz2,y);

cout<<"\nUnosenje treceg niza."<<endl;

unos(niz3,z);

Page 53: uup zadaci

ars1 = ars(niz1,x);

ars2 = ars(niz2,y);

ars3 = ars(niz3,z);

cout<<"\nNiz koji ima clanove: ";

if (ars1>ars2 && ars1>ars3)

ispis (niz1,x);

else if (ars2>ars3)

ispis (niz2,y);

else

ispis (niz3,z);

cout<<"ima najvecu aritmeticku sredinu:"<<endl;

delete []niz1;

delete []niz2;

delete []niz3;

system ("pause");

return 1;

}

Page 54: uup zadaci
Page 55: uup zadaci

/* implementirati funkciju void zamjeniMinMax(int *niz, int duzina) koja ce

zamijeniti vrijednosti elemenata na prvoj i zadnjoj poziciji u proslijedjenom

nizu.*/

#include <iostream>

using namespace std;

void zamjeniMinMax(int *niz, int duzina){

int i, min =0, max=0;

for (i=0; i<duzina; i++){

if (niz[i]>niz[max])

max=i;

if (niz[i]<niz[min])

min=i;}

for (i=0; i<min; i++){

cout<<niz[i]<<" ";}

cout<<niz[max]<<" ";

for (i=min+1; i<max; i++){

cout<<niz[i]<<" ";}

cout<<niz[min]<<" ";

for (i=max+1; i<duzina; i++){

cout<<niz[i]<<" ";} }

int main (){

int n, i;

int *niz=new int [n];

cout<<"Unesite koliko elemenata ima niz: ";

cin>>n;

for (i=0; i<n; i++){

cout<<"Unesite "<<i+1<<" clan niza: ";

cin>>niz[i];}

cout<<"\nispis niza: ";

zamjeniMinMax (niz, n);

delete []niz;

system ("pause");

return 0;

}

Page 56: uup zadaci

/* implementirati funkciju void spoji(int *niz1, int *niz2, int duz1, int duz2)

koja ce elemente nizova niz1 i niz2 spojiti u treci niz, zatim obrnuti pozicije

elemenata novog niza i ispisati ga na ekran. */

#include <iostream>

using namespace std;

void spoji(int *niz1, int *niz2, int duz1, int duz2){

int i;

int duz=duz1+duz2;

int *niz= new int [duz];

for(i=0;i<duz1;i++){

niz[i]=niz1[i];}

for(i=duz1;i<duz;i++){

niz[i]=niz2[i-duz1];}

for(i=duz-1; i>=0; i--){

cout<<niz[i]<<" ";}

delete []niz;

}

int main (){

int n, m, i;

cout<<"Unesite koliko elemenata ima prvi niz: ";

cin>>n;

int *niz1=new int [n];

for (i=0; i<n; i++){

cout<<"Unesite "<<i+1<<" clan niza: ";

cin>>niz1[i];}

cout<<"Unesite koliko elemenata ima drugi niz: ";

cin>>m;

int *niz2=new int [m];

for (i=0; i<m; i++){

cout<<"Unesite "<<i+1<<" clan niza: ";

cin>>niz2[i];}

cout<<"\nispis novog niza: ";

spoji(niz1, niz2, n, m);

cout<<endl;

delete []niz1;

delete []niz2;

system ("pause");

return 0;

}

Page 57: uup zadaci
Page 58: uup zadaci

/*Data je matrica a[3][3]. Napisati program koji pravi matricu inverznu matricu

A te je ispisuje na ekran. U programu koristiti funkcije.*/

#include<iostream>

using namespace std;

void unos (int mat[3][3]);

void ispis (float mat[3][3]);

int main(){

int A[3][3];

cout<<"Unos matrice "<<endl<<endl;

unos(A);

int trans[3][3];

int predznak=-1;

for(int i=0; i<3;i++)

for(int j=0;j<3;j++){

trans[i][j]=A[j][i];}

int adj[3][3];

for(int i=0; i<3;i++){

for(int j=0;j<3;j++){

int sub[4];

int b=0;

predznak*=-1;

for(int k=0;k<3;k++)

for(int m=0;m<3;m++){

if(k!=i && m!=j){

sub[b]=trans[k][m];

b++;}}

adj[i][j]=((sub[0]*sub[3])-(sub[1]*sub[2]))*predznak;}}

int

detA=(A[0][0]*A[1][1]*A[2][2]+A[0][1]*A[1][2]*A[2][0]+A[0][2]*A[1][0]

*A[2][1])-

(A[2][0]*A[1][1]*A[0][2]+A[2][1]*A[1][2]*A[0][0]+A[2][2]*A[1][0]

*A[0][1]);

float inv[3][3];

for(int i=0;i<3; i++)

for(int j=0;j<3;j++)

inv[i][j]=(float)adj[i][j]/(float)detA;

Page 59: uup zadaci

cout<<"\nInverzna matrica je: "<<endl;

ispis (inv);

cout<<endl;

system("PAUSE");

return 0;

}

void unos(int mat[3][3]){

for(int i=0;i<3;i++){

for(int j=0;j<3;j++){

cout<<"Unesite "<<i+1<<j+1<<" clan matrice: ";

cin>>mat[i][j];}}}

void ispis (float mat[3][3]){

for(int i=0;i<3;i++){

cout<<" ";

for(int j=0;j<3;j++)

cout<<mat[i][j]<<" ";

cout<<endl;}}

Page 60: uup zadaci

/* implementirati funkciju void zamjeni(int *niz, int duzina) koja ce zamijeniti

vrijednosti elemenata na prvoj i zadnjoj poziciji u proslijedjenom nizu.*/

#include <iostream>

using namespace std;

void zamijeni(int *niz, int duz){

int temp=niz[0];

niz[0]=niz[duz-1];

niz[duz-1]=temp;

for (int i=0; i<duz; i++){

cout<<niz[i]<<" ";}}

int main (){

int n, i;

cout<<"Unesite koliko elemenata ima niz: ";

cin>>n;

int *niz=new int [n];

for (i=0; i<n; i++){

cout<<"Unesite "<<i+1<<" clan niza: ";

cin>>niz[i];}

cout<<"\nispis niza: ";

zamijeni(niz, n);

cout<<endl;

delete []niz;

system ("pause");

return 0;

}

Page 61: uup zadaci

/* implementirati funkciju void spoji(int *niz1, int *niz2, int a, int b)

koja ce elemente nizova niz1 i niz2 spojiti u treci niz, zatim obrnuti pozicije

elemenata novog niza i ispisati ga na ekran. */

#include<iostream>

using namespace std;

int unesi(int *niz,int d){

for(int i=0;i<d;i++){

cout<<"Unesi "<<i+1<<". clan niza: ";

cin>>niz[i];}}

void spoji(int *niz1,int *niz2, int a, int b){

int d=a+b;

int *niz3=new int[d];

for(int i=0;i<b;i++){

niz3[i]=niz2[b-1-i];}

for(int i=b;i<d;i++){

niz3[i]=niz1[d-i-1];}

cout<<"Novi obrnuti niz je: ";

for(int i=0;i<d;i++){

cout<<niz3[i]<<" ";}

delete []niz3;}

int main(){

int *niz1,*niz2,a,b;

cout<<"Koliko clanva ima 1. niz";

cin>>a;

niz1=new int [a];

unesi(niz1,a);

cout<<"koliko clanova ima 2. niz ";

cin>>b;

niz2=new int[b];

unesi(niz2,b);

spoji(niz1,niz2,a,b);

cout<<endl;

delete []niz1;

delete []niz2;

system("pause");

return 1;

}

Page 62: uup zadaci

/* implementirati funkciju void spoji(int *niz1, int *niz2, int duz1, int duz2)

koja ce elemente nizova niz1 i niz2 spojiti u treci niz, zatim obrnuti pozicije

elemenata novog niza i ispisati ga na ekran. */

#include<iostream>

using namespace std;

int unesi(int *niz,int d){

for(int i=0;i<d;i++){

cout<<"Unesi "<<i+1<<". clan niza: ";

cin>>niz[i];}}

void spoji(int *niz1, int *niz2, int duz1, int duz2){

int duz=duz1+duz2;

int *temp= new int [duz];

for (int i=0; i<duz1; i++){

temp[i]=niz1[i];}

for (int i=duz1; i<duz; i++){

temp[i]=niz2[i-duz1];}

int *niz3= new int[duz];

int j=0;

for (int i=duz-1; i>=0; i--){

niz3[j]=temp[i];

j++;}

delete []temp;

cout<<"Novi obrnuti niz je: ";

for (int i=0; i<duz; i++){

cout<<niz3[i]<<" ";}

delete []niz3;}

int main(){

int *niz1,*niz2,a,b;

cout<<"Koliko clanva ima 1. niz ";

cin>>a;

niz1=new int [a];

unesi(niz1,a);

cout<<"koliko clanova ima 2. niz ";

cin>>b;

niz2=new int[b];

unesi(niz2,b);

spoji(niz1,niz2,a,b);

cout<<endl;

delete []niz2;

delete [] niz1;

system("pause");

return 1;

}

Page 63: uup zadaci
Page 64: uup zadaci

/* implementirati funkciju void zamjeniMinMax(int *niz, int duzina) koja ce

zamijeniti pozicije minimalnoj i maximalnoj vrijednosti proslijedjenog niza.*/

#include <iostream>

using namespace std;

void zamijeniMinMax (int *niz, int duz){

int min=0;

int max=0;

for(int i=0; i<duz; i++){

if(niz[i]<niz[min]){

min=i;}

if(niz[i]>niz[max]){

max=i;}}

int temp=niz[min];

niz[min]=niz[max];

niz[max]=temp;

for (int i=0; i<duz; i++){

cout<<niz[i]<<" ";}}

int main (){

int n, i;

cout<<"Unesite koliko elemenata ima niz: ";

cin>>n;

int *niz=new int [n];

for (i=0; i<n; i++){

cout<<"Unesite "<<i+1<<" clan niza: ";

cin>>niz[i];}

cout<<"\nispis niza: ";

zamijeniMinMax(niz, n);

cout<<endl;

delete []niz;

system ("pause");

return 0;

}

Page 65: uup zadaci

/* Implementirati funkciju bool postojiElement(int *niz, int duzina, int element)

koja ce provjeriti da li u proslijedjenom nizu postoji trazeni broj (vratiti

true ako postoji, false ako ne postoji). */

bool postojiElement(int *niz, int duzina, int element){

for (int i=0; i<duzina; i++){

if(niz[i]==element){

return true;}

return false;}

Page 66: uup zadaci

/*napisati program koji ce neki broj iz baze 10 konvertirati u bazu 2*/

#include <iostream>

using namespace std;

int *dodaj (int element, int *niz, int &duzina){

int *temp = new int[duzina+1];

for (int i=0; i<duzina; i++)

temp[i] = niz[i];

temp[duzina]=element;

duzina++;

delete []niz;

return temp;}

int main (){

int broj,rezultat=0, i, n=0;

cout<<"unesite broj: ";

cin>>broj;

int *niz= new int [n];

while (broj!=0){

rezultat= broj%2;

broj=broj/2;

niz = dodaj(rezultat, niz, n);}

for (i=n-1; i>=0; i--){

cout<<niz[i];}

cout<<endl;

system ("pause");

return 0;

}

Page 67: uup zadaci

/*napisati program koji ce neki brojiz baze 2 konvertirati u bazu 10 */

#include <iostream>

#include <cmath>

using namespace std;

int *dodaj (int element, int *niz, int &duzina){

int *temp = new int[duzina+1];

for (int i=0; i<duzina; i++)

temp[i] = niz[i];

temp[duzina]=element;

duzina++;

delete []niz;

return temp;}

int main (){

int broj,rezultat=0, i, n=0, a=0;

float suma=0, b=2;

cout<<"unesite broj: ";

cin>>broj;

int *niz= new int [n];

while (broj!=0){

rezultat= broj%10;

broj=broj/10;

niz = dodaj(rezultat, niz, n);}

for (i=0; i<n; i++){

suma=suma+(niz[i])*pow(b,a);

a++;}

cout<<suma;

cout<<endl;

system ("pause");

return 0;

}

Page 68: uup zadaci

/* pokazivaci. pravljenje dinamickog niza */

#include <iostream>

using namespace std;

void unos(int *niz,int duzina){

for (int i =0; i<duzina; i++){

cout<<"Unesi "<<i+1<<" clan niza: ";

cin>>niz[i];}}

void ispis(int *niz,int duzina){

for (int i =0; i<duzina; i++){

cout<<niz[i]<<", ";}}

int main (){

int x, y, z, i;

cout<<"Unesite koliko elemenata ima prvi niz: ";

cin>>x;

cout<<"Unesite koliko elemenata ima drugi niz: ";

cin>>y;

z=x+y;

int *niz1=new int [x];

int *niz2=new int [y];

int *niz3=new int [z];

cout<<endl;

cout<<"\nUnosenje prvog niza."<<endl;

unos(niz1,x);

cout<<"\nUnosenje drugog niza."<<endl;

unos(niz2,y);

cout<<"\nTreci niz je: ";

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

niz3[i]=niz1[i];

for(i=x;i<z;i++)

niz3[i]=niz2[i-x];

for(i=0; i<z; i++){

cout<<niz3[i]<<" ";}

cout<<endl;

delete []niz1;

delete []niz2;

delete []niz3;

system ("pause");

return 0;

}

Page 69: uup zadaci

/*racuna frekvenciju ponavljanja nekog broja u nizu i

pored tog broja ispisuje koliko puta se ponavlja*/

#include <iostream>

using namespace std;

void ponavljanje (int *niz, int duzina){

for (int i=0; i<duzina; i++){

int element=niz[i];

int a=0;

for (int j=0; j<duzina; j++){

int provjera=niz[j];

if (provjera==element){

a++;}}

cout<<"Broj "<<element<<" se "<<a<<" puta ponavlja u

nizu"<<endl;}

}

int main(){

int i, n;

cout<<"Unesite koliko elemenata ima niz: ";

cin>>n;

int *nizA = new int [n];

for (i=0; i<n; i++){

cout<<"Unesi "<<i+1<<" clan niza: ";

cin>>nizA[i];}

cout<<endl;

ponavljanje (nizA, n);

cout<<endl;

system ("pause");

return 0;

}

Page 70: uup zadaci

/*Napisati rekurzivnu funkciju koja ce naci sumu aritmetickog niza.

Argumenti f-je su: pocetna vrijednost, krajnja vrijednost i korak.

Niz mora biti rastuci u suprotnom funkcija vraca nulu.

Prototip f-je je: int suma(int a, int b, int d) */

#include <iostream>

using namespace std;

int suma(int a, int b, int d) {

//ukoliko je pocetna veca od krajnje granice niza -> niz je opadajuci -> vraca

se nula

//ili ukoliko je d (razmak) negativan vraca se nula

if (a > b || d < 0) {

return 0;

}

return a + suma(a + d, b, d);

}

int main() {

int donja, gornja, razmak, sumaNiza;

cout << "Donja granica: ";

cin >> donja;

cout << "Gornja granica: ";

cin >> gornja;

cout << "Razmak: ";

cin >> razmak;

//pozovemo funkciju da vrati sumu u varijablu `sumaNiza`

sumaNiza = suma(donja, gornja, razmak);

cout << endl << "Suma niza je: " << sumaNiza;

cout << endl;

system("pause");

return 0;

}

Page 71: uup zadaci

/*Pomocu rekurzivne funkcije ispisati brojeve od N do 1.*/

#include <iostream>

using namespace std;

int funkcija(int N) {

cout << N << endl;

if (N <= 1) {

return 1;

}

return funkcija(N - 1);

}

int main() {

int broj;

cout << "Unesi broj: ";

cin >> broj;

funkcija(broj);

cout << endl;

system("pause");

return 0;

}

Page 72: uup zadaci

/*Napisati rekurzivnu f-ju koja ce ispisivati brojeve od N do 0 sa razmakom 3.*/

#include <iostream>

using namespace std;

int funkcija(int N) {

if (N < 0) {

return 0;

}

cout << N << endl;

return funkcija(N - 3);

}

int main() {

int granica;

cout << "Granica: ";

cin >> granica;

funkcija(granica);

cout << endl;

system("pause");

return 0;

}

Page 73: uup zadaci

/* napisati program koji od korisnika trazi da se unese proizvoljno dug niz.

program treba da vrati sumu tog niza (rekluzija) */

#include <iostream>

using namespace std;

int sumaN(int *niz, int duz){

if (duz==0)

return niz[0];

else

return niz[duz]+ sumaN(niz, duz-1);}

int main (){

int i, n, suma;

cout<<"koliko ce niz imati elemenata: ";

cin>>n;

int *niz=new int [n];

for (i=0; i<n; i++){

cout<<"unesite "<<i+1<<". clan niza: ";

cin>>niz[i];}

suma = sumaN(niz, n);

cout<<"suma niza je: "<<suma<<endl;

system ("pause");

return 0;

}

Page 74: uup zadaci

/* rekluzija, potenciranje broja*/

#include <iostream>

using namespace std;

float potenciraj ( float b, int e){

if (e == 0) return 1;

if (e == 1) return b;

return b * potenciraj ( b , e-1);

}

int main(){

float b; int e;

cout << "Upisite bazu: ";

cin >> b;

cout << endl << "Upisite eksponent: ";

cin >> e;

float rez = potenciraj ( b ,e );

cout << endl << b << "^" << e << " = " << rez << endl << endl;

system("pause");

return 0;

}

Page 75: uup zadaci