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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Samari
Сообщений: n/a
23.12.2012, 21:23     Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные #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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream> 
#include <stdlib.h> 
#include <time.h> 
 
using namespace std;
 
int main()
{
  
    int y[15];
    srand((unsigned)time(NULL));
    for( int j = 0; j < 15; j++)
    {
        y[j] = rand() % 200 - 99; 
        cout<<endl<<"y["<<j<<"]="<<y[j]; 
    }
    int min = y[0];
    for( int j = 1; j < 15; j++)
        if(y[j] < min)
            min = y[j];
    cout << endl << "Minimalnoe Znachenie = " << min << endl;
    int Xn, Xk;
    for( int j = 0; j < 15; j++)
        if(y[j] >= 0)
        {
            Xn = j;
            break;
        }
    for( int j = 14; j >= 0; j--)
        if(y[j] >= 0)
        {
            Xk = j;
            break;
        }
    int sum(0);
    for( Xn; Xn <= Xk; Xn++ )
        sum += y[Xn];
    cout<<"Summa elementov megdu pervym i posledniim pologitelnym elementom=" << sum << endl;
 
    system("pause");
    return 0;
    
}
это кусок от программы для который необходимо это сделать: Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2012, 21:23     Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные
Посмотрите здесь:

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом все остальные C++
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных C++
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом все отрицательные C++
C++ Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных
Преобразовать массив таким образом, чтобы элементы, равные нулю располагались после остальных. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iLeshii
1 / 1 / 0
Регистрация: 14.10.2013
Сообщений: 25
03.12.2013, 13:31     Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные #2
Тоже интересует этот вопрос. Неужели нет спецов?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.12.2013, 14:17     Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные #3
Цитата Сообщение от iLeshii Посмотреть сообщение
Тоже интересует этот вопрос.
Ознакомьтесь с методами сортировки.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
03.12.2013, 14:39     Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные #4
Цитата Сообщение от Tulosba Посмотреть сообщение
Ознакомьтесь с методами сортировки
Которые кстати вот они:
Алгоритмы сортировок
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
03.12.2013, 15:54     Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные #5
Ну, на всякий случай, решение в стиле STL:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
 
int main ()
{
   std::vector<int> v {4,9,0,7,1,0,6,0,1,0,9,7,0,0,4};
   std::partition(v.begin(), v.end(), std::bind2nd(std::equal_to<int>(), 0));
 
   std::cout << "After transform:\n";
   for (int i : v) std::cout << i << " ";
 
   return 0;
}
Yandex
Объявления
03.12.2013, 15:54     Преобразовать массив таким образом чтобы сначала располагались все элементы равные нулю а потом остальные
Ответ Создать тему
Опции темы

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