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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Любовь1993
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 15
#1

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

17.06.2014, 07:56. Просмотров 290. Ответов 7
Метки нет (Все метки)

Задан массив целых чисел, среди которых есть 0. Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 07:56     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым
Посмотрите здесь:

Преобразовать массив со значениями (0,1) так, чтобы все элементы имели значение 1 - C++
задание такое дан массив: -рандомно заполнить его(0 и 1). -выбираем любой элемент у которого значение 1,находим его (один)два...

Преобразовать массив так, чтобы отрицательные элементы шли первыми, все остальные за ними - C++
Доброго времени суток. Мне нужно перезаписать массив так, чтобы отрицательные элементы шли первыми все остальные за ними. Сохранить...

Преобразовать массив так, чтобы сначала располагались все элементы, отличающиеся от максимального не более 20% - C++
Задача звучит так: Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более...

Преобразовать массив так, чтобы сначала шли все элементы с вещественной частью, а потом без неё - C++
3. Создать массив из 10 вещественных чисел. Преобразовать массив так, чтобы сначала шли все элементы с вещественной частью, а потом без...

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

Преобразовать массив так, чтобы элементы массива поменялись местами - C++
Преобразовать массив так , чтобы элементы массива поменялись местами (первый с последним, второй -с перед последним и т.д.)

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
17.06.2014, 08:02     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым #2
Ваш код?
Любовь1993
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 15
17.06.2014, 08:05  [ТС]     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым #3
это все задание, кода нет
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
17.06.2014, 08:10     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым #4
C++
1
2
3
4
5
6
7
8
9
10
#include <vector>
#include <algorithm>
 
int main() {
    static const int n = 7;
    std::vector<int> a(n);
    std::generate(a.begin(), a.end(), rand);
    std::sort(a.begin(), a.end());
    return 0;
}
Любовь1993
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 15
17.06.2014, 08:14  [ТС]     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <iostream>
using namespace std;
main()
{ int a {};
count <<"vvedite"<< endl;
cin>>n;
for (int i=0; i<n;i++) 
{ cout<<"vvedite"<<endl;
}
cin>>a{i};
}
а можно из этого тела программы решить это задание? подкорректируйте
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
17.06.2014, 08:24     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым #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
#include <stdio.h>
#include <iostream>
#include <functional>
#include <algorithm>
using namespace std;
main() {
        int* a;
        int n;
        cout << "vvedite razmer = " << endl;
        cin >> n;
        a = new int[n];
        for (int i = 0; i < n; ++i) {
            cout << "vvedite element nomer " << i << " = ";
            cin >> a[i];
        }
 
        sort(a, a + n, greater<int>());
        for (int i = 0; i < n; ++i) {
            cout << a[i] << " ";
        }
        cout << "\n";
        delete[] a;
}
RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 465
Записей в блоге: 1
17.06.2014, 08:29     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
На самом деле в сортировке нет необходимости, достаточно просто переставить нулевые элементы в конец:

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
#include <iostream>
using namespace std;
 
int main()
{ 
    int *a, n;
    cout << "vvedite" << endl;
    cin >> n;
    a = new int[n];
 
    for (int i=0; i<n;i++) { 
        cin >> a[i];
    }
 
    int j = n - 1;
    for( int i = 0; i < j; ++i) {
        if( a[i] == 0 ) {
            while( a[j] == 0 && j > i ) {
                --j;
            }
            int temp = a[i];
            a[i] = a[j];
            a[j] = temp;        
        }
    }
 
    for( int i = 0; i < n; ++i ) {
         cout << a[i] << ' ';
    }
    delete []a;
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 09:21     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым
Еще ссылки по теме:

Преобразовать массив так, чтобы элементы с четными и нечетными значениями чередовались - C++
Пожалуйста помогите с задачей: Дан массив целых чисел. Преобразовать его так, чтобы элементы с четными и нечетными значениями...

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

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

Преобразовать массив так, чтобы между 0 ограничивающими первый отрезок, оказались элементы второго отрезка - C++
&quot;В последовательности А из N элементов каждую группу из рядом стоящих нулей заменить одним нулем . Среди отрезков последовательности ,...


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

Или воспользуйтесь поиском по форуму:
Trwsdf
Заблокирован
17.06.2014, 09:21     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым #8
C++
1
2
3
4
5
6
int init[]={1,-2,3,2,-4,0,3,0,-2,0,0};    
std::sort(init,&init[11],[](const int & elem,const int & elem2)->int{
    if(elem==0)return 1;else return 0;
});
    
for(const int & elem :init)cout<<elem<<" ";
Yandex
Объявления
17.06.2014, 09:21     Преобразовать массив так чтобы все ненулевые элементы предшествовали нулевым
Ответ Создать тему
Опции темы

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