Advertisement
wintest

МАТРИЦА: Минимален прост елемент

Jan 15th, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. #include <iostream>
  2. #include <clocale>
  3. #include <ctime>
  4. #include <cmath>
  5.  
  6. using namespace std;
  7.  
  8. #define M 5
  9. #define N 5
  10.  
  11. int minOfPrime(int array[][N], size_t rows);
  12. void fillTheArray(int array[][N], size_t rows);
  13. void printTheArray(int array[][N], size_t rows);
  14.  
  15. int main(){
  16.     setlocale(LC_ALL, "Bulgarian");
  17.     srand(time(NULL));
  18.  
  19.     int array[M][N];
  20.     fillTheArray(array, M);
  21.     printTheArray(array, M);
  22.     cout << endl;
  23.     cout << minOfPrime(array, M);
  24.     return 0;
  25. }
  26. // Л) намиране на минималното просто число, което е част от матрицата;
  27. int minOfPrime(int array[][N], size_t rows){
  28.     int min=INT_MAX;
  29.     for (size_t i = 0; i < M; i++)
  30.     {
  31.         for (size_t j = 0; j < N; j++){
  32.             if (array[i][j] == 0){
  33.                 return array[i][j];
  34.             }
  35.             else if (array[i][j] == 0) min = array[i][j];
  36.             else{
  37.                 bool isPrime = true;
  38.                 for (size_t n = 2; n <= array[i][j] / 2; n++)
  39.                 {
  40.                     if (array[i][j] % n == 0)
  41.                     {
  42.                         isPrime = false;
  43.                         break;
  44.                     }
  45.                 }
  46.                 if (isPrime) {
  47.                     if (min>array[i][j]){
  48.                         min = array[i][j];
  49.                     }
  50.                 }
  51.             }
  52.         }
  53.     }
  54.     return min;
  55. }
  56.  
  57. void fillTheArray(int array[][N], size_t rows){
  58.     for (size_t i = 0; i < M; i++)
  59.     {
  60.         for (size_t j = 0; j < N; j++){
  61.             array[i][j] = rand() % 500 +1;
  62.  
  63.         }
  64.     }
  65. }
  66. //принтирам масив
  67. void printTheArray(int array[][N], size_t rows){
  68.     cout << "Оригиналната матрица е това : " << endl;
  69.  
  70.     for (size_t i = 0; i < M; i++)
  71.     {
  72.         for (size_t j = 0; j < N; j++){
  73.             cout << array[i][j] << "\t";
  74.         }
  75.         cout << endl;
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement