Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/36: Рейтинг темы: голосов - 36, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 10.10.2019
Сообщений: 12

Поставить в начало последовательности нули, а затем единицы.

13.10.2019, 18:36. Показов 6959. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Последовательность a1, a2, ... an, состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2019, 18:36
Ответы с готовыми решениями:

Поставить в начало последовательности нули, а затем единицы.
Последовательность а1, а2,..., аn, состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.

Поставить в начало последовательности нули, а затем единицы
1 Последовательность a1; a2; ...; an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.

Массивы: поставить в начало последовательности нули, а затем единицы
(Массив)Последовательность a1, a2, …an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы. ...

36
2 / 1 / 1
Регистрация: 12.01.2018
Сообщений: 17
13.10.2019, 18:43
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
int main()
{
    vector<bool> vec{ 1,0,1,0,0,1,0,1,0 };
    partition(vec.begin(), vec.end(),
        [](bool num) {return !num; });
    for (const auto& i : vec)
        cout << i << ' ';
}
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.10.2019, 18:57
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
#include <iostream>
using namespace std; 
 
int main()
{
    int n, a, count_null=0;  
      
    cout << "n="; cin >> n;  
 
    cout << "Enter " << n << " elements of the sequence (0 or 1):\n";    
    for (int i=1; i<=n; i++)
    {  
        cin >> a;              
        if (a==0) count_null++;                    
    }
    
    cout << "Modified sequence:\n";
    for (int i=1; i<=n; i++)
    {
        if (i<=count_null) cout << 0 << " ";              
        else cout << 1 << " ";                    
    } 
    cout << "\n";   
    
system("pause");
return 0;
}
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
13.10.2019, 19:52
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
 string s;
 int a;
 while(cin>>a)
     a==0 ? s.insert(0,"0") : s+='1';
 cout<<s;
 system("pause");
 return 0;
}
0
1 / 1 / 0
Регистрация: 02.07.2024
Сообщений: 14
10.07.2024, 08:28
Вариант решения используя массив

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
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
using namespace std;
 
const int SIZE = 25;
 
void randMatrix(int a[SIZE]) {
    srand(time(0));
 
    for (int i = 0; i < SIZE; i++) {
 
            a[i] = rand() % 2;
            cout << a[i] << ' ';
    }
}
 
int main()
{
    setlocale(LC_ALL, "RU");
    int a[SIZE];
    cout << "Оригинальный массив: ";
    randMatrix(a);
 
    int count_zeros = 0;
    for (int i = 0; i < SIZE; i++) {
        if (a[i] == 0) {
            count_zeros++;
        }
    }
 
    for (int i = 0; i < count_zeros; i++) {
        a[i] = 0;
    }
 
    for (int i = count_zeros; i < SIZE; i++) {
        a[i] = 1;
    }
 
    cout << "\nИсправленный массив: ";
    for (int i = 0; i < SIZE; i++) {
        cout << a[i] << " ";
    }
 
    return 0;
}
1
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
10.07.2024, 15:27
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
#include <iostream>
 
int main()
{
    int n, repeat;
    std::cin >> n;
    int *arr = new int[n];
    int it0 = 0;
    int it1= n-1;
    repeat = n;
    while(repeat--)
    {
        int temp;
        std::cin >> temp;
        if(temp)
        {
            arr[it1--] = temp;
        }
        else
        {
            arr[it0++] = temp;
        }
    }
    repeat = n;
    while(repeat--)
    {
        std::cout << arr[n-repeat-1] << " ";
    }
    delete [] arr;
}
Добавлено через 10 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <set>
int main()
{
    int n;
    std::cin >> n;
    std::multiset<int> numbers;
    int temp;
    while(n--)
    {
        std::cin >> temp;
        numbers.insert(temp);
    }
    for(auto x: numbers)
    {
        std::cout << x << " ";
    }
}
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
10.07.2024, 16:01
Если что, то этой теме 5 лет почти
0
10.07.2024, 16:10

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
5 лет
Я после публикации заметил, но не стал удалять. Может пригодится кому-нибудь.

0
фрилансер
 Аватар для Алексей1153
6466 / 5688 / 1131
Регистрация: 11.10.2019
Сообщений: 15,131
10.07.2024, 19:02
а я бы тоже сначала посчитал единички, а потом перезаполнил вектор

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
 
