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

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

Восстановить пароль Регистрация
 
Romantikkk
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 144
02.11.2012, 19:39     Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные #1
Помогите, пожалуйста. как составить код в с++.

Дан целочисленный массив размера N. Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом — все остальные.
Размер массива N задается в виде константы в исходном коде программы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2012, 19:39     Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные
Посмотрите здесь:

Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом — все отрицательные C++
C++ Преобразовать массив таким образом, чтобы сначала располагаись все положительные элементы, а потом-все отлицательные
Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом все остальные C++
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом все отрицательные C++
C++ Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no_wearines
 Аватар для no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 322
02.11.2012, 19:48     Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные #2
C++
1
2
3
4
const int count_1 = 10;
int array_1[count_1] = {23, 4, 56, -2, 456, 12, -4, -6, 2, 34};
 
partition(array_1, (array_1 + count_1), f_1);
Добавлено через 27 секунд
не забудьте подключить <algorithm>

Добавлено через 21 секунду
и соответственно using namespace std;
Romantikkk
0 / 0 / 0
Регистрация: 19.10.2012
Сообщений: 144
02.11.2012, 19:50  [ТС]     Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные #3
а как сделать, чтобы цифры вводило с клавы?
no_wearines
 Аватар для no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 322
02.11.2012, 19:56     Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные #4
for(int i_1 = 0; i_1 < count_1; ++i_1)
cin>>array_1[i_1];
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
02.11.2012, 19:56     Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string.h>
#include <conio.h>
 
const int n=10;
 
using namespace std;
int main(){
    int x[n];
    for(int i=0;i<n;i++)
       cin>>x[i];
       cout<<endl;
       for(int i=0;i<n;i++)
       if(x[i]<0) cout<<x[i];
       for(int i=0;i<n;i++)
       if(x[i]>=0) cout<<x[i];
       
getch();
return 0;
}
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
02.11.2012, 21:27     Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные #6
На псевдокоде я бы решил это так:
для каждого элемента массива: если найден отрицательный элемент, то ищем среди всех последующих элементов массивов положительный элемент, если найден такой индекс, то производите обмен значенями, если не найден, то выходим из цикла. Вот и все
Yandex
Объявления
02.11.2012, 21:27     Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные
Ответ Создать тему
Опции темы

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