Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Gmails
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
#1

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

05.01.2015, 00:30. Просмотров 362. Ответов 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;

http://www.cyberforum.ru/cpp-beginners/thread1280210.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2015, 00:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Массив: сначала расположить единицы, а потом другие элементы (C++):

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

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

Расположить в массиве сначала все отрицательные элементы и нули, потом - положительные (Pascal -> C++)
Помогите пожалуйста, нужно перевести программу с pascal на С++. Есть два...

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

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

15
Dimension
Dimension
573 / 442 / 221
Регистрация: 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
Модератор
7125 / 5393 / 669
Регистрация: 14.02.2011
Сообщений: 18,210
05.01.2015, 00:59 #5
Dimension,
у самого то скомпилилось?
две функции с одним и тем же именем
и кстати где они вызываются?
или ты так цикл обозначил?
0
Байт
Эксперт C
17760 / 11785 / 2448
Регистрация: 24.12.2010
Сообщений: 23,695
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
Модератор
7125 / 5393 / 669
Регистрация: 14.02.2011
Сообщений: 18,210
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
17760 / 11785 / 2448
Регистрация: 24.12.2010
Сообщений: 23,695
05.01.2015, 01:02 #9
Цитата Сообщение от Dimension Посмотреть сообщение
For(i, n)
Это Си++, однако.
0
Dimension
Dimension
573 / 442 / 221
Регистрация: 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
Модератор
7125 / 5393 / 669
Регистрация: 14.02.2011
Сообщений: 18,210
05.01.2015, 01:05 #11
Цитата Сообщение от Байт Посмотреть сообщение
Это Си++, однако.
а ты уже подправил свое сообщение
а я сижу гадаю, может чего пропустил

Добавлено через 56 секунд
Цитата Сообщение от Dimension Посмотреть сообщение
For(i,n) это типа for(int i=0;i<n;i++)
никогда не видал
откуда такое чудо, ссылку можно
0
Байт
Эксперт C
17760 / 11785 / 2448
Регистрация: 24.12.2010
Сообщений: 23,695
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
573 / 442 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
05.01.2015, 01:07 #13
да у меня просто дефайном так ,забыл исправить ,думал и так поймет ,сорри
1
rikimaru2013
C++ Game Dev
2471 / 1140 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
05.01.2015, 01:08 #14
Цитата Сообщение от ValeryS Посмотреть сообщение
откуда такое чудо, ссылку можно
вас обманывают ^_^
0
ValeryS
Модератор
7125 / 5393 / 669
Регистрация: 14.02.2011
Сообщений: 18,210
05.01.2015, 01:12 #15
Цитата Сообщение от Байт Посмотреть сообщение
Вот такие макрос ы придумал
Цитата Сообщение от Dimension Посмотреть сообщение
да у меня просто дефайном так
понятненько
но непосвященному,(мне) уж очень похоже на объявление функции в стиле Си, там по умолчанию инты вставляются
уж предупреждайте в следующий раз
0
Байт
Эксперт C
17760 / 11785 / 2448
Регистрация: 24.12.2010
Сообщений: 23,695
05.01.2015, 01:12 #16
Цитата Сообщение от Dimension Посмотреть сообщение
да у меня просто дефайном так
Ну так откуда нам знать твои дефайны? Если уж используешь, так выкладывай код вместе с дефайнами
0
05.01.2015, 01:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2015, 01:12
Привет! Вот еще темы с решениями:

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

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

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

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


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

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

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