Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 3 / 0
Регистрация: 09.03.2020
Сообщений: 184

Отрицательные элементы переместить в начало массива

14.06.2021, 11:29. Показов 598. Ответов 5
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Задача:Превратить массив таким образом, чтобы сначала располагались все отрицательные элементы, затем - нулевые, затем положительные. Помогите!! (Шаблоны функций)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.06.2021, 11:29
Ответы с готовыми решениями:

В одномерном массиве все отрицательные элементы переместить в начало массива
в одномерном массиве все отрицательные элементы переместить в начало массива, а остальные - в конец с сохранением порядка следования не...

В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец
В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохранением порядка следования. Не...

Отрицательные элементы массива переместить в начало, а остальные – в конец, с сохранением порядка следования
В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохранением порядка следования. Не...

5
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
14.06.2021, 11:38
В одномерном массиве все отрицательные элементы переместить в начало массива
0
half-horse half-gateway
117 / 83 / 43
Регистрация: 10.05.2016
Сообщений: 563
14.06.2021, 11:47
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
30
31
#include <iostream>
#include <algorithm>
#include <vector>
#include <time.h>
 
 
int main()
{
    setlocale(LC_ALL, "");
    srand(time(0));
 
    size_t size = rand() % 18 + 3;
    std::vector<int> arr(size);
    std::cout << "Изначальный массив:\n";
 
    for (size_t i = 0; i < size; i++)
    {
        arr.push_back(rand() % 51 - 25);
        std::cout << arr[i] << "\t";
    }
 
    std::sort(arr.begin(), arr.end());
 
    std::cout << "Отсортированный массив:\n";
 
    for (size_t i = 0; i < arr.size(); i++)
        std::cout << arr[i] << "\t";
 
 
    return 0;
}
0
2 / 3 / 0
Регистрация: 09.03.2020
Сообщений: 184
14.06.2021, 23:41  [ТС]
BlackStoneBlack, а можно без елементов вектора? Пожалуйста
0
half-horse half-gateway
117 / 83 / 43
Регистрация: 10.05.2016
Сообщений: 563
15.06.2021, 07:23
hacker2001, не понимаю, какой смысл, но вот, пожалуйста.
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
30
31
32
33
34
35
36
#include <iostream>
#include <time.h>
  
int main()
{
    setlocale(LC_ALL, "");
    srand(time(0));
 
    size_t size = rand() % 18 + 3;
    int* arr = new int[size];
    std::cout << "Изначальный массив:\n";
 
    for (size_t i = 0; i < size; i++)
    {
        arr[i] = rand() % 51 - 25;
        std::cout << arr[i] << "\t";
    }
 
    for (size_t i = 0; i < size - 1; i++)
        for (size_t j = 0; j < size - i - 1; j++)
            if (arr[j] > arr[j + 1])
            {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = arr[j];
            }
 
    std::cout << "Отсортированный массив:\n";
 
    for (size_t i = 0; i < size; i++)
        std::cout << arr[i] << "\t";
 
    delete[] arr;
 
    return 0;
}
0
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
15.06.2021, 11:05
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
30
31
32
33
34
35
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
 
int main()
{
    srand(time(NULL));
    int n, m = 0;
    cout << "Input n:";
    cin >> n;
    int* a = new int[n];
    int* b = new int[n];
    cout << "Array:" << endl;
    for (int i = 0; i < n; i++)
    {
        a[i] = -10 + rand() % 21;
        cout << a[i] << " ";
        if (a[i] < 0) b[m++] = a[i];
    }
    cout << endl;
    for (int i = 0; i < n; i++) {
        if (a[i] == 0) b[m++] = a[i];
        if (a[i] > 0) b[m++] = a[i];
    }
    cout << "Result:" << endl;
    for (int i = 0; i < n; i++) {
        cout << b[i] << " ";
    }
    cout << endl;
    delete[]a;
    delete[]b;
    system("pause");
    return 0;
}
Добавлено через 5 минут
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
30
31
32
33
34
#include <iostream>
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main() {
    srand(time(NULL));
    int n;
    cout << "n = "; cin >> n;
    int* a = new int[n];
    cout << "Array:" << endl;
    for (int i = 0; i < n; i++) {
        a[i] = -10 + rand() % 21;
        cout << a[i] << " ";
    }
    cout << endl;
    int i, p = 0;
    while ((p < n) && (a[p] < 0)) {
        ++p;
    }
    for (i = p; i < n; ++i) {
        if (a[i] < 0) {
            swap(a[p++], a[i]);
        }
    }
 
    for (i = 0; i < n; ++i) {
        cout << a[i] << " ";
    }
    cout << endl;
    delete[]a;
    system("pause>nul");
    return 0;
}
Добавлено через 4 минуты
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
30
#include <iostream>
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main() {
    srand(time(NULL));
    int n,i,j;
    cout << "n = "; cin >> n;
    int* a = new int[n];
    cout << "Array:" << endl;
    for (int i = 0; i < n; i++) {
        a[i] = -10 + rand() % 21;
        cout << a[i] << " ";
    }
    cout << endl;
    i = 0;
    j = n - 1;
    while (i < j)
    {
        while (a[i] < 0)i++;
        while (a[j]>=0) j--;
        if (i <= j) swap(a[i], a[j]);
    }
    for (i = 0; i < n; i++)cout << a[i] << " ";
    cout << endl;
    delete[]a;
    system("pause>nul");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2021, 11:05
Помогаю со студенческими работами здесь

В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохранением порядка следования
Здравствуйте форумчане! Подскажите, как решить данные задания. Отстаю от группы, а так и не разобрался в этой теме. Используя...

Для каждого из массивов все отрицательные элементы переместить в начало массива, а все положительные — в конец
Составить программу, которая превращает массивы А и В следующим образом: для каждого из них все отрицательные элементы одномерного...

Отрицательные значения массива переместить в начало
Все отрицательные значения линейного вещественного массива переместить в его начало, сохраняя взаимное расположение элементов.

Отрицательные значения массива переместить в начало
Все отрицательные значения линейного вещественного массива переместить в его начало, сохраняя взаимное расположение элементов.

Все положительные элементы поместить в начало массива В(n), а отрицательные элементы — в начало массива С(n)
Ребята. Помогите с задачей пожалуйста. Дан массив А(n). Все положительные его элементы поместить в начало массива В(n), а...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru