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

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

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

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

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

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

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

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

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

Преобразовать массив так, чтобы сначала располагались все положительные элементы, а потом отрицательные - C++
Помогите пжлст решить задачу:cry: В одномерном массиве, состоящем из n целых эл-ов, вычислить: 1) произведение элементов массива с...

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

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

7
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
17.06.2014, 08:02 #2
Ваш код?
0
Любовь1993
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 15
17.06.2014, 08:05  [ТС] #3
это все задание, кода нет
0
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;
}
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};
}
а можно из этого тела программы решить это задание? подкорректируйте
0
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;
}
0
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;
}
0
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<<" ";
0
17.06.2014, 09:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 09:21
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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