Отсортировать числа в масиве С++

227
19 декабря 2019, 06:10

В массиве нужно переместить положительные числа в левую сторону, а отрицательные в правую, не нарушая порядок. Не желательно использовать сложные алгоритмы сортировки, указатели. Не знаю что нужно написать в теле цикла, как определить нужную позицию в новом масиве.

#include <iostream>
using namespace std;
int main() {
    int i, n;
    int a[]={-2,1,4,-3,2,-1,5};
    int b[7]; //масив для отсортированых чисел
    for (i=0; i<7; i++) {
        if (a[i]>0) {
            //положительные числа
        }
    }
    for (i=0; i<7; i++) {
        if (a[i]<0) {
            //отрицательные
        }
    }
    for (i=0; i<7; i++) {
        cout<<b[i]<<" ";
    }
    return 0;
}
Answer 1

Простой способ без библиотек и указателей.

#include <iostream>
using namespace std;
int main() {
    int i;
    int a[]={-2,1,4,-3,2,-1,5};
    int b[7]; //масив для отсортированых чисел
    int j=0;
    for (i=0; i<7; i++) {
        if (a[i]>0) {
            b[j]=a[i];
            j++;
        }
    }
    for (i=0; i<7; i++) {
        if (a[i]<=0) {
            b[j]=a[i];
            j++;
        }
    }
    for (i=0; i<7; i++) {
        cout<<b[i]<<" ";
    }
    return 0;
}
Answer 2

Лучше воспользоваться стандартным алгоритмом:

#include <algorithm>
#include <iostream>
#include <iterator>
int main()
{
    int a[] = {-2, 1, 4, -3, 2, -1, 5};
    std::stable_partition(std::begin(a), std::end(a), [](int x){return x >= 0;});
    // Печатает `1 4 2 5 -2 -3 -1`
    for (int x : a)
        std::cout << x << " ";
    std::cout << '\n';
}
READ ALSO
Можно ли разместить Java код на каком нибудь хостинге?

Можно ли разместить Java код на каком нибудь хостинге?

Есть готовый сервер написанный на Java сокетах, его цель обрабатывать запросы клиентов и возвращать им ответы, но проблема в том что компьютер...

203
Преобразование в 16 с.с

Преобразование в 16 с.с

Я писал консольную программку для шифрования полученной строкиПосле написания, я заметил, что зашифрованная строка (полученный массив байтов)...

198
Скачивание файла(мп3, zip) из приложения Android на телефон, без доступа в интернет

Скачивание файла(мп3, zip) из приложения Android на телефон, без доступа в интернет

Моя цель сделать так, чтобы пользователь мог по нажатию кнопки скачать файл из самого приложенияНе из интернета:) В идеале в папку Download

201