Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- template<typename Type>
- Type sum(Type array[], int N) {
- Type sum = 0;
- for (int i = 0; i < N; i++)
- {
- if (array[i] > 0)
- {
- sum += array[i];
- }
- }
- return sum;
- }
- template<typename Type>
- Type multiple(Type array[], int N) {
- Type max = -1, min = abs(array[0]), product = 1;
- int max_i, min_i = 0, i, a;
- for (i = 0; i < N; i++) {
- a = abs(array[i]);
- if (a > max) {
- max_i = i;
- max = a;
- } else if (a < min) {
- min_i = i;
- min = a;
- }
- }
- if (max_i < min_i) swap(max_i, min_i);
- for (i = min_i + 1; i < max_i; i++) product *= array[i];
- return product;
- }
- template<typename Type>
- void sort(Type array[], int N){
- int i, k;
- for (i = 0; i < N; i++)
- for (k = i + 1; k < N; k++)
- if (array[k] > array[i]) swap (array[i], array[k]);
- for(i = 0; i < N; i++){
- cout << array[i];
- if(i != N - 1) cout << ", ";
- }
- }
- template<typename Type>
- void process(Type array[], int N)
- {
- for(int i = 0; i < N; i++)
- {
- cin >> array[i];
- }
- cout << sum(array, N) << ' ' << multiple(array, N) << endl;
- sort(array, N);
- }
- int main() {
- int N;
- cin >> N;
- int array[N];
- double arrayDouble[N];
- float arrayFloat[N];
- process(array, N);
- process(arrayDouble, N);
- process(arrayFloat, N);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement