Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*В одномерном массиве, состоящем из н вещ элементов, вычислить:
- 1)сумму отрицательных элементов
- 2)произведение элементов массива между максимальным и минимальным
- упорядочить элементы массива по возрастанию*/
- #include <iostream>
- #include <time.h>
- #include <conio.h>
- #include <cmath>
- #include <memory>
- using namespace std;
- int main() {
- int N, indmin = 0, indmax = 0, k, l;
- float sum = 0, product = 1, min, max;
- cout << "size array: ";
- cin >> N;
- float* arr = new float[N];
- srand(time(NULL));
- cout << "original array: " << "\n";
- for (int i = 0; i < N; ++i) {
- arr[i] = (float)(rand() % 2001) / 100-10;
- cout << arr[i] << " ";
- }
- for (int i = 0; i < N; ++i) {
- if (arr[i] < 0)
- sum += arr[i];
- }
- if (sum==0)
- cout << "\n" << "1) array hasn't negative items " << "\n";
- else
- cout << "\n" << "1) sum of negative numbers: " << sum << "\n";
- min = arr[0];
- for (int i = 1; i < N; ++i) {
- if (min > arr[i]) {
- min = arr[i];
- indmin = i;
- }
- }
- max = arr[0];
- for (int i = 1; i < N; ++i) {
- if (max < arr[i]) {
- max = arr[i];
- indmax = i;
- }
- }
- if (abs(indmax - indmin) == 1) {
- cout << "2) max and min are near" << "\n\n";
- }
- else if (indmax > indmin){
- for (int i = indmin + 1; i < indmax; ++i)
- product *= arr[i];
- cout << "2) product between min and max:" << product << "\n\n";
- }
- else {
- for (int i = indmax + 1; i < indmin; ++i)
- product *= arr[i];
- cout << "2) product between max and min:" << product << "\n\n";
- }
- for (int i = 0; i < N - 1; ++i) {
- for (int j = 0; j < N - 1; ++j) {
- if (arr[j] > arr[j + 1])
- swap(arr[j], arr[j + 1]);
- }
- }
- cout << "new array after bubble sort" << "\n";
- for (int i = 0; i < N; ++i) {
- cout << arr[i] << " ";
- }
- float item;
- for (int step = N / 2; step>0; step /= 2)
- for (l = step; l < N; ++l) {
- item = arr[l];
- for (k = l; k >= step; k -= step) {
- if (item > arr[k - step])
- arr[k] = arr[k - step];
- else
- break;
- }
- arr[k] = item;
- }
- cout << "\n\n" << "new array after Shell sort" << "\n";
- for (int i = 0; i < N; ++i) {
- cout << arr[i] << " ";
- }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement