Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- template<typename Type>
- int getMinNum(Type array[], int N) {
- int min_i = 0;
- Type min_x = array[0];
- for (int i = 1; i < N; i++) {
- if (array[i] < min_x) {
- min_i = i;
- min_x = array[i];
- }
- }
- return min_i;
- }
- template<typename Type>
- Type sum(Type array[], int N) {
- int first_minus = -1, second_minus, i;
- Type sum = 0;
- for (i = 0; i < N; i++) {
- if (array[i] < 0) {
- if (first_minus == -1) {
- first_minus = i;
- } else {
- second_minus = i;
- break;
- }
- }
- }
- for (i = first_minus + 1; i < second_minus; i++) sum += array[i];
- return sum;
- }
- template<typename Type>
- void convert(Type array[], int N) {
- int i, r_i = 0;
- Type result[N];
- for (i = 0; i < N; i++)
- if (abs(array[i]) <= 1) {
- result[r_i] = array[i];
- r_i++;
- }
- for (i = 0; i < N; i++)
- if (abs(array[i]) > 1) {
- result[r_i] = array[i];
- r_i++;
- }
- for (i = 0; i < N; i++) {
- cout << result[i];
- if (i != N - 1) cout << " ";
- }
- cout << endl;
- }
- template<typename Type>
- void process(Type array[], int N) {
- for (int i = 0; i < N; i++)
- {
- cin >> array[i];
- }
- cout << getMinNum(array, N) + 1 << " " << sum(array, N) << endl;
- convert(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