Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
morkiller
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 19
1

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

18.05.2017, 14:31. Просмотров 731. Ответов 1
Метки нет (Все метки)

В одномерном массиве, состоящем из целых элементов, вычислить:
Превратить массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все отрицательные (элементы, равные 0, считать положительными).
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2017, 14:31
Ответы с готовыми решениями:

Переместить все положительные элементы в начало массива
Заполнить массив случайными числами в интервале и переставить элементы так, чтобы все...

Переместить все положительные элементы массива в начало
Изменить исходный массив следующим образом: переместить все положительные элементы массива в...

Для массива с максимальной суммой переместить положительные элементы в начало
Задать целочисленные двузначные массивы А = {ai i = 0, 1,..., 20}, B = {bjj = 0, 1, … 30}, C...

Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все отрицательные - в начало массива C (n). Подсчитать количес
Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все...

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

1
fastb1t
Software Developer
240 / 171 / 91
Регистрация: 03.05.2017
Сообщений: 589
Завершенные тесты: 1
18.05.2017, 16:18 2
Лучший ответ Сообщение было отмечено morkiller как решение

Решение

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
37
38
39
40
41
42
43
#include <iostream>
 
using namespace std;
 
int main ()
{
    int array [20] = { -20, 30, 10, 0, 0, 10, -1, -6, 8, 11, 9, 23, 100, -200, 123, 67, 0, 56, -2, 7 };
    int arr1 [20] = {0};
    int arr2 [20] = {0};
    int j1 = 0, j2 = 0;
    for (int i = 0; i < 20; i++)
    {
         if (array [i] >= 0)
         {
              arr1 [j1] = array [i];
              j1 ++;
         }
         else
         {
              arr2 [j2] = array [i];
              j2 ++;
         }
    }
    
    int st = 0;
    for (int i = 0, j = 0; i < 20; i ++, j++)
    {
         if (i == j1)
         {
              j = 0;
              st = 1;
         }
         if (st == 0)
              array [i] = arr1 [j];
         if (st == 1)
              array [i] = arr2 [j];
    }
    
    for (int i = 0; i < 20; i ++)
         printf ("%d ", array [i]);
    getchar ();
    return 0;
}
Добавлено через 1 минуту
Или так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <vector>
 
using namespace std;
 
bool func (int i, int j)
{
    return (i > j);
}
 
int main ()
{
    int array [20] = { -20, 30, 10, 0, 0, 10, -1, -6, 8, 11, 9, 23, 100, -200, 123, 67, 0, 56, -2, 7 };
    
    vector<int> vec (array, array + 20);
    
    sort (vec.begin (), vec.end (), func );
    
    for (vector<int>::iterator it = vec.begin (); it != vec.end (); it ++)
         cout << *it << " ";
    getchar ();
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2017, 16:18

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

Переместить четные элементы массива в начало
четные элементы в начало, нечетные в конец int a, b; int n, j = 0, k, i; cout &lt;&lt; &quot;\nEnter the...

Переместить нулевые элементы в начало массива
#include &lt;iostream&gt; #include&lt;time.h&gt; #include&lt;random&gt; using namespace std; int main() {...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru