Форум программистов, компьютерный форум CyberForum.ru

Положительные элементы массива перенести в начало - C++

Восстановить пароль Регистрация
 
sanek1097
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 5
26.10.2015, 18:39     Положительные элементы массива перенести в начало #1
Только начали изучать, не очень секу
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить количество положительных элементов массива. Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы массива , а потом - все отрицательные( элементы, равные 0, считать положительными).
Вывести печать исходный и преобразованный массив.
Размерность массива задается именованной константой.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2015, 18:39     Положительные элементы массива перенести в начало
Посмотрите здесь:

[C++]Все отрицательные элементы массива перенести в начало, а все остальные - в конец C++
все положительные элементы поставить в начало а отрицательные в конец C++
C++ Необходимо, пройдя по массиву один раз, все его положительные элементы поставить в начало а отрицательные в конец
C++ Перенести положительные элементы A[n] массива на B[m]
C++ На С++ перенести в начало одномерного массива второй нулевой элемент
C++ Перенести в начало массива нулевые элементы
Переместить все положительные элементы в начало массива C++
C++ Перенести все положительные элементы массива в начало (не нарушая порядка их следования)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
26.10.2015, 21:46     Положительные элементы массива перенести в начало #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>     // cout
#include <vector>       // vector
#include <functional>   // greater_equal, bind2nd
#include <iterator>     // ostream_iterator
#include <algorithm>    // count_if
 
using namespace std;
 
bool cmp(double a, double b) {
    return b < 0.0 || a >= 0.0;
}
 
int main()
{
    const int n = 10;
    vector<double> arr;
    double x;
    for (int i = 0; i < n; i++) {
        cin >> x;
        arr.push_back(x);
    }
    copy(arr.begin(), arr.end(), ostream_iterator<double>(cout, " "));
    cout << endl;
    cout << count_if(arr.begin(), arr.end(), bind2nd(greater_equal<double>(), 0.0)) << endl;
    sort(arr.begin(), arr.end(), cmp);
    copy(arr.begin(), arr.end(), ostream_iterator<double>(cout, " "));
    cout << endl;
    return 0;
}
Yandex
Объявления
26.10.2015, 21:46     Положительные элементы массива перенести в начало
Ответ Создать тему
Опции темы

Текущее время: 21:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru