Advertisement
AbidK

Napredni Zadaci

Nov 15th, 2017
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.04 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <iomanip>
  4.  
  5. using namespace std;
  6.  
  7. /*
  8. //Zadatak 1
  9.  
  10. int main() {
  11. int n, faktorijel = 1, suma = 0;
  12.  
  13.  
  14. cout << "Unesi cijeli broj N : ";
  15. cin >> n;
  16.  
  17. for (int i = 1; i <= n; i++) {
  18. faktorijel = faktorijel * i;
  19. if (i % 2 != 0) {
  20. if (i % 7 != 0) {
  21. suma = suma + faktorijel;
  22. cout << i << "!";
  23.  
  24. if (i < n)
  25. cout << " + ";
  26.  
  27. }
  28. }
  29. }
  30. cout << " = " << setiosflags(ios::fixed) << setprecision(2) << suma * 1.0 << endl;
  31.  
  32.  
  33. system("pause>null");
  34. return 0;
  35. }
  36. */
  37.  
  38.  
  39.  
  40. /*
  41. //Zadatak 2
  42.  
  43.  
  44. void Savrsen(int);
  45.  
  46. int main() {
  47. int broj, rezultat = 0, privremena;
  48. cout << "Unesite znamenke : ";
  49. cin >> broj;
  50. while (broj >= 0 && broj <= 9) {
  51.  
  52. privremena = broj % 10;
  53. rezultat = rezultat * 10 + privremena;
  54. cin >> broj;
  55. }
  56.  
  57.  
  58. cout << rezultat << endl;
  59. Savrsen(rezultat);
  60.  
  61. system("pause>null");
  62. return 0;
  63. }
  64.  
  65. void Savrsen(int x) {
  66. int suma = 0;
  67.  
  68. for (int i = 1; i < x; i++) {
  69. if (x%i == 0)
  70. suma += i;
  71. }
  72.  
  73. if (suma == x)
  74. cout << "Broj je savrsen";
  75. else
  76. cout << "Broj nje savrsen";
  77. }
  78. */
  79.  
  80.  
  81.  
  82.  
  83.  
  84. /* //Zadatak 3
  85.  
  86.  
  87.  
  88. int main() {
  89. int x, m;
  90. float si = 1, co = 1, korjen = 1, kvadrat = 1;
  91. char izbor;
  92.  
  93. cout << "Unesite parametre m i x : ";
  94. cin >> m >> x;
  95.  
  96. do {
  97. cout << "Unesite 's' (sin), 'c' (cos), 'q' (sqrt) i 'p' (pow) : ";
  98. cin >> izbor;
  99.  
  100. switch (izbor) {
  101. case 's':
  102. for (int i = 1; i <= m; i++) {
  103. float xi = x / i;
  104. si = si + (i) / (sin(xi) + x);
  105. cout <<"Funkcija sinus je "<< si;
  106. }
  107. break;
  108. case 'c':
  109. for (int i = 1; i <= m; i++) {
  110. float xi = x / i;
  111. co = co + (i) / (cos(xi) + x);
  112. cout << "Funkcija kosinus je " << co;
  113. }
  114. break;
  115. case 'q':
  116. for (int i = 1; i <= m; i++) {
  117. float xi = x / i;
  118. korjen = korjen + (i) / (sqrt(xi) + x);
  119. cout << "Funkcija korijen je " << korjen;
  120. }
  121. break;
  122. case 'p':
  123. for (int i = 1; i <= m; i++) {
  124. float xi = x / i;
  125. kvadrat = kvadrat + (i) / (pow(xi, 2) + x);
  126. cout << "Funkcija kvadrat je " << kvadrat;
  127. }
  128. break;
  129. default:
  130. break;
  131. }
  132.  
  133. } while (izbor != 's' && izbor != 'c' && izbor != 'q' && izbor != 'p');
  134.  
  135. system("pause>null");
  136. return 0;
  137. }
  138. */
  139.  
  140.  
  141.  
  142.  
  143. /*
  144. //Zadatak 4
  145.  
  146.  
  147. int main() {
  148. int broj,privremena = 1,n = 1;
  149. double sredina, sq;
  150.  
  151. cout << "Unesi broj : ";
  152. cin >> broj;
  153.  
  154. for (int i = 1; i < broj; i+=2) {
  155.  
  156. if (broj % 5 != 0) {
  157. privremena = privremena * broj;
  158. n++;
  159. }
  160.  
  161. }
  162. sq = 1.0 / n;
  163. sredina = pow(privremena, sq);
  164. cout << "Geometrijska sredina ovih brojeva je : " << setiosflags(ios::fixed) << setprecision(2) << sredina << endl;
  165.  
  166. system("pause > 0 ");
  167. return 0;
  168. }
  169. */
  170.  
  171.  
  172.  
  173.  
  174. /* //Zadatak 5
  175.  
  176.  
  177. int main() {
  178. int broj, privremena = 10, cifra,noviBroj = 0,cifraNoviBroj,brojac=0;
  179.  
  180. cout << "Unesite pozitivan prirodan broj : ";
  181. cin >> broj;
  182. while (broj < 0) {
  183. cout << "Niste unijeli pozitivan broj, unesite ponovo : ";
  184. cin >> broj;
  185. }
  186. int kopija;
  187. kopija = broj;
  188.  
  189.  
  190. do {
  191. cifra = kopija % 10;
  192. if (cifra < privremena) {
  193. privremena = cifra;
  194. }
  195. kopija /= 10;
  196. brojac++;
  197. } while (kopija > 0);
  198.  
  199. cout << "Najmanja cifra je : " << privremena << ", a broj znamenki tog broja je : " << brojac << endl;
  200.  
  201. kopija = broj;
  202.  
  203.  
  204. for (int i = 0; i < brojac; i++) {
  205. cifraNoviBroj = kopija % 10;
  206.  
  207. if (cifraNoviBroj == privremena) {
  208. noviBroj = noviBroj + 3 * pow(10, i);
  209.  
  210. }
  211. else {
  212. noviBroj = noviBroj + cifraNoviBroj * pow(10, i);
  213. }
  214. kopija = kopija / 10;
  215. }
  216.  
  217. cout << "Najmanja cifra tog broja je : " << privremena << ", a kada zamjenimo najmanju cifru sa 3 dobijemo broj : " << noviBroj << endl;
  218. cout << "Razlika tih brojeva je : " << broj - noviBroj;
  219.  
  220. system("pause > 0 ");
  221. return 0;
  222. }
  223. */
  224.  
  225.  
  226.  
  227. /* //Zadatak 7
  228.  
  229.  
  230. int faktorijel(int);
  231.  
  232. int main() {
  233. int n;
  234. float suma = 0;
  235.  
  236. do {
  237. cout << "Unesite prirodan broj n : ";
  238. cin >> n;
  239. } while (n < 1);
  240.  
  241. for (int i = 1; i <= n; i++) {
  242. suma += pow(-1, i - 1)*(i * 1.0 / (n + faktorijel(i)));
  243.  
  244. }
  245.  
  246. cout << "Suma je : " << suma;
  247.  
  248. system("pause>0");
  249. return 0;
  250. }
  251.  
  252.  
  253. int faktorijel(int x) {
  254. int f = 1;
  255. for (int i = 1; i <= x; i++) {
  256. f*=i;
  257. }
  258. return f;
  259. }
  260. */
  261.  
  262.  
  263. /*
  264. //Zadatak 15
  265.  
  266.  
  267. bool Savrsen(int);
  268.  
  269. int main() {
  270. int b1, b2, brojac = 0, pomocna;
  271. float sredina = 0;
  272. cout << "Unesite pocetak i kraj intervala : " << endl;
  273. cin >> b1 >> b2;
  274. if (b1 > b2) {
  275. pomocna = b1;
  276. b1 = b2;
  277. b2 = pomocna;
  278. }
  279.  
  280.  
  281. for (int i = b1; i <= b2; i++) {
  282. if (Savrsen(i)) {
  283. brojac++;
  284. sredina += i;
  285. }
  286. }
  287.  
  288. cout << "Artimeticka sredina je : " << sredina / brojac;
  289.  
  290.  
  291. system("pause>0");
  292. return 0;
  293.  
  294. }
  295.  
  296.  
  297. bool Savrsen(int x) {
  298.  
  299. int suma = 0;
  300.  
  301. for (int i = 1; i < x; i++)
  302. if (x%i == 0)
  303. suma += i;
  304.  
  305.  
  306. if (suma == x)
  307. return true;
  308. else
  309. return false;
  310.  
  311.  
  312. }
  313.  
  314. */
  315.  
  316.  
  317.  
  318. /* //Zadatak 8
  319.  
  320.  
  321. int main() {
  322. const int g = 9.81;
  323. int t = 3;
  324. float v, s;
  325.  
  326. cout << "Vrijeme " << setw(20) << " Brzina pada " << setw(20) << "Predjeni put " << endl;
  327. for (int i = 1; i <= 20; i++) {
  328. cout << setw(4) << t << "s";
  329. v = g * t;
  330. cout << setw(18) << v << "m/s";
  331. s = (g / 2)*pow(t, 2);
  332. cout << setw(18) << s << "m" << endl;
  333. t += 3;
  334. }
  335.  
  336.  
  337.  
  338. system("pause>0");
  339. return 0;
  340. }
  341. */
  342.  
  343.  
  344.  
  345. /* //Zadatak 9
  346.  
  347. int Fibo(int);
  348.  
  349. int main() {
  350. int n, x, y = 0;
  351. float rezultat = 0;
  352.  
  353. cout << "Unesite parametre N i X : " << endl;
  354. cin >> n >> x;
  355.  
  356. for (int i = 0; i <= n; i++) {
  357. y = x + i;
  358. rezultat = rezultat + ((Fibo(i) + x) / pow(y, i));
  359.  
  360. }
  361.  
  362. cout << "Vrijednost izraza je : " << rezultat;
  363.  
  364.  
  365. system("pause > 0");
  366. return 0;
  367. }
  368.  
  369. int Fibo(int x) {
  370. int rezultat = 0, prvi = 0, drugi = 1;
  371.  
  372. for (int i = 1; i <= x; i++) {
  373. rezultat = rezultat + prvi + drugi;
  374. prvi = drugi;
  375. drugi = rezultat;
  376.  
  377. }
  378.  
  379. return rezultat;
  380.  
  381. }
  382.  
  383. */
  384.  
  385.  
  386.  
  387.  
  388.  
  389. /*
  390. // Zadatak 10
  391.  
  392.  
  393. int Faktorijel(int);
  394.  
  395. int main() {
  396. int n, k, x;
  397. float rezultat;
  398.  
  399. cout << "Unesite n i k (n mora biti veci od k) : " << endl;
  400. cin >> n >> k;
  401. while (k > n) {
  402. cout << "k je vece od n,unesite ponovo n, pa k : " << endl;
  403. cin >> n >> k;
  404. }
  405.  
  406. x = n - k;
  407. rezultat = (Faktorijel(n)) / (Faktorijel(k)*Faktorijel(x));
  408. cout << "Binomni koeficijent tih brojeva je : " << rezultat;
  409.  
  410.  
  411. system("pause > 0");
  412. return 0;
  413. }
  414.  
  415.  
  416. int Faktorijel(int x) {
  417. int faktorijel = 1;
  418.  
  419. for (int i = 1; i <= x; i++) {
  420. faktorijel *= i;
  421. }
  422. return faktorijel;
  423. }
  424. */
  425.  
  426.  
  427.  
  428.  
  429. /*Napisati program koji će učitati prirodni broj n<=10, a zatim n cijelih brojeva. Za svaki broj treba ispitati radi li se o broju koji je 'dobar'. Zatim sve dobre brojeve prebaciti u novi niz te ispisati
  430. njegove elemente i veličinu. Koristiti zasebne funkcije za unos i provjeru je li broj dobar.
  431. Napomena: Broj je „dobar“ ako je svaka njegova cifra veća od zbira cifara koji se nalaze desno od nje.Na primjer, 9620 je „dobar“ jer je 2>0, 6>2 + 0, 9>6 + 2 + 0.
  432. Drugi primjeri : 8421, 95210, 732. 621, 852 itd.
  433. */
  434.  
  435.  
  436. //Zadatak 11
  437.  
  438. /*
  439.  
  440. int Unos(int x);
  441. int Provjera(int x);
  442.  
  443. int main() {
  444. int n;
  445.  
  446. cout << "Koliko brojeva zelite unijeti ? " << endl;
  447. cin >> n;
  448. while (n > 10) {
  449. cout << "Morate unijeti manje brojeva od 10, unesite ponovo : ";
  450. cin >> n;
  451. }
  452. Unos(n);
  453.  
  454.  
  455. system("pause > 0");
  456. return 0;
  457. }
  458.  
  459. int Unos(int x) {
  460. int n;
  461. for (int i = 1; i <= x; i++) {
  462. cout << "Unesite " << i << ". broj koji zelite provjeriti : " << endl;
  463. cin >> n;
  464. Provjera(n);
  465.  
  466. }
  467. return 0;
  468. }
  469.  
  470. int Provjera(int x) {
  471. int brojac = 0, kopija, desnaCifra, zbirOstalih = 0,pls;
  472. kopija = x;
  473. do {
  474. x /= 10;
  475. brojac = brojac + 1;
  476. } while (x > 0);
  477. pls = pow(10, brojac-1);
  478. desnaCifra = kopija / pls;
  479. do {
  480. zbirOstalih = zbirOstalih + kopija % 10;
  481. kopija = kopija / 10;
  482. } while (kopija > 10);
  483.  
  484. if (desnaCifra > zbirOstalih) {
  485. cout << "Broj je dobar" << endl;
  486. cout << "Njegova velicina je " << brojac << endl;
  487. }
  488. else
  489. cout << "Broj nije dobar" << endl;
  490. return 0;
  491. }
  492. */
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501. /*Svaki paran broj može se prikazati kao suma dvaju prostih brojeva (tkzv. Goldbachovo pravilo). Razraditi logiku programa koji će najprije učitati dva prirodna broja n1 i n2. Ako je n1 > n2 zamijeniti n1 sa n2.
  502. Prikazati sve parne brojeve u intervalu n1 do n2 kao sumu dvaju prostih brojeva. U glavnom programu samo unijeti navedena dva prirodna broja i pozvati funkciju koja obavlja zadani posao.*/
  503.  
  504. /*
  505. //Zadatak 12
  506.  
  507. int Provjera(int &x, int &y);
  508. void SumaParni(int x, int y);
  509.  
  510. int main() {
  511. int x, y;
  512.  
  513. cout << "Unesi 2 prirodna broja : ";
  514. cin >> x >> y;
  515.  
  516. Provjera(x, y);
  517. SumaParni(x, y);
  518.  
  519.  
  520. system("pause > 0");
  521. return 0;
  522. }
  523.  
  524. int Provjera(int &x, int &y) {
  525. int privremena = 0;
  526.  
  527. if (x > y) {
  528. privremena = x;
  529. x = y;
  530. y = privremena;
  531. }
  532. return x, y;
  533. }
  534.  
  535.  
  536. void SumaParni(int x, int y) {
  537.  
  538. for (int i = x; i <= y; i++) {
  539. if (i % 2 == 0) {
  540. cout << i / 2 << " + " << i / 2 << " = " << i << endl;
  541. }
  542. }
  543.  
  544.  
  545. }
  546. */
  547.  
  548.  
  549.  
  550.  
  551. int main() {
  552.  
  553.  
  554.  
  555.  
  556.  
  557. system("pause > 0");
  558. return 0;
  559. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement