Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- template <typename T>
- void Sort(T* arr, const int& SIZE)
- {
- T* new_arr = new T[SIZE / 2+2];
- int k = 0;
- for (int i = 0; i < SIZE; i += 2)
- new_arr[k++] = arr[i];
- for (int i = 0; i < k-1; i++)
- {
- T min = new_arr[i];
- int nom = i;
- for (int j=i+1; j<k; j++)
- if (new_arr[j] < min)
- {
- min = new_arr[j];
- nom = j;
- }
- swap(new_arr[i], new_arr[nom]);
- }
- int sm=0;
- for (int i = 0; i < SIZE; i+=2)
- {
- if (sm < k)
- arr[i] = new_arr[sm++];
- else
- break;
- }
- delete[] new_arr;
- }
- template <typename T2>
- T2 lessZero(T2* arr, const int SIZE)
- {
- int lZ = 1;
- for (int i = 0; i < SIZE; i++)
- {
- if (arr[i] < 0)
- {
- lZ *= arr[i];
- }
- }
- return lZ;
- }
- template <typename T3>
- T3 Sum(T3* arr, const int SIZE)
- {
- T3 max = arr[0], sum=0;
- int nom=0;
- for (int i = 0; i < SIZE; i++)
- {
- if (arr[i] > max)
- {
- max = arr[i];
- nom = i;
- }
- }
- for (int i = 0; i < nom; i++)
- {
- sum += arr[i];
- }
- return sum;
- }
- void main()
- {
- setlocale(LC_ALL, "");
- int size = NULL;
- cout << "Введите количество элементов массива: ";
- cin >> size;
- cout << "Введите массив:\n";
- float *arr = new float[size];
- for (int i = 0; i < size; i++)
- {
- cin >> arr[i];
- }
- Sort(arr, size);
- for (int i = 0; i < size; i++)
- cout << arr[i] << " ";
- cout << endl;
- cout << "произведение отрицаиельных " << lessZero(arr, size) << endl;
- cout << "сумма до максимального " << Sum(arr, size) << endl;
- delete[] arr;
- }
Advertisement
Add Comment
Please, Sign In to add comment