Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
#include
using namespace std; void input(int* arr, int n, bool rm) { for (int i = 0; i < n; ++i) { if (rm && i + 1 == n) { arr[i] = arr[i - 1]; break; } cout << "Podaj " << i + 1 << " liczbę: "; cin >> arr[i]; } } void out(int* arr, int n) { cout << "["; for (int i = 0; i < n - 1; ++i) cout << arr[i] << ", "; cout << arr[n - 1] << "]" << endl; } int ext(int* arr, int n, bool mini = true) { int m = arr[0]; for (int i = 0; i < n; ++i) { if (mini) { if (arr[i] < m) m = arr[i]; } else { if (arr[i] > m) m = arr[i]; } } return m; } tuple
conquer(int* arr, int n) { int* low = new int[n / 2]; int* high = new int[n / 2]; for (int i = 0; i < n / 2; i++) { if (arr[i * 2] < arr[i * 2 + 1]) { low[i] = arr[i * 2]; high[i] = arr[i * 2 + 1]; } else { high[i] = arr[i * 2]; low[i] = arr[i * 2 + 1]; } } cout << "low: "; out(low, n / 2); cout << "high: "; out(high, n /2); return { ext(low, n / 2), ext(high, n / 2, false) }; delete[] low; delete[] high; } int main() { int n, min, max; bool rm = false; cout << "Ile liczb: "; cin >> n; if (n % 2 == 1) { n++; rm = true; } int *arr = new int[n]; input(arr, n, rm); tie(min, max) = conquer(arr, n); cout << "min: " << min << endl << "max: " << max << endl << "rozpiętość: " << max - min << endl; delete[] arr; return 0; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)