Advertisement
sehovic

PR I // II PARCIJALNI ISPIT [27.01] // GRUPA B

Feb 25th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.25 KB | None | 0 0
  1. /*...........................................................ZADATAK 3.................................................................
  2. U main funkciji kreirati niz karaktera velicine 200(char recenica[200]) sa sljedecim inicijaliziranim vrijednostima "Most u Mostaru je Stari most a pored njega je jos jedan
  3. most". Takodjer dat je niz karaktera velicine 4(char rijec[4]) koji je inicijaliziran vrijednostima "most". Potrebno je napraviti funkciju koja ce primiti pomenute nizove kao argumente
  4. te pronaci i prebrojati koliko puta se ponavlja sekvenca karaktera iz niza rijec u nizu recenica. Voditi racuna da se rjecju smatra bilo koji niz karaktera odvojen space-om sa obje strane.
  5. Program u main funkciji treba ispisati broj pronadjenih rijeci.
  6. */
  7.  
  8. #include <iostream>
  9. #include <cmath>
  10. #include <iomanip>
  11. #include <cstdlib>
  12.  
  13. using namespace std;
  14.  
  15. const int vel = 200, vel2 = 4;
  16.  
  17. void ispis(char[]);
  18. void broj_rijeci(char[], char[]);
  19.  
  20. int main()
  21. {
  22.     char recenica[vel] = { "Most u Mostaru je Stari most a pored njega se nalazi jos jedan most " }, rijec[vel2] = { 'm','o','s','t' };
  23.  
  24.     ispis(recenica);
  25.     cout << endl;
  26.  
  27.     broj_rijeci(recenica, rijec);
  28.  
  29.     system("pause>0");
  30.     return 0;
  31. }
  32.  
  33. void ispis(char recenica[])
  34. {
  35.     cout << endl << "Recenica:";
  36.     for (int i = 0; i < vel; i++)
  37.     {
  38.         cout << recenica[i];
  39.     }
  40. }
  41.  
  42.  
  43. void broj_rijeci(char recenica[], char rijec[])
  44. {
  45.     int brojac = 0, brojac1 = 0;
  46.  
  47.     for (int i = 0; i < vel; i++)
  48.     {
  49.         if ((recenica[i] >= 'a' && recenica[i] <= 'z') || (recenica[i] >= 'A' && recenica[i] <= 'Z') || recenica[i] == ' ')
  50.             brojac1++;
  51.     }
  52.    
  53.     for (int i = 0; i < brojac1-3; i++)
  54.     {
  55.         if (recenica[i-1] == ' ' && recenica[i] == 'm' && recenica[i + 1] == 'o' && recenica[i + 2]== 's' && recenica[i + 3] == 't' && recenica [i+4] == ' ' )
  56.  
  57.             brojac++;
  58.     }
  59.     cout << "Rijec most u recenici se pojavljuje " << brojac << " puta. " << endl;
  60. }
  61.  
  62. /*.............................................................ZADATAK 4...............................................................
  63. Napisati program koji ce omoguciti unos elemenata tipa integer u matricu dimenzija 10x10 te izvrsiti transponovanje matrice. Zatim napraviti funkciju koja ce izracunati
  64. aritmeticku sredinu svih parnih brojeva iznad glavne dijagonale i aritmeticku sredinu svih neparnih brojeva iznad sporedne dijagonale transponovane matrice. Provjeri koja
  65. aritmeticka sredina je veca i ispisati odgovarajucu poruku i dobivenu vrijednost u main programu.
  66. */
  67.  
  68. #include <iostream>
  69. #include <cmath>
  70. #include <iomanip>
  71. #include <cstdlib>
  72.  
  73. using namespace std;
  74. const int n = 10;
  75. void unos(int[][n]);
  76. void ispis(int[][n]);
  77. void transponuj(int[][n]);
  78. float aritmeticka(int[][n], int&);
  79. void main()
  80. {
  81.     int matrica[n][n], pomocna = 0;
  82.     float ar_s;
  83.     unos(matrica);
  84.     ispis(matrica);
  85.     transponuj(matrica);
  86.     ispis(matrica);
  87.     ar_s = aritmeticka(matrica, pomocna);
  88.     if (pomocna == 1)
  89.     {
  90.         cout << "Veca je aritmeticka sredina iznad glavne dijagonale i iznosi: " << ar_s << endl;
  91.     }
  92.     else
  93.     {
  94.         cout << "Veca ja aritmeticka sredina iznad sporedne dijagonale i iznosi: " << ar_s << endl;
  95.     }
  96.     system("pause>0");
  97. }
  98. void unos(int m[][n])
  99. {
  100.     for (int i = 0; i < n; i++)
  101.     {
  102.         for (int j = 0; j < n; j++)
  103.         {
  104.             cout << "matrica[" << i << "][" << j << "]= ";
  105.             cin>>m[i][j];
  106.         }
  107.     }
  108.  
  109. }
  110. void ispis(int m[][n])
  111. {
  112.     cout <<endl<< "Matrica: " << endl << endl;
  113.     for (int i = 0; i < n; i++)
  114.     {
  115.         for (int j = 0; j < n; j++)
  116.         {
  117.             cout<<setw(5)<<m[i][j];
  118.         }
  119.         cout << endl;
  120.     }
  121.  
  122. }
  123. void transponuj(int m[][n])
  124. {
  125.     int temp;
  126.  
  127.     for (int i = 0; i < n; i++)
  128.     {
  129.         for (int j = 0; j < n; j++)
  130.         {
  131.             if (i < j)
  132.             {
  133.                 temp = m[i][j];
  134.                 m[i][j] = m[j][i];
  135.                 m[j][i] = temp;
  136.             }
  137.         }
  138.     }
  139. }
  140. float aritmeticka(int m[][n], int& pomocna)
  141. {
  142.     float suma_p = 0, suma_n = 0, ar_n, ar_p;
  143.     int brojac_p = 0, brojac_n = 0;
  144.     for (int i = 0; i < n; i++)
  145.     {
  146.         for (int j = 0; j < n; j++)
  147.         {
  148.             if (m[i][j] % 2 == 0)
  149.             {
  150.                 if (i < j)
  151.                 {
  152.                     suma_p += m[i][j];
  153.                     brojac_p++;
  154.                 }
  155.             }
  156.             else
  157.             {
  158.                 if (i + j < n - 1)
  159.                 {
  160.                     suma_n += m[i][j];
  161.                     brojac_n++;
  162.                 }
  163.             }
  164.         }
  165.     }
  166.     ar_p = suma_p / brojac_p;
  167.     ar_n = suma_n / brojac_n;
  168.     if (ar_p > ar_n)
  169.     {
  170.         pomocna = 1;
  171.         return ar_p;
  172.     }
  173.     else
  174.     {
  175.         pomocna = 2;
  176.         return ar_n;
  177.     }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement