Advertisement
FRiTZZY

TP_IP_Z3_2014_A

Apr 18th, 2015
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.69 KB | None | 0 0
  1. /* I_parcijalni_ispit_2014 Zadatak_3 */
  2. #include <iostream>
  3. #include <vector>
  4. #include <stdexcept>
  5.  
  6. using std::cin;
  7. using std::cout;
  8. using std::endl;
  9.  
  10. void UnesiMatricu(std::vector<std::vector<double>> &a)
  11. {
  12.     for(unsigned int i(0); i < a.size(); i++)
  13.     {
  14.         for(unsigned int j(0); j < a[i].size(); j++)
  15.         {
  16.             std::cout << "Unesite element (" << i+1 << ", " << j+1 << "): ";
  17.             std::cin >> a[i][j];
  18.         }
  19.     }
  20. }
  21.  
  22. void funkcija (std::vector<std::vector<double>> m, double &minimax, double &maximin)
  23. {
  24.     for(int i = 1; i < m.size(); i++)
  25.         if(m[0].size() != m[i].size())
  26.             throw std::domain_error("Parametar nema formu matrice");
  27.  
  28.     double temp;
  29.  
  30.     for(int i = 0; i < m.size(); i++) {
  31.         for(int j = 1; j < m[i].size(); j++) {
  32.             temp = m[i][0];
  33.             if (m[i][j] > temp) temp = m[i][j];
  34.         }
  35.         if (i == 0) minimax = temp;
  36.         else if(temp < minimax) minimax = temp;
  37.     }
  38.  
  39.     for(int i = 0; i < m.size(); i++) {
  40.         for(int j = 1; j < m[i].size(); j++) {
  41.             temp = m[i][0];
  42.             if (m[i][j] < temp) temp = m[i][j];
  43.         }
  44.         if (i == 0) maximin = temp;
  45.         else if (temp > maximin) maximin = temp;
  46.     }
  47. }
  48.  
  49. int main()
  50. {
  51.     double najmanjiMaks, najveciMin;
  52.     std::vector<std::vector<double>> vektorVektora(3, std::vector<double>(2)); // matrica 3x2
  53.  
  54.     UnesiMatricu(vektorVektora);
  55.  
  56.     try {
  57.         funkcija(vektorVektora, najmanjiMaks, najveciMin);
  58.         cout << "minimax: " << najmanjiMaks << " maximin: " << najveciMin << endl;
  59.     }
  60.     catch(std::domain_error(izuzetak)) {
  61.         cout << izuzetak.what();
  62.     }
  63.  
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement