Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 01.04.2018
Сообщений: 7
1

Все отрицательные элементы заданного массива перенести в начало, а все остальные – в конец

10.04.2018, 21:38. Показов 3507. Ответов 5

Author24 — интернет-сервис помощи студентам
Помогите пожайлуста написать код . задание такое. желательно как можно проще и с коментариями

Задан массив из k чисел. Преобразовать массив следующим образом: все
отрицательные элементы массива перенести в начало, а все остальные – в ко-
нец, сохранив исходное взаимное расположение как среди отрицательных, так
и среди положительных элементов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2018, 21:38
Ответы с готовыми решениями:

Все отрицательные элементы массива перенести в начало, а все остальные - в конец
помогите пожалуйста))) преобразовать массив по следующему правилу (воспользовавшись массивом у как...

Массив: Все отрицательные элементы массива перенести в начало, а все остальные – в конец.
Задан массив из k чисел. Преобразовать массив следующим образом: все отрицательные элементы массива...

Все отрицательные элементы массива перенести в начало, а все остальные - в конец
Задать массив случайных чисел из диапазона . Воспользовавшись вспомогательным массивом, все...

Все отрицательные элементы массива перенести в начало, а все остальные в конец
Здраствуйте, помогите пожалуйста написать программу Нужно преобразовать массив Х по следующему...

5
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.04.2018, 00:23 2
Shock67, не знаю что нужно комментировать, спрашивайте если есть что-то непонятное

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 <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int k;
    cout <<"Enter k: "; cin >>k;
 
    double*a = new double[k];
 
    for (int i = 0; i < k; i++)
      {
      a[i]=rand()%21-10;
      cout <<a[i]<<" ";
      }
    cout <<endl;
    
    for (int i=0; i<k-1; i++)    
        for (int j=0; j<k-1; j++)        
            if (a[j] >=0 &&a[j+1]<0) 
         swap(a[j], a[j+1]); 
         
     for (int i = 0; i < k; i++)   
      cout <<a[i]<<" ";
      
    delete[]a;
system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 01.04.2018
Сообщений: 7
11.04.2018, 10:35  [ТС] 3
Yetty, где можно вычитать, какие функции несут те или иные операторы, да и как вообще в целом писать на С++.
Типа пособия для чайников
0
308 / 289 / 116
Регистрация: 23.01.2018
Сообщений: 933
11.04.2018, 10:42 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
#include <algorithm>
#include <functional>
#include <iostream>
#include <iterator>
#include <random>
#include <vector>
 
using namespace std;
 
int main()
{
    mt19937 rng;
    rng.seed(random_device()());
    uniform_int_distribution<> dist(-50, 50);
    vector<int> v(20);
    generate(begin(v), end(v), bind(dist, rng));
    copy(begin(v), end(v), ostream_iterator<int>(cout, " "));
    cout << endl;
    stable_sort(begin(v), end(v), [](const int a, const int b){return a < 0 && b >= 0;});
    copy(begin(v), end(v), ostream_iterator<int>(cout, " "));
    cout << endl;
    return 0;
}
1
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
29.04.2018, 19:46 5
Shock67, здравствуйте! Вот еще вариант:

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 <bits/stdc++.h>
 
    using namespace std;
 
int main() {
    int n;
    cout << "Enter an array size:\n";
    cout << "n = ";
    cin >> n;
    double* arr = new double[n];
    cout << "Enter an array:\n";
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    stable_partition(arr, arr + n, [](double arr) {return arr < 0;});
    cout << "Target array:\n";
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    delete [] arr;
    system("pause");
    return 0;
}
0
5 / 5 / 6
Регистрация: 23.03.2018
Сообщений: 98
29.04.2018, 20:35 6
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 <vector>
#include <algorithm>
 
using namespace std;
 
bool bm (int i,int j) { return (i<j); }
 
int main()
{
    vector<double> numlist;
 
    double a;
 
    for (int i=0; i<10; i++)
    {
      cin>>a;
 
      numlist.push_back(a);
 
    }
 
    sort(numlist.begin(), numlist.end(), bm);
 
    for (vector<double>::iterator it=numlist.begin(); it!=numlist.end(); it++)
    {
         cout<<*it<<" ";
    }
 
    return 0;
}
0
29.04.2018, 20:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2018, 20:35
Помогаю со студенческими работами здесь

Все отрицательные элементы массива перенести в начало, а все остальные — в конец
Преобразовать массив Х по следующему правилу: все отрицательные элементы массива перенести в...

Все отрицательные элементы массива X перенести в его начало, а все остальные — в конец
Нужна помощь в доработке программы. Delphi формы: После того как я ввел числа в колонках нажимаю...

Все отрицательные элементы массива X перенести в его начало, а все остальные — в конец
1) Дано натуральное n. Написать программу вычисления значений...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru