Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int brojParnihCifri(int broj) {
  5. int brojac = 0;
  6. while (broj > 0) {
  7. if (broj % 2 == 0)
  8. brojac++;
  9. brojac /= 10;
  10.  
  11. }
  12. return brojac;
  13. }
  14.  
  15. bool jeLiBrojProst(int broj) {
  16. for (int i = 2; i < broj; i++)
  17. {
  18. if (broj%i == 0)
  19. return false;
  20. }
  21. return true;
  22. }
  23.  
  24. bool jeLiPrvaCifraParna(int broj) {
  25. while (broj>10)
  26. {
  27. broj /= 10;
  28. }
  29. return broj % 2 == 0;
  30. }
  31.  
  32. void ocistiNiz(int niz[], int velicina) {
  33. for (int i = 0; i < velicina; i++)
  34. {
  35. if (!jeLiBrojProst(niz[i]) || brojParnihCifri(niz[i]) > 1)
  36. niz[i] = 0;
  37. }
  38. }
  39.  
  40.  
  41. void sortiraj(int niz[], int brojac) {
  42. for (int i = 1; i < brojac; i++)
  43. {
  44. int j = i;
  45. while (j > 0 && niz[j] < niz[j - 1]) {
  46. int temp = niz[j];
  47. niz[j] = niz[j - 1];
  48. niz[j - 1] = temp;
  49. j--;
  50. }
  51. }
  52. }
  53. bool seNalaziUnizu(int niz[], int velicina, int broj) {
  54. for (int i = 0; i < velicina; i++)
  55. {
  56. if (niz[i] == broj)
  57. return true;
  58. }
  59. return false;
  60. }
  61. void staviUNiz(int niz[],int broj, int& brojac) {
  62. while (broj>0)
  63. {
  64. int znamekna = broj % 10;
  65. if (!seNalaziUnizu(niz, brojac, broj))
  66. {
  67. niz[brojac++] = znamekna;
  68. }
  69. broj /= 10;
  70. }
  71. }
  72. void ispisUnije(int broj1, int broj2) {
  73. int unija[10];
  74. int brojac = 0;
  75. // 2305 i 5032
  76. staviUNiz(unija, broj1, brojac);
  77. staviUNiz(unija, broj2, brojac);
  78.  
  79. sortiraj(unija, brojac);
  80. }
  81. int main() {
  82.  
  83. int matrica[2][3];
  84. /*
  85.  
  86. Zadatak 3:
  87. Napisati program koji učitava dva pozitivna cijela broja i ispisuje uniju cifara učitanih brojeva.
  88. Cifre treba ispisati sortirane po veličini od najmanje ka najvećoj. Svaku cifru ispisati samo jedanput.
  89. Pomoć: Za pohranu zajedničkih cifara koristiti niz od 10 cijelih brojeva.
  90.  
  91. */
  92. int broj1 = 0, broj2 = 0;
  93.  
  94.  
  95. cout << "Upisite broj 1 : ";
  96. cin >> broj1;
  97. cout << "Upisite broj 2 : ";
  98. cin >> broj2;
  99.  
  100. ispisUnije(broj1, broj2);
  101. return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement