C programski jezik Zbirka zadataka sa vezbi sa pojedinih fakulteta 2009 strana Nedostaju vezbe sa FTN Novi Sad i El Fak Nis (kad nabavim prosiricu zbirku) Pitanja i zahvalnice na email: j…Full description
Full description
Full description
Full description
zbirka
matematika, funkcionalna analizaFull description
Matematika, 2 razred
Full description
bvhgFull description
Full description
Full description
Full description
Full description
Full description
fFull description
Full description
Full description
ZadaciFull description
1. Обим или површина...................................................................................................3 2. Калкулатор-примјер са насилним прекидом програма у случају грешке.............4 3. Калкулатор-примјер са кориштењем логичке промјењиве....................................6 4. Назив унесеног мјесеца и број дана у том мјесецу.................................................7 5. Факторјел-for петља...................................................................................................8 6. Факторјел-позив функције.........................................................................................9 7. Факторјел-рекурзивно................................................................................................9 8. Савршен број.............................................................................................................10 9. Најмањи заједнички садржилац..............................................................................10 10. Највећи заједнички дјелилац.................................................................................12 11. Прост број................................................................................................................12 12. Квадратна једначина...............................................................................................13 13. Фибоначијев број-рекурзивно...............................................................................15 14. Фибоначијев низ.....................................................................................................15 15. Минималан члан низа.............................................................................................16 16. Листа простих.........................................................................................................16 17. Аритметичка средина низа....................................................................................18 18. Сортирање низа.......................................................................................................18 19. Елементи на главној дијагонали............................................................................19 20. Дијагонална матрица..............................................................................................20 21. Производ-матрица са скаларом.............................................................................21 22. Производ-двије матрице........................................................................................22 23. Транспонована матрица.........................................................................................23 24. Ханој........................................................................................................................24 25. Паскалов троугао....................................................................................................25 26. Сабирање и одузимање комплексних бројева-класе...........................................26 27. Apsolutna vrijednost.................................................................................................27 28. Ispis prvih 20 brojeva...............................................................................................27 29. Pridruživanje slova...................................................................................................28 30. Zvučni signal............................................................................................................28 31. Pozdrav korisniku.....................................................................................................29 32. Površina kruga..........................................................................................................30 33. Kvadrat broja............................................................................................................30 34. Stepenovanje ............................................................................................................31 35. Pozdrav u više radova...............................................................................................31 36. Negativan broj u pozitivan........................................................................................32
37. Tri osnovne operacije...............................................................................................33 38. Djeljenje dva broja....................................................................................................33 39. Djeljenje sa ostatkom................................................................................................34 40. Broj osvojenih bodova..............................................................................................35 41. Operatori obnavljajućeg pridruživanja.....................................................................36 42. Ime korisnika i njegove godine ................................................................................37 43. Trocifreni brojevi djeljivi sa 9..................................................................................38 44. Zapremina kupe........................................................................................................38 45. Heronov obrazac ......................................................................................................39 46. Paranost broja...........................................................................................................40 47. Ispis brojeva u određenom rasponu..........................................................................41 48. Tablica množenja .....................................................................................................42 49. Faktorijel...................................................................................................................42 50. Kalkulator.................................................................................................................43 51. Kvadrati zadanog niza..............................................................................................44 52. Djeljivost brojeva......................................................................................................45 53. Brojač studenata........................................................................................................46 54. Srednja vrijednost.....................................................................................................47 55. Suma faktorijela........................................................................................................48 56. NZD Najveći zajednički djelilac - NZD..................................................................49 57. NZS Najmanji zajednički sadržilac- NZS................................................................51 58. Hanojski stubovi 1....................................................................................................52 59. Hanojski stubovi 2....................................................................................................52 60. Dani u sedmici..........................................................................................................54 61. Šahovska tabla..........................................................................................................56 62. Savršeni brojevi........................................................................................................57 63. Zbir dva vektora........................................................................................................58 64. Napisati C program koji će pronaći i ispisati na ekran sve trocifrene brojeve kod kojih je suma cifri djeljiva sa 7...................................................................................................60 65. Napisati program koji će pronaći i ispisati na ekran koliko ima peterocifrenih brojeva kod kojih je suma zadnje 4 cifre jednaka prvoj cifri.....................................................60 66. Izostvaljanje suvisnog razmaka medju rijecima.......................................................62
1. Обим или површина Начинити програм који за унесене вриједности страница троугла израчунава обим или површину троугла у зависности од избора: тастер 1 обим О, тастер 2 површина P. Програм се рјешава кориштењем наредбе switch, гдје у зависности од избора идемо на низ наредби за израчунавање обима или низ наредби за израчунавање површине. Прије преласка на само израчунавање провјерава се да ли је која од страница троугла једнака 0, и да ли унесене вриједности чине странице троугла ( збир 2 странице мора не смије бити мањи или једнак трећој). #include #include using namespace std; //deklaracija promjenljivih float O, P, S, a,b,c; int izbor; int main() { cout <<"Unesite vrijednost prve stranice a= "; cin >>a; cout <<"Unesite vrijednost druge stranice b= "; cin >>b; cout <<"Unesite vrijednost trece stranicec= "; cin >>c; if ((a==0) || (b==0) || (c==0))//da li su unesene vrijednosti 0 { cout << "Vrijednosti stranica trougla ne smiju biti <= 0!"; system("Pause"); goto kraj; } if ((a+b<=c) || (b+c<=a) || (a+c<=b))//cine li stranice trougla { cout << "Unesene vrijednosti ne cine stranice trougla!"; system("Pause"); goto kraj; } cout <<"Ako zelite obim trougla trougla 'O' pritisnite taster 1, ako zelite povrsinu trougla 'P' pritisnite taster 2"<>izbor; switch(izbor)//u zavisnosti od izbora { case 1: O=a+b+c; cout <<" Obim trougla je: " <
2. Калкулатор-примјер са насилним прекидом програма у случају грешке Начинити програм који извршава 4 основне аритметичке операције: сабирање, одузимање, множење и дијељење. Програм се рјешава кориштењем наредбе switch, у случају покушаја дијељења са 0 програм се насилно прекида. #include using namespace std; float f1(float par1, float par2, char oper)//funkcija koja izracunava vrijednosti { float privremena=0; switch (oper) { case '+':privremena=par1+par2; break; case '-':privremena=par1-par2; break; case '*':privremena=par1*par2; break; case '/':if (par2==0) { cout <<"Dijeljenje sa nulom nije dozvoljeno!"; system("Pause"); exit(-1);//ako je parametar <>1 kao rezultat daje nasilno prekidanje programa break; } else { privremena=par1/par2; break; } default: cout <<"Program radi samo 4 osnovne aritmeticke operacije: +, -, *, / "<> parametar1; cout <> parametar2; cout <> operacija; cout <
}
3. Калкулатор-примјер са кориштењем логичке промјењиве Задатак је исти као и предходни али се у рјешење уводи нова промјењива логичког типа indGreske (bool) и у зависности од стања промјењивих ова промјењива поприма вриједности true или false па самим тим диктира даље иѕвршавање програма. #include using namespace std; float f1(float par1, float par2, char oper, bool& indGreske)//funkcija sa 4 parametra, uvodim parametar bool koji ce mi omoguciti izlazak iz programa { float privremena=0; switch (oper) { case '+':privremena=par1+par2; break; case '-':privremena=par1-par2; break; case '*':privremena=par1*par2; break; case '/':if (par2==0) { indGreske=false;//omogucice mi izlazak iz programa ukoliko je djelilac jednak 0 break; } else { privremena=par1/par2; break; } default: cout <<"Program radi samo 4 osnovne aritmeticke operacije: +, -, *, / "<> parametar1; cout <> parametar2; cout <> operacija; cout <
{
cout <<"Dijeljenje sa nulom nije dozvoljeno!"; system("Pause");
} return 0; }
4. Назив унесеног мјесеца и број дана у том мјесецу Начинити програм који за унесену годину изинтервала 1901-2099 и бројчану ознаку мјесеца 1-12 исписује назив мјесеца и број дана у том мјесецу. Провјерити да ли је година преступна. Проблем се рјешава са двије switch наредбе. Преступне године су све дјељиве с 4, ако нису дјељиве са 100, којима се додају оне коју су дјељиве са 400.-програм провјерава да ли је година дјељива са 4, да не би копликовали са разгранатом структуром. #include using namespace std; int main () { int godina, mjesec,privremena;//deklaracija promjenljivih cout << "Unesi godinu iz intervala 1901-2099: "; cin >>godina; cout << "Unesi mjesec predstavljen brojcanom vrijednoscu 1-12: "; cin >>mjesec; if ((godina>=1901) && (godina<=2099))//kontrola unosa godine { switch (mjesec)//swich za broj dana u mjesecu { case 1: case 3: case 5: case 7: case 8: case 10: case 12: switch (mjesec) //swich za naziv mjeseca { case 1: cout<<"Januar"; break; case 3: cout<<"Mart"; break; case 5: cout<<"Maj"; break; case 7: cout<<"Juli"; break; case 8: cout<<"Avgust"; break; case 10: cout<<"Oktobar"; break; case 12: cout<<"Decembar"; break; } cout <<" ima 31 dan!"; system("Pause"); break; case 4: case 6: case 9: case 11: switch (mjesec)
{ case 4: cout<<"April"; break; case 6: cout<<"Juni"; break; case 9: cout<<"Septembar"; break; case 11: cout<<"Novembar"; break; } cout <<" ima 30 dana!"; system("Pause"); break; case 2: cout <<"Februar"; if (godina%4==0)//provjeravam da li je prestupna { cout<<" prestupna je godina i ima 29 dana!"; system("Pause"); } else { cout <<" ima 28 dana!"; system("Pause"); } break; default: cout<<" Oznaka mjeseca mora biti iz intervala 1-12"; system("Pause"); break; } } else {
cout<<"Unesui godinu iz navedenog intervala!"; system("Pause");
} return 0; }
5. Факторјел-for петља Начинити програм који израчунава факторјел унесеног броја. Програм се рјешава кориштењем једне for петље и акумулирањем проиѕвода бројева од 1 до тражене вриједности. Акумулирани производ чини коначно рјешење. #include using namespace std; int main() { double Broj, FaktorJ;//deklaracija promjenljivih int Brojac; cout << "Unesi broj ciji ! zelis" << endl; cin >> Broj;//unos broja ciji se ! zeli FaktorJ=1;//pocetna vrijednost for(Brojac=1;Brojac<=Broj;Brojac=Brojac+1) { FaktorJ=FaktorJ*Brojac;//izracunavanje u for petlji } cout << "Faktorjel broja "<
}
6. Факторјел-позив функције Програм је начињен тако да се израчунавање вриједности факторјела извршава у посебној функцији. Из главног програма извршавам позив функције и тако долазим до жељеног резултата. #include using namespace std; double F1 (double B)//Funkcija koja izracunava ! zadatog broja { double FJ=1; int Brojac; for(Brojac=2;Brojac<=B;Brojac+=1) { FJ=FJ*Brojac; } return FJ;//Izracunata vrijednost ! } float main()//Glavni program koji poziva funkciju { double Broj, FaktorJ;//Deklaracija promjewivih cout << "Unesite broj ciji ! zelite" << endl; cin >> Broj; FaktorJ=F1(Broj);//Poziv funkcije cout << "Rezultat je: " << FaktorJ <
7. Факторјел-рекурзивно До рјешења се долази рекурзивним позивом функције . #include using namespace std; //definisem promjenjive int n; long double FaktorJ; //ovo je funkcija koja izracunava ! long double Fak (int n) { if (n<=0) return 1; //ako je n<=0 vraca 1 i time oznacava da je greska else { return Fak(n-1)*n;//rekurzivni poziv funkcije } } //glavni program int main() { cout << "Unesi prirodan broj ciji ! zalis "; cin >>n; FaktorJ=Fak(n);
cout <<" Vrijednost "<
8. Савршен број Начинити програм који провјерава да ли је учитани број савршен. Број је савршен ако је једнак суми свих својих дјелилаца ( сам број се не рачуна). //6, 28, 496, 8128 #include using namespace std; int Broj,i,Suma; int main() { cout <<"Unesi broj za koji zelis provjeriti da li je savrsen!"; cin >> Broj; Suma=1; for (i=2;i<=(Broj/2);i++)//dovoljno je provjeriti djelioce do polovine broja { if(Broj%i==0)//provjeravam da li je djeljiv { Suma+=i;//akumuliram djelioce } } if (Broj==Suma)//da li je jednak sumi svojih djelioca { cout<<" Broj "<
9. Најмањи заједнички садржилац Начинити програм који израчунава најмањи заједнички садржилац два природна броја. Проблем се рјешава са двије do while петље, при чему је једна петљa угнијежђена у другу. Првом петљом контролишем бројеве и петља се извршава док бројеви нису једнаки јединици, исто тако мијењам вриједност бројача помоћу кога вршим дијељење бројева и акумулирам садржилац. Друга петља дијели бројеве (раставља бројеве на просте факторе) и то за вриједност бројача док је остатак једнак нули. Имам три различита случаја: 1. оба броја дјељива-дијелим оба (цјелобројно) 2. први број дјељив-дијелим први 3. други број дјељив-дијелим други Кад бројеви нису дјељиви бројачем излазим из угнијежђене петље и мијењам вриједност бројача. #include using namespace std; //Deklarisem potrebne promjenjive int PrviBroj, DrugiBroj, Sadrzilac, Brojac;
int OstatakPrvi, OstatakDrugi; int main () { cout << "Unesi vrijednost prvog broja "; cin >> PrviBroj; cout << "Unesi vrijednost drugog broja "; cin >> DrugiBroj; if ((PrviBroj<=0)||(DrugiBroj<=0)) { cout<<"Program funkcionise za cijele brojeve vece od 0"; system("Pause"); goto kraj; } Sadrzilac=1; //Postavljam pocetnu vrijednost Brojaca i sadrzioca Brojac=1; //Brojac je kontrolna promjenjiva a sadrzilac akumulativna //dvije do petlje, prva ima zadatak da odbrojava brojac od 2 do najveceg prostog faktora najmanjeg zajednickog sadrzioca do { Brojac=Brojac+1;//ako ne stavim brojac na 2 upadam u beskonacnu petlju OstatakPrvi=PrviBroj%Brojac; OstatakDrugi=DrugiBroj%Brojac;//racunam ostatak dijeljenja sa aktivnim brojacem do { //imam 3 opcije 1.oba broja djljiva if((OstatakPrvi==0) && (OstatakDrugi==0)) { PrviBroj=PrviBroj/Brojac; DrugiBroj=DrugiBroj/Brojac; Sadrzilac=Sadrzilac*Brojac; OstatakPrvi=PrviBroj%Brojac; OstatakDrugi=DrugiBroj%Brojac; }//2.prvi broj djeljiv if (OstatakPrvi==0) { PrviBroj=PrviBroj/Brojac; Sadrzilac=Sadrzilac*Brojac; OstatakPrvi=PrviBroj%Brojac; }//3.drugi broj djeljiv if (OstatakDrugi==0) { DrugiBroj=DrugiBroj/Brojac; Sadrzilac=Sadrzilac*Brojac; OstatakDrugi=DrugiBroj%Brojac; }} while ((OstatakPrvi==0) || (OstatakDrugi==0)); //unutrasnja while zavrsava kad su oba ostatka razlicita od nule } while ((PrviBroj!=1) || (DrugiBroj!=1)); //spoljna while zavrsava kad su oba broja svedena na 1-podijeljena do kraja //ispisujem akumulirani Sadrzilac cout << "Najmanji zajednicki sadrzilac za brojeve je: " << Sadrzilac; system ("Pause"); kraj:return 0; }
10. Највећи заједнички дјелилац Начинити програм који израчунава највећи заједнички дјелилац два природна броја. Проблем је ријешен Еуклидовим алгоритмом: већи број дијелим мањим, затим мањи остатком дијељења, потом тај остатак новим остатком и настављам поступак док не добијем остатак нула-последњи остатак различит од нуле је највећи заједночки дјелитељ ( највећа заједничка мјера). #include using namespace std; int main() { //deklaracija promjenjivih i unos int Broj1,Broj2,Ostatak; cout <<"Unesi brojeve ciji najveci zajednicki "<>Broj1; cout<<"Drugi broj: "; cin>>Broj2; if((Broj1==0) || (Broj2==0)) //brojevi moraju { cout<<"Brojevi moraju biti razliciti od system ("Pause"); goto kraj;//nasilni izlazak iz programa } else { //dijelim cjelobrojno (ostatak) veci sa nula, poslednji ostatak je rjesenje do { if (Broj1>Broj2) { Ostatak=Broj1%Broj2; Broj1=Broj2; Broj2=Ostatak; } else { Ostatak=Broj2; Broj2=Broj1; Broj1=Ostatak; } } while (Broj2!=0); }//ispisujem rjesenje cout<< "Najveci zajedniski djelilac je: system ("Pause"); kraj:return 0;
djelilac zelis (2 broja):
biti razliciti od 0 0";
manjim, dok ostatak nije
"<
}
11. Прост број Начинити програм који провјерава да ли је учитани број прост. Број је прост ако је дјељив са 1 и са самим собом. Број је прост ако не постоји ни један цјелобројни дјелилац броја из интервала од 1 до квадратног коријена броја. #include
#include using namespace std; //Deklarisem promjenljive int Broj; bool ProstBroj; //funkcija koja vraca logicku promjenljivu tacno ako je zadti broj prost bool prost(int br) { int i; bool Prostbr; //van petlje su 3 vrijednosti, zato sto je u petlji od 3 pa navise if ((br==1) || (br==2) || (br==3)) { Prostbr=true; } else {//ako nije paran if (br%2!=0) {//provjeravam do korijena broja, toliko je dovoljno da ne idem do kraja for (i=3; i<= (int)sqrt((double)br)+1; i+=2) {//da li je djeljiv if (br%i==0) { Prostbr=false; } else { Prostbr=true; } } } else { Prostbr=false; } } return Prostbr; } int main() { cout << "Unesi broj za koji zelis provjeriti da li je u skupu prostih brojeva."<> Broj; //poziv funkcije ProstBroj=prost(Broj); if (ProstBroj==true) { cout <<"Broj " << Broj<<" je prost." <
12. Квадратна једначина Начинити програм који израчунава рјешења квадратне једначине. Рјешење се може подијелити у 2 цјелине:
1. провјеравам вриједности коефицијената, у случају да даљи рачун има смисла прелазим на корак 2 2. израчунавам детерминанту, па на основу вриједности детерминанте рачунам рјешења једначине. #include #include using namespace std; int main() { float a,b,c,D,Pom,Real,Imag,X1,X2; //unos koeficijenata cout <<"Unesi vrijednost koeficijenata kvadratne jednacine"<>a; cout << "b="; cin >>b; cout << "c="; cin >>c; if ((a==0) && (b==0) && (c==0))//svi koeficijenti nule { cout << "Ovakva kvadratna jednacina ima beskonacno mnogo rjesenja!"<
} else {
13. Фибоначијев број-рекурзивно Начинити програм који за учитани број израчунава вриједност члана Фибоначијевиг низа чији је индекс учитани број. Рјешење: F0=1; F1=1 ; Fn=Fn-1+Fn-2 #include using namespace std; int N,i; //funkcija koja racuna clan niza rekurzivno int Fib(int N) { if (N<=1) return 1;//za svaki N<=1 kao rezultat vraca 1 else return Fib(N-1)+Fib(N-2); } int main() { cout<<"Unesi indeks clana Fibonacijevog niza koji zelis: "; cin>>N; //Poziva funkciju i stampa cout<<"Fibonaci["<
14. Фибоначијев низ Начинити програм који исписује Фибоначијев низ до индекса броја који се уноси са тастатуре. #include using namespace std; int N,i; int X[100]; int main() { cout<<"Unesi granicnu vrijednost Fibonacijevog niza <100: "; cin>>N; //provjerava da li je N veci ili jednak nuli if (N<0) { cout<<"Granicna vrijednost ne moze biti manja od 0"; system("Pause"); } else //ako jeste racuna clanove niza do N i smijesta ih u niz X
{
}
X[0]=1; X[1]=1; for(i=2;i
} //ispisuje clanove niz X for(i=0;i
15. Минималан члан низа Начинити програм који проналази и штампа минималан члан низа. Програм ради тако да први члан низа проглашава минималним, затим га упоређује са осталим члановима, када нађе да је неки члан низа мањи од минималног узима њега за минималан и тако до краја низа. #include using namespace std; //deklarcija promjenljivih int N, MinC, i; int X[100]; int main() {//unos granicne vrijednosti niza cout<<" Unesi broj clanova niza <100 :"; cin>>N; //unos clanova niza for (i=0;i>X[i]; } //prvi clan niza proglasavam minimalnim MinC=X[0]; for (i=1;i
16. Листа простих Начинити програм који за учитану границу интервала исписује све просте бројеве до границе интервала. Проблем рјешавам позивом функције prost која за сваки члан низа провјерава да ли припада скупу простих бројева.
#include #include using namespace std; //deklarisem promjenljive-globalne int N,i; int X[50]; bool prost(int br) { bool Prostbr; //van petlje su 3 vrijednosti, zato sto je u petlji od 3 pa navise if ((br==1) || (br==2) || (br==3)) { Prostbr=true; } else {//ako nije paran if (br%2!=0) {//provjeravam do korijena broja, toliko je dovoljno da ne idem do kraja for (i=3; i<= (int)sqrt((double)br)+1; i+=2) {//da li je djeljiv if (br%i==0) { Prostbr=false; } else { Prostbr=true; } } } else { Prostbr=false; } } return Prostbr; } //glavni program int main() { cout <<"Unesi broj clanova niza <50 :"; cin>>N; //Upis clanova niza, koristim prirodne brojeve od 0 do N-1 for (i=0;i
17. Аритметичка средина низа Начинити програм који израчунава аритметичку средину учитаних чланова низа. Рјешење је класично сумирање чланова низа , и након тога, ван петље суму подијелимо са бројем чланова низа. Оно на шта треба обратити пажњу је тип податка који добијамо дијељењем суме-морамо га експлицитно захтијевати. #include using namespace std; int X[50], i, Sum, N; float Arts; int main() { cout<<"Unesi broj clanova niza: "; cin>>N; cout<>X[i]; } Sum=0;//pocetna vrijednost sume for(i=0;i
18. Сортирање низа Начинити програм који учитани низ елемената сортира у нерастућем редослиједу. Сорт је ријешен методом “buble” sort-a. Имамо 2 for петље у којој прва узима ел. низа, а друга for петља тај елеменат, ако је највећи, гура на крај и тако за сваки ел. низа. #include using namespace std; int N, i,j,pom; int X[100]; int main() { cout<<"Unesi granicnu vrijednost niza <100: "; cin>>N; if (N<0) { cout<<"broj clanova niza mora biti >0!"; system ("Pause"); goto kraj; } for (i=0;i>X[i];
} for (i=0;i= X[j + 1]) {//zamjena mjesta, veci clan se "gura" na kraj pom = X[j]; X[j] = X[j + 1]; X[j + 1] = pom; } } } cout<<"Sortirani niz je:"<
19. Елементи на главној дијагонали Начинити програм који исписује елементе главне дијагонале учитане матрице. //Ispis clanova glavne dijagonale, matrica mora biti kvadratna #include using namespace std; //Deklaracija promjenjivih int A[10][10], i,j,N; //funkcija za unos matrice int unesi(int N) { for(i=0;i> A[i][j]; } return A[i][j]; } void ispisi(int N) { for(i=0;i>N; //poziv funkcije unesi A[N][N]=unesi(N); //poziv funkcije ispisi-da napise matricu u preglednom obliku ispisi(N); //izdvajanje i ispis clanova dijagonale
cout<
20. Дијагонална матрица Начинити програм који провјерава да ли је учитана матрица дијагонална. Матрица је дијагонална ако су јој сви чланови ван главне дијагонале једнаки нули, а бар један члан на главној дијагонали различит од нуле. //Matrica je dijagonalana ako su joj svi clanovi, osim onih na glavnoj dijagonali jednaki 0 #include using namespace std; //deklarisem promjenjive int A[10][10], i, j, M; bool contProm; int main() { cout<<"Unesi red matrice: "; cin>>M; //Unos matrice for(i=0;i>A[i][j]; } } cout<
if (contProm==true) {//ako postoji pitam da li su svi ostali =0 for(i=0;i
21. Производ-матрица са скаларом Начинити програм који израчунава производ унесене матрице се заданим скаларом. #include using namespace std; int A[10][10], i, j, M, N, Broj; int main() { cout<<"Unesi broj redova matrice: "; cin>>M; cout<<"Unesi broj kolona matrice: "; cin>>N; //Unos matrice for(i=0;i>A[i][j]; } } cout<
}
cout<>Broj; cout<<"Proizvod unesene matrice i datog broja je: "<
22. Производ-двије матрице Начинити програм који израчунава производ двије унесене матрице. #include using namespace std; //Deklaracija promjenjivih int A[10][10], B[10][10], C[10][10], i, j, m, k, ar,ak, br,bk; int main() { cout<<"Unesi dimenzije prve matrice: Br-kolona, Br-redova"<>ak; cin>>ar; for(i=0;i> A[i][j]; } } cout<>bk; cin>>br; for(i=0;i > B[i][j]; } } //ispisujem unesenu prvu matricu cout<
cout<
23. Транспонована матрица Начинити програм који израчунава и исписује транспоновану матрицу учитане матрице. #include using namespace std; //Deklaracija promjenjivih int A[10][10], B[10][10], i, j, N,M; void unesi(int M,int N) { for(i=0;i> A[i][j]; } } } void ispisi(int p_A[10][10], int M, int N) { for(i=0;i
{
cout<
} } //transponovanje void transponuj(int M, int N) { for(i=0;i>M; cout<<"Unesi broj kolona matrice A: "; cin>>N; unesi(M,N); cout<<"Originalna matrica A izgleda ovako: "; ispisi(A,M,N); cout<
24. Ханој На једном од три вертикална стуба сложена је пирамида од N дискова различитих полупречника (што је диск на вишем положају полупречник му је мањи). Задатак је да се сви дискови премјесте на један од два слободна стуба тако да они буду у истом поретку као и на првом стубу. При томе треба водити рачуна о сљедећим правилима: а) дозвољено је премјештати само један по један диск, б) приликом премјештања није дозвољено да диск са већим буде изнад диска са мањим пречником. Nачинити програм који одређује редослијед премјештања дискова. Програм приказује кораке потребне за премјештање дискова са стуба на стуб. Стубови су обиљежени бројевима 1, 2 и 3. #include using namespace std; int main() {
int broj_diskova,br; void prebaci(int,int,int,int); cout<<"Unesi broj diskova: "; cin>>broj_diskova; prebaci(broj_diskova,1,2,3); system("pause"); return 0;
} void prebaci(int n,int sa,int na, int pom)/*deklarisanje promjenljivih,n-broj diskova, "sa"-sa stuba na stub, "na"-na stub, "pom"-pomocni stub*/ { if(n>0) { prebaci(n-1,sa,pom,na);//prebaci disk sa stuba "sa" na stub "na" cout< "<
25. Паскалов троугао Начинити програм који исписује Паскалов троугао, ред троугла који ће бити исписан уносимо са тастатуре. #include using namespace std; int Paskal(int x,int y) { int a,b; if((x==1) || (x==y)) return 1; a=Paskal(x-1, y-1);//red iznad, kolona prije b=Paskal(x, y-1);//red iznad, tekuca kolona return a+b; } int main() { int n,i,j; cout<<"Unesi vrijednost: "<>n; for (j=1;j<=n;j++) { cout<
"<
system("Pause"); return 0;
26. Сабирање и одузимање комплексних бројева-класе Начинити програм који пројектује класу са елементарним операцијама над комплексним бројевима (сабирање, одузимање). #include using namespace std; //definicija klase class compleksBr{//ime klase i krecemo sa definisanjem float imag, real;//privatni podaci clanovi public://javni (funkcije clanice klase) void cUcitaj(float, float); compleksBr cSab(compleksBr); compleksBrcOduz(compleksBr); float cRe()const{return real;};//vraca vrijednost realnog dijela (inspektor-ne mijenja stanje objekta) float cIm()const{return imag;}; };//zavrsena definicija klase void compleksBr::cUcitaj(float a, float b){//inicijalizacija objekta klase compleksBr (primjerak klase) real=a;//dodjeljuje vrijednosti podacima clanovima objekta imag=b; } compleksBr compleksBr::cSab(compleksBr a){ compleksBr priv; priv.real=real+a.real; priv.imag=imag+a.imag; return priv; } compleksBr compleksBr:cOduz(compleksBr a){ compleksBr priv; priv.real=real-a.real; priv.imag=imag-a.imag; return priv; } int main() { compleksBr c1,c2,c3; float a,b; cout<<"Unesi vrijednosti za realni i imaginarni dio c1"; cout<>a>>b; c1.cUcitaj(a,b); cout<<"Unesi vrijednosti za realni i imaginarni dio c2"<>a>>b; c2.cUcitaj(a,b); c3=c1.cSab(c2);//c2 pozivamo kao argument, a c1 pristupamo direktno cout<<"Zbir dva data kompleksna broja je: "<<"("<
27. Apsolutna vrijednost Korisnik unosi cijeli broj, računa se apsolutna vrijednosttog broja pa se ispisuje rezultat. (Treba uočiti da redoslijed izvršavanja naredbi zavisi od unešenog broja.