int main()
{
    std::vector<int> vec{ 1,0,1,0,0,1,0,1,0 };
    
    auto count_of_1=std::reduce(vec.begin(),vec.end());
    auto b=std::fill_n(vec.begin(),vec.size()-count_of_1,0);
    std::fill(b,vec.end(),1);
 
    for (const auto& i : vec)std::cout << i << ' ';
}
Добавлено через 1 минуту
для обфускатологов

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
 
int main()
{
    std::vector<int> v{ 1,0,1,0,0,1,0,1,0 };
    std::fill(std::fill_n(v.begin(),v.size()-std::reduce(v.begin(),v.end()),0),v.end(),1);
    for (const auto& i : v)std::cout << i << ' ';
}
0
Лежебока
 Аватар для Donkix
328 / 244 / 95
Регистрация: 12.05.2021
Сообщений: 1,429
Записей в блоге: 2
10.07.2024, 20:30
Цитата Сообщение от Croessmah Посмотреть сообщение
Если что, то этой теме 5 лет почти
Croessmah, Кто-то решил поворошить прошлое
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
11.07.2024, 14:55
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>
using namespace std;
  
int main() {
    vector<int> a{ 0,0,1,0,0,1,0,1,0 };
    int j=8;
    
    for(int i=8;i>=0;i--){
        if( a[i]==1 ) j--;
        if(a[i]==0 && a[i-1]==1) { a[i-1]=0; a[j]=1; j--;}
    }
    for(int i=0;i<9;i++) cout<<a[i]<<" ";     
}
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
11.07.2024, 16:25
повар1,
Цитата Сообщение от повар1 Посмотреть сообщение
i>=0;
Цитата Сообщение от повар1 Посмотреть сообщение
a[i-1]
???
Выход за пределы массива.
1
1 / 1 / 0
Регистрация: 02.07.2024
Сообщений: 14
11.07.2024, 16:39
повар1, Ты сам то код запускал? Или чат gpt сказал, что все робит?
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
11.07.2024, 21:24
Цитата Сообщение от SaBuSEgine Посмотреть сообщение
Или чат gpt сказал
не пользуюсь и тебе не советую. Машина голову не заменит.
Цитата Сообщение от Алексей1153 Посмотреть сообщение
а я бы тоже сначала посчитал единички,
зачем?
Цитата Сообщение от SmallEvil Посмотреть сообщение
Выход за пределы массива.
i>0;
0
фрилансер
 Аватар для Алексей1153
6466 / 5688 / 1131
Регистрация: 11.10.2019
Сообщений: 15,131
11.07.2024, 21:27
Цитата Сообщение от повар1 Посмотреть сообщение
зачем?
что зачем?
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
11.07.2024, 21:39
Цитата Сообщение от SaBuSEgine Посмотреть сообщение
Ты сам то код запускал? Или чат gpt сказал, что все робит?
результат запуска вашего кода
Миниатюры
Поставить в начало последовательности нули, а затем единицы.  
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
11.07.2024, 21:43
Цитата Сообщение от Алексей1153 Посмотреть сообщение
что зачем?
единички считать
0
фрилансер
 Аватар для Алексей1153
6466 / 5688 / 1131
Регистрация: 11.10.2019
Сообщений: 15,131
11.07.2024, 21:44
повар1, чтобы узнать, сколько там единичек
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
11.07.2024, 21:50
Алексей1153, вот и удивляюсь, для чего их считать если это можно сделать сдвигом вправо
0
фрилансер
 Аватар для Алексей1153
6466 / 5688 / 1131
Регистрация: 11.10.2019
Сообщений: 15,131
11.07.2024, 21:54
повар1, посчитать сумму вектора - это быстрее, чем проверять кучу условий в цикле и передвигать вправо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.07.2024, 21:54
Помогаю со студенческими работами здесь

Поставьте в начало этой последовательности нули, а затем единицы. Подсчитайте количество нулей и единиц
Создайте одномерный массив, представляющий собой последовательность из нулей и единиц (через функции формирования случайного числа)....

Последовательность a1, a2, . a3n состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем е
Последовательность a1, a2, ... a3n состоит из нулей и едениц. Поставить в начало этой последовательности нули, а затем еденицы.

Поставить в начало этой последовательности нули, а затем единицы
Последовательность a1, a2, ..., аn состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы. Вывести...

Поставить в начало последовательности нули, а затем единицы
Вариант 4. Последовательность a1, a2, …,an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.

Поставить в начало последовательности нули, а затем единицы.
Последовательность а1, а2,..., аn, состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru