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, indmax = 0, indpos = -1;
- float sum = 0, max;
- cout << "size array: ";
- cin >> N;
- float* arr = new float[N];
- srand(time(NULL));
- cout << "original array: " << "\n";
- for (int i = 0; i < N-1; ++i) {
- arr[i] = (float)(rand() % 1001) / 100 - 10;
- cout << arr[i] << " ";
- }
- max = abs(arr[0]);
- for (int i = 1; i < N; ++i) {
- if (max < abs(arr[i])) {
- max = abs(arr[i]);
- indmax = i;
- }
- }
- cout << "\n" << "1) index of max: " << indmax + 1 << "\n";
- for (int i = 0; i < N; ++i) {
- if (arr[i] > 0) {
- indpos = i;
- break;
- }
- }
- if (indpos == -1)
- cout << "2) array hasn't positive items " << "\n\n";
- else if (indpos == N - 1)
- cout << "2) positive item is last" << "\n\n";
- else {
- for (int i = indpos + 1; i < N; ++i)
- sum += arr[i];
- cout << "2) sum after first positive item: " << sum << "\n\n";
- }
- int a, b;
- cout << "[a...b]" << "\n";
- cin >> a >> b;
- for (int k = 0; k < N; k++)
- for (int i = k + 1; i < N; i++)
- if (int(arr[i]) >= a && int(arr[i]) <= b)
- swap(arr[k], arr[i]);
- cout << "new array with interval [" << a << ".." << b << "]: " << "\n";
- for (int i = 0; i < N; ++i) {
- cout << arr[i] << " ";
- }
- 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 << "\n\n" << "new array after bubble sort" << "\n";
- for (int i = 0; i < N; ++i) {
- cout << arr[i] << " ";
- }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment