Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 08 / task2.cpp
diff options
context:
space:
mode:
1 files changed, 42 insertions, 0 deletions
-rw-r--r--Sem. 08/task2.cpp42
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