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

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных

15.12.2011, 21:23. Показов 1891. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите пожалуста программку, метод сортировки ваще не понимаю.

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2011, 21:23
Ответы с готовыми решениями:

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных
#include <iostream> #include <cmath> using namespace std; int main() { ...

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех...

Преобразовать массив таким образом, чтобы элементы, равные нулю располагались после остальных.
Напишите, пожалуйста, программу. Преобразовать массив таким образом, чтобы элементы, равные нулю...

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

3
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
15.12.2011, 21:34 2
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <ctime>
 
using namespace std;
 
class TransformArray{
    int _maxRandom;
    int _value;
public:
    TransformArray(int maxRandom, int value):
        _maxRandom(maxRandom),
        _value(value) {
        srand(time(NULL));
    }
    int operator() () {
        return rand() % _maxRandom;
    }
    bool operator ()(int item) {
        return item != _value;
    }
};
 
int main()
{
    cout << "Size: ";
    int size;
    cin >> size;
    vector<int> vec(size);
    TransformArray ta(10, 0);
    generate(vec.begin(), vec.end(), ta);
    copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    stable_partition(vec.begin(), vec.end(), ta);
    copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));
    return EXIT_SUCCESS;
}
0
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
15.12.2011, 21:48 3
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
#include <iostream>
#define m_swap(type, a, b)  { type t = a; a = b; b = t; }
 
void move_tail(int val, int* arr, int size) {
  for(int i = 0; i < size; i++) {
        if(arr[i] == val) {
             for(int k = i; k < size - 1; k++)
                 m_swap(int, arr[k], arr[k + 1]);
             i--;
             --size;
        }
   }
}
 
int main(void) {
   int arr[] = { 0, 0, 30, 45, 0, 0, 20, 5, 7, 0, 11 };
   int size  = sizeof(arr) / sizeof(arr[0]);
   
   move_tail(0, arr, size);
   for(int i = 0; i < size; i++)
          std::cout << arr[i] << "  ";
   std::cout.put('\n');
   return 0;
}
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
15.12.2011, 22:58 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 <iostream>
#include <algorithm>
#include <functional>
#include <iterator>
#include <random>
#include <array>
#include <ctime>
 
int main()
{
    std::array<int, 20> a;
 
    std::generate(a.begin(), a.end(),
                  std::bind(std::uniform_int_distribution<>(-5, 5), std::mt19937(std::time(nullptr))));
 
    std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    std::stable_partition(a.begin(), a.end(), [](int i) { return i == 0; });
 
    std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
}
0
15.12.2011, 22:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2011, 22:58
Помогаю со студенческими работами здесь

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались перед всеми остальными
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались перед всеми...

Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; using namespace std; int...

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

Преобразовать список таким образом, чтобы сначала располагались все элементы, равные нулю, а потом - все остальные
Подскажите/помогите, не знаю как реализовать в коде. Поидее, мне нужно найти нуль, затем...


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

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