Advertisement
and3lko

vjezba4

Jan 23rd, 2020
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.14 KB | None | 0 0
  1. // intergralniPrirpema.cpp : This file contains the 'main' function. Program execution begins and ends there.
  2. //
  3.  
  4. #include <iostream>
  5. #include<iomanip>
  6. using namespace std;
  7.  
  8. //1 . 2 zadatak
  9. int bin(int);
  10. int dek(int);
  11. // 3 zadatak
  12. float kamatna(float, float, int);
  13.  
  14. // 4 zadatak
  15. int** alokacija(int, int);
  16. void dealokacija(int**, int, int);
  17. void unos(int**, int, int,int,int);
  18. void ispis(int**, int, int,int,int);
  19. int sumaSvih(int**, int, int,int,int);
  20. int sumaPoz(int**, int, int, int, int);
  21. int sumaParniInd(int**, int, int,int,int);
  22.  
  23.  
  24. int main()
  25. {
  26.     // 1 i 2 zadatak
  27.     /*int dekk;
  28.     cout << "Unesite jedan dekadni broj: ";
  29.     cin >> dekk;
  30.     cout << "Binarni ekvivalent broja : " << dekk << " = " << bin(dekk) << endl;
  31.     int binn = bin(dekk);
  32.     cout << "Dekadni ekvivalent broja : " << binn << " = " << dek(binn) << endl;*/
  33.    
  34.     //3 zadatak
  35.     /*float sumaNovca, kamatnaStopa;
  36.     int brojGodina;
  37.     cout << "Unesite sumu novca: ";
  38.     cin >> sumaNovca;
  39.     cout << "Unesite kamatnu stopu :";
  40.     cin >> kamatnaStopa;
  41.     cout << "Unesite broj godina: ";
  42.     cin >> brojGodina;
  43.     cout << "Nakon ulozene sume od: " << sumaNovca <<
  44.          ", s kamatnom stopom od: " << kamatnaStopa << ", na period od "<<
  45.         brojGodina << endl;
  46.     cout << "Ostvarit ce te stednju od " << kamatna(sumaNovca, kamatnaStopa, brojGodina) << endl;*/
  47.  
  48.  
  49.  
  50.     int redovi, kolone;
  51.     cout << "Unesite broj redova :";
  52.     cin >> redovi;
  53.     cout << "Unesite broj kolona: ";
  54.     cin >> kolone;
  55.     int** matrica = alokacija(redovi, kolone);
  56.     unos(matrica, redovi, kolone, 0, 0);
  57.     ispis(matrica, redovi, kolone,0,0);
  58.     cout << "SUMA SVIH = " << sumaSvih(matrica, redovi, kolone, 0, 0) << endl;
  59.     cout << "SUMA POZITIVNIH = " << sumaPoz(matrica, redovi, kolone, 0, 0) << endl;
  60.     cout << "SUMA S PARNIM INDEOM = " << sumaParniInd(matrica, redovi, kolone, 0, 0) << endl;
  61.  
  62.  
  63.     dealokacija(matrica, redovi, kolone);
  64.  
  65.     system("pause>0");
  66.     return 0;
  67. }
  68.  
  69. int bin(int dek)
  70. {
  71.     if (dek == 0)
  72.         return 0;
  73.     return dek % 2 + 10 * bin(dek / 2);
  74. }
  75. int dek(int bin)
  76. {
  77.     if (bin == 0)
  78.         return 0;
  79.     return bin % 10 + 2 * dek(bin / 10);
  80. }
  81. float kamatna(float sumaN, float kamatnaS, int brojG)
  82. {
  83.     if (brojG == 0)
  84.         return sumaN;
  85.  
  86.     sumaN += sumaN * (kamatnaS / 100);
  87.     return kamatna(sumaN, kamatnaS, brojG - 1);
  88. }
  89. int** alokacija(int redovi, int kolone)
  90. {
  91.     int** pok = new int* [redovi];
  92.     for (size_t i = 0; i < redovi; i++)
  93.     {
  94.         pok[i] = new int[kolone];
  95.     }
  96.     return pok;
  97. }
  98. void dealokacija(int** m, int r, int k)
  99. {
  100.     for (size_t i = 0; i < r; i++)
  101.     {
  102.         delete[]m[i];
  103.     }
  104.     delete[]m;
  105.     m = nullptr;
  106. }
  107. void unos(int** matrica, int redovi, int kolone
  108.     , int r1, int k1)
  109. {
  110.     if (r1 >= redovi)
  111.         return;
  112.    
  113.     if(k1 < kolone){
  114.     cout << "Unesite clan [" << r1 << "][" << k1 << "]: ";
  115.     cin >> matrica[r1][k1];
  116.     unos(matrica, redovi, kolone, r1, k1 + 1);
  117.     }
  118.     else
  119.         unos(matrica, redovi, kolone, r1 + 1, k1 = 0);
  120. }
  121. void ispis(int** matrica, int redovi, int kolone, int r1, int k1)
  122. {
  123.     if (r1 >= redovi)
  124.         return;
  125.  
  126.     if (k1 < kolone)
  127.     {
  128.         cout << setw(10)<< " MATRIX [" << r1 << "][" << k1 << "]: " << matrica[r1][k1];
  129.         ispis(matrica, redovi, kolone, r1, k1 + 1);
  130.     }
  131.     else
  132.     {
  133.         cout << endl;
  134.         ispis(matrica, redovi, kolone, r1 + 1, k1 = 0);
  135.     }
  136. }
  137. int sumaSvih(int** matrica, int redovi, int kolone,int r1,int k1)
  138. {
  139.     if (r1 >= redovi)
  140.         return 0;
  141.     if (k1 < kolone)
  142.     {
  143.         return (sumaSvih(matrica, redovi, kolone, r1, k1 + 1) + matrica[r1][k1]);
  144.     }
  145.     else
  146.         return sumaSvih(matrica, redovi, kolone, r1 + 1, k1 = 0);
  147. }
  148. int sumaPoz(int** matrica, int red, int kol, int r1, int k1)
  149. {
  150.     if (r1 >= red)
  151.         return 0;
  152.     if (k1 < kol )
  153.     {
  154.            
  155.         if (matrica[r1][k1] > 0)
  156.             return (matrica[r1][k1] + sumaPoz(matrica, red, kol, r1, k1 + 1));
  157.         else
  158.             return sumaPoz(matrica, red, kol, r1, k1 + 1);
  159.     }
  160.     return sumaPoz(matrica, red, kol, r1 + 1, k1 = 0);
  161. }
  162. int sumaParniInd(int** matrica, int red, int kol, int r1, int k1)
  163. {
  164.     if (r1 >= red)
  165.         return 0;
  166.     if (k1 < kol)
  167.     {
  168.         if (k1 % 2 == 0 && r1 % 2 == 0)
  169.         {
  170.             return (matrica[r1][k1] + sumaParniInd(matrica, red, kol, r1, k1 + 1));
  171.         }
  172.         else
  173.             return sumaParniInd(matrica, red, kol, r1, k1 + 1);
  174.     }
  175.     return sumaParniInd(matrica, red, kol, r1 + 1, k1 = 0);
  176. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement