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

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

Войти
Регистрация
Восстановить пароль
 
 
Gmails
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
#1

Массив: сначала расположить единицы, а потом другие элементы - C++

05.01.2015, 00:30. Просмотров 335. Ответов 15
Метки нет (Все метки)

Преобразовать массив таким образом чтобы сначала располагались все элементы равные 1, а потом остальные..
Пытался сделать,не вышло.
C++
1
2
3
4
5
6
7
8
9
10
11
12
int b[u]={3,1,2,4};
    for(i=0;i<u;i++){
    if(b[i]==1){
    c=i;
        z=b[i];
    b[i]=b[c];
    b[c]=z;
    }}
    cout<<"c="<<c<<endl;
    for(i=0;i<u;i++){
    cout<<b[i]<<' '; 
    }cout<<endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2015, 00:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив: сначала расположить единицы, а потом другие элементы (C++):

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

Сортировка массива: сначала расположить положительные, а потом - отрицательные элементы - C++
Проверьте пожайлуста мое решение :) . Эффективен ли вообще такой подход? Задание: Преобразовать массив , так чтобы сначала...

В массиве сначала расположить все положительные элементы,а потом отрицательные - C++
1.В одномерному массиве,что состоит из N целых элементов вычислить: 1)добавление элементов массиву с парными номерами; 2)сумму...

Сначала расположить все элементы, отличающиеся от максимального не более чем на 20%, потом — остальные - C++
В общем, вот задание: В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) количество элементов массива, меньших...

Расположить в массиве сначала все отрицательные элементы и нули, потом - положительные (Pascal -> C++) - C++
Помогите пожалуйста, нужно перевести программу с pascal на С++. Есть два вида кода: const n=10; var a,b:array of integer; ...

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

15
Dimension
Dimension
571 / 440 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
05.01.2015, 00:37 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    int a[n];
    
    int e = 0;
    For(i, n){
        cin >> a[i];
        if (a[i] == 1)
        {
            swap(a[i], a[e]);
            e++;
        }
    }
    For(i, n){
        cout << a[i] << " ";
    }
1
Gmails
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
05.01.2015, 00:56  [ТС] #3
не работает

Добавлено через 2 минуты
заработало,спасибо
0
Gmails
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
05.01.2015, 00:58  [ТС] #4
забыл про инкремент((
0
ValeryS
Модератор
6794 / 5202 / 499
Регистрация: 14.02.2011
Сообщений: 17,443
05.01.2015, 00:59 #5
Dimension,
у самого то скомпилилось?
две функции с одним и тем же именем
и кстати где они вызываются?
или ты так цикл обозначил?
0
Байт
Диссидент
Эксперт C
17225 / 11295 / 1789
Регистрация: 24.12.2010
Сообщений: 22,236
05.01.2015, 01:00 #6
Dimension, чуток подправил
C++
1
2
3
4
5
6
7
8
9
10
11
    for(i=0; i<n;i++){
        cin >> a[i];
        if (a[i] == 1)
        {
            a[i] = a[e];
            a[e++] = 1; 
        }
    }
    for(i=0, i<n; i++){
        cout << a[i] << " ";
    }
1
ValeryS
Модератор
6794 / 5202 / 499
Регистрация: 14.02.2011
Сообщений: 17,443
05.01.2015, 01:01 #7
Цитата Сообщение от Байт Посмотреть сообщение
for(i, n)
это что новый цикл появился???
0
Gmails
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
05.01.2015, 01:01  [ТС] #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const int u=4;
    int c=0;int z;
    int b[u]={3,1,1,4};
    for(i=0;i<u;i++){
    if(b[i]==1){
    z=b[i];
    b[i]=b[c];
    b[c]=z;
    c++;
    }}
    for(i=0;i<u;i++){
cout<<b[i]<<' '; 
    }cout<<endl;
0
Байт
Диссидент
Эксперт C
17225 / 11295 / 1789
Регистрация: 24.12.2010
Сообщений: 22,236
05.01.2015, 01:02 #9
Цитата Сообщение от Dimension Посмотреть сообщение
For(i, n)
Это Си++, однако.
0
Dimension
Dimension
571 / 440 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
05.01.2015, 01:04 #10
ребят вы чего
For(i,n) это типа for(int i=0;i<n;i++)
ничего не нужно подправлять
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int a[n];
    
    int e = 0;
    for(int i=0;i<n;i++){
        cin >> a[i];
        if (a[i] == 1)
        {
            swap(a[i], a[e]);
            e++;
        }
    }
    for(int i=0;i<n;i++){
        cout << a[i] << " ";
    }
Добавлено через 52 секунды
извиняюсь конечно за не понятки)
0
ValeryS
Модератор
6794 / 5202 / 499
Регистрация: 14.02.2011
Сообщений: 17,443
05.01.2015, 01:05 #11
Цитата Сообщение от Байт Посмотреть сообщение
Это Си++, однако.
а ты уже подправил свое сообщение
а я сижу гадаю, может чего пропустил

Добавлено через 56 секунд
Цитата Сообщение от Dimension Посмотреть сообщение
For(i,n) это типа for(int i=0;i<n;i++)
никогда не видал
откуда такое чудо, ссылку можно
0
Байт
Диссидент
Эксперт C
17225 / 11295 / 1789
Регистрация: 24.12.2010
Сообщений: 22,236
05.01.2015, 01:06 #12
Цитата Сообщение от ValeryS Посмотреть сообщение
это что новый цикл появился???
Прошу прощения. Успел исправить. А пропустил, потому что сам использую похожую конструкция, правда на законных основаниях. Вот такие макрос ы придумал
C++
1
2
#define afc(i,n) for(i=0; i<n; i++)
#define afi(i,n) for(int i=0; i<n; i++)
и горя не знаю, и писанины (следовательно, и ошибок) меньше
1
Dimension
Dimension
571 / 440 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
05.01.2015, 01:07 #13
да у меня просто дефайном так ,забыл исправить ,думал и так поймет ,сорри
1
rikimaru2013
C++ Game Dev
2468 / 1137 / 240
Регистрация: 30.11.2013
Сообщений: 3,700
05.01.2015, 01:08 #14
Цитата Сообщение от ValeryS Посмотреть сообщение
откуда такое чудо, ссылку можно
вас обманывают ^_^
0
ValeryS
Модератор
6794 / 5202 / 499
Регистрация: 14.02.2011
Сообщений: 17,443
05.01.2015, 01:12 #15
Цитата Сообщение от Байт Посмотреть сообщение
Вот такие макрос ы придумал
Цитата Сообщение от Dimension Посмотреть сообщение
да у меня просто дефайном так
понятненько
но непосвященному,(мне) уж очень похоже на объявление функции в стиле Си, там по умолчанию инты вставляются
уж предупреждайте в следующий раз
0
05.01.2015, 01:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2015, 01:12
Привет! Вот еще темы с ответами:

Создать массив целых чисел, расположить сначала отрицательные, а потом положительные - C++
Здравствуйте, буду очень рада, если сможете помочь :) Требуется создать массив целых чисел X(N), состоящий из положительных и...

Расположить элементы одномерного массива в следующем порядке: сначала отрицательные, затем нули, потом положительные - C++
Расположить элементы одномерного массива в следующем порядке: сначала отрицательные, затем нули, потом положительные.

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

Отсортировать массив, поставив сначала чётные элементы, а потом нечётные - C++
Люди добрые помогите пожалуйста! мне нужно заполнить двумерный массив А случайными целыми числами от –1000 до +1000 и отсортировать...


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

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

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