Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. //zadacha 4, дадено е универсално множество и негово подмножество. Да се напише функция, която намира
  2. //колко е най-дългата последователност в подмножеството
  3. int FindTheLargestSequence(int*numbers1, int* numbers2, int numbers1Sz, int numbers2Sz);
  4.  
  5. int main(){
  6. //zadacha 4
  7.     int numbers1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  8.     int numbers2[] = { 1, 2, 3, 5, 6, 7, 8, 10 };
  9.     int numbers1Sz = sizeof(numbers1) / sizeof(numbers1[0]);
  10.     int numbers2Sz = sizeof(numbers2) / sizeof(numbers2[0]);
  11.     cout << FindTheLargestSequence(numbers1, numbers2, numbers1Sz, numbers2Sz) << endl;
  12. return 0;
  13. }
  14. int FindTheLargestSequence(int*numbers1, int* numbers2, int numbers1Sz, int numbers2Sz) {
  15.     int currentCount = 0;
  16.     int maxCount = 0;
  17.     int i, j;
  18.     int k = 0;
  19.     for (i = 0; i < numbers1Sz; i++)
  20.     {
  21.         for (j = k; j < numbers2Sz; j++)
  22.         {
  23.             if (numbers1[i] == numbers2[j])
  24.             {
  25.                 currentCount++;
  26.                 k++;
  27.                 break;
  28.             }
  29.             else
  30.             {
  31.                 if (currentCount > maxCount)
  32.                 {
  33.                     maxCount = currentCount;
  34.                 }
  35.                 else
  36.                 {
  37.                     maxCount = currentCount;
  38.                 }
  39.                 currentCount = 0;
  40.                 break;
  41.             }
  42.         }
  43.     }
  44.     return maxCount;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement