diff options
1 files changed, 42 insertions, 0 deletions
| -rw-r--r-- | Sem. 08/task2.cpp | 42 |
diff --git a/Sem. 08/task2.cpp b/Sem. 08/task2.cpp new file mode 100644 index 0000000..beb700d --- /dev/null +++ b/Sem. 08/task2.cpp @@ -0,0 +1,42 @@ +#include <iostream> +using namespace std; + +const int SIZE = 30; +int CountOccurrences(int arr[SIZE], int n, int el) +{ + int count = 0; + for (int i = 0; i < n; i++) + { + if (arr[i] == el) + count++; + } + return count; +} + +int GetLonlyNumber(int arr[SIZE], int n) +{ + for (int i = 0; i < n; i++) + { + if (CountOccurrences(arr, n, arr[i]) == 1) + return arr[i]; + } + return -1; + +} + +int GetLonlyNumberBetter(int arr[SIZE], int n) +{ + int res = 0; + for (int i = 0; i < n; i++) + res ^= arr[i]; + return res; +} + +int main() +{ + int arr[SIZE]; + int n; + for (int i = 0; i < n; i++) + cin >> arr[i]; + cout << GetLonlyNumberBetter(arr, n); +}
\ No newline at end of file |
