Facebook
From jarek, 3 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 45
  1. #include <iostream>
  2. using namespace std;
  3. bool OKtAB(int first[],int second[],int sum[],int f,int s,int su)
  4. {
  5.     bool ok=false;
  6.     int i;
  7.     if (f == s && f == su)
  8.     {
  9.         ok = true;
  10.         for (i = 0; i < f; i++)
  11.         {
  12.             sum[i] = first[i] + second[i];
  13.         }
  14.  
  15.     }
  16.     return ok;
  17. }
  18. bool pairWithSumEqualsXExists(int array[], int wymiar, int x)
  19. {
  20.     bool ok = false;
  21.     int i, j;
  22.     for (i = 0; i < wymiar && !ok; i++)
  23.     {
  24.         for (j = 0; j < wymiar && !ok; j++)
  25.         {
  26.             if (i != j && array[i] + array[j] == x)
  27.             {
  28.                 ok = true;
  29.             }
  30.         }
  31.     }
  32.  
  33.     return ok;
  34. }
  35. int main()
  36. {
  37.     int *F,*S,*SUM; //*-wskaźnik
  38.     int f1, s1, sum1,i; //-wymiary
  39.     //b
  40.     int X;
  41.  
  42.     cin >> f1 >> s1 >> sum1;
  43.     F = new int[f1];
  44.     cout << "WCZYTUJEMY TABLICE 1:" << endl;
  45.     for (i = 0; i < f1; i++)
  46.     {
  47.         cin >> F[i];
  48.  
  49.     }
  50.     S = new int[s1];
  51.     cout << "WCZYTUJEMY TABLICE 2:" << endl;
  52.    
  53.     for (i = 0; i < s1; i++)
  54.     {
  55.         cin >> S[i];
  56.     }
  57.     SUM = new int[sum1];
  58.     if (OKtAB(F, S, SUM, f1, s1, sum1))
  59.     {
  60.         cout << "Tablica wynikowa" << endl;
  61.         for (i = 0; i < f1; i++)
  62.         {
  63.             cout << SUM[i] << ",";
  64.         }
  65.         cout << endl;
  66.     }
  67.     else
  68.     {
  69.         cout << "Nie sa zgodne wymiary!" << endl;
  70.     }
  71.     //b
  72.     cout << "Podaj szukana sume:";
  73.     cin >> X;
  74.     if (pairWithSumEqualsXExists(F,f1,X))
  75.     {
  76.         cout << "Podana suma w tablicy istnieje" << endl;
  77.     }
  78.     else
  79.     {
  80.         cout << "Podana suma w tablicy nie istnieje" << endl;
  81.     }
  82. }
  83. /*
  84. Napisz dwie funkcje:
  85. 1
  86. a)
  87. Pierwsza ma przyjmować 3 tablice i 3 inty, ktore są ich rozmiarami,
  88. przy czym najpierw ma sprawdzić czy ich rozmiary są równe.Jeśli tak,
  89. to ma zapisac w tablicy wynikowej, czyli tej trzeciej sumę elementów na indeksie i pierwszej i drugiej tablicy.
  90. Tzn : sum[i] = first[i] + second[i];
  91. b)
  92. Druga funkcja ma natomiast wziąć jedną tablicę, jej rozmiar oraz liczbę X
  93. I ma sprawdzić, czy w tej tablicy istnieją dwie takie liczby, że ich suma jest równa X
  94. Czyli dla danych wejściowych
  95. int array[5] = { 1, 3, 5, 7, 11 };
  96. int X = 18;
  97. pairWithSumEqualsXExists(array, 5, X) ma zwrócić true.
  98.  
  99. (A jak nie istnieje np dla X równego 13 to ma zwrócić false
  100.     Ta nazwa moze ciut długa
  101.     Mozesz nazwac ewentualnie sumExists
  102.     Czy coś
  103.     Że wiesz, suma istnieje)
  104. */