Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248

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

05.01.2015, 00:30. Показов 911. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.01.2015, 00:30
Ответы с готовыми решениями:

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

Преобразовать массив: сначала расположить все отрицательные элементы, а потом - все положительные
ЧЕРЕЗ ФУНКЦИЮ! Преобразовать одномерный целочисленный массив таким образом, чтобы сначала располагались все отрицательные элементы, а...

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

15
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
05.01.2015, 00:37
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
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
05.01.2015, 00:56  [ТС]
не работает

Добавлено через 2 минуты
заработало,спасибо
0
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
05.01.2015, 00:58  [ТС]
забыл про инкремент((
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,867
05.01.2015, 00:59
Dimension,
у самого то скомпилилось?
две функции с одним и тем же именем
и кстати где они вызываются?
или ты так цикл обозначил?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.01.2015, 01:00
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
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,867
05.01.2015, 01:01
Цитата Сообщение от Байт Посмотреть сообщение
for(i, n)
это что новый цикл появился???
0
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
05.01.2015, 01:01  [ТС]
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
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.01.2015, 01:02
Цитата Сообщение от Dimension Посмотреть сообщение
For(i, n)
Это Си++, однако.
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
05.01.2015, 01:04
ребят вы чего
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
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,867
05.01.2015, 01:05
Цитата Сообщение от Байт Посмотреть сообщение
Это Си++, однако.
а ты уже подправил свое сообщение
а я сижу гадаю, может чего пропустил

Добавлено через 56 секунд
Цитата Сообщение от Dimension Посмотреть сообщение
For(i,n) это типа for(int i=0;i<n;i++)
никогда не видал
откуда такое чудо, ссылку можно
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.01.2015, 01:06
Цитата Сообщение от 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
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
05.01.2015, 01:07
да у меня просто дефайном так ,забыл исправить ,думал и так поймет ,сорри
1
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
05.01.2015, 01:08
Цитата Сообщение от ValeryS Посмотреть сообщение
откуда такое чудо, ссылку можно
вас обманывают ^_^
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,867
05.01.2015, 01:12
Цитата Сообщение от Байт Посмотреть сообщение
Вот такие макрос ы придумал
Цитата Сообщение от Dimension Посмотреть сообщение
да у меня просто дефайном так
понятненько
но непосвященному,(мне) уж очень похоже на объявление функции в стиле Си, там по умолчанию инты вставляются
уж предупреждайте в следующий раз
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.01.2015, 01:12
Цитата Сообщение от Dimension Посмотреть сообщение
да у меня просто дефайном так
Ну так откуда нам знать твои дефайны? Если уж используешь, так выкладывай код вместе с дефайнами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.01.2015, 01:12
Помогаю со студенческими работами здесь

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

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

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

Преобразовать массив: сначала расположить все элементы, модуль которых не превышает 4, а потом все остальные
В одномерном массиве, состоящем из 15 вещественных элементов (значения элементов массива задайте случайными числами из интервала ),...

Расположить элементы массива так, чтобы сначала были 0, а потом 1
Дан массив из 0 и 1, расположить элементы так, чтобы сначала были 0, а потом 1(методы сортивровки не использовать)


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru