enkov

Три задачки с масив и условия... v2

Nov 13th, 2019
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.47 KB | None | 0 0
  1. #include "stdafx.h"  // само при Visual Studio <= 2017
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. /*
  6. Да се напише функция, която се извиква с четири параметъра ‒
  7. два масива от цели числа и броевете на елементите в тези два масива,
  8. и замества всички четни елементи на първия масив с броя на нечетните елементи
  9. на втория масив.
  10. четен/нечетен елемент е елемент, който съдържа четно/нечетно число
  11. */
  12.  
  13.  
  14. void ReplaceEvenWihCountOfOdd(int Arr1[], int Arr2[], const int size1, const int size2)
  15. {
  16.     int CountOddInArr2 = 0;
  17.     for (int i = 0; i < size2; i++)
  18.         if (Arr2[i] % 2 == 1)
  19.             CountOddInArr2++;
  20.     for (int i = 0; i < size1; i++)
  21.         if (Arr1[i] % 2 == 0)
  22.             Arr1[i] = CountOddInArr2;
  23.     return;
  24. }
  25.  
  26. /*Да се напише функция, която се извиква с два параметъра ‒ масив от реални числа
  27. и брой на елементите в този масив, и връща броя на елементите,
  28. чиято удвоена стойност не се среща никъде в масива.*/
  29. int CountNotExistDoubleValued(double Arr[], int size)
  30. {
  31.     int Count = 0;
  32.     for (int i = 0; i < size; i++)
  33.     {
  34.         bool exists = false;
  35.         for (int j = 0; j < size; j++)
  36.             if ( Arr[i]*2 == Arr[j] )
  37.             {
  38.                 exists = true;
  39.                 break;
  40.             }
  41.         if (exists == false) Count++;
  42.     }
  43.     return Count;
  44. }
  45.  
  46. /*Да се напише функция, която се извиква с два параметъра ‒ масив от реални числа
  47. и брой на елементите в този масив, и връща броя на елементите,
  48. чиято противоположна по знак стойност също се среща в масива.*/
  49. int CountExistNegativeValue(double Arr[], int size)
  50. {
  51.     int Count = 0;
  52.     for (int i = 0; i < size; i++)
  53.     {
  54.         for (int j = 0; j < size; j++)
  55.             if (Arr[i] * -1 == Arr[j])
  56.             {
  57.                 Count++;
  58.                 break; // намерено едно съвпадение
  59.             }
  60.     }
  61.     return Count;
  62. }
  63.  
  64. int main()
  65. {
  66.     int Array1[10] = { 1,5,11,4,5,6,11,8,9,11 };
  67.     int Array2[12] = { 3,6,12,14,15,6,11,8,2,5,6,7 };
  68.     ReplaceEvenWihCountOfOdd(Array1, Array2, 10, 12);
  69.     for (int i = 0; i < 10; i++)
  70.         cout << Array1[i] << " ";
  71.    
  72.     return 0;
  73. }
Add Comment
Please, Sign In to add comment