#include
#include
#include
using namespace std;
int main() {
srand(time(NULL));
int arr[11];
cout << "Massive" << endl;
for (int i = 0; i <= 11; i++) {
arr[i] = rand() % 3;
cout << " " << arr[i];
}
// Сортировка по возростанию
cout << "New Masssive" << endl;
cout << endl;
for (int i = 0; i <= 11; i++) {
for (int j = 0; j <= 11; j++) {
if (arr[i] < arr[j]) swap(arr[i], arr[j]);
}
}
for (int i = 0; i <= 11; i++) {
cout << " " << arr[i];
}
cout << endl;
cout << endl;
// Сделать в начале 1 дальше 0 потом 2
system("pause");
return 0;
}
Другие языки программирования и технологии
Переделать массив так чтобы сначала располагались 1 потом 0 потом 2
Помолись, чтобы завтра я отдыхал -> Вохмянина не проводит завтра пары.
#include <iostream>
#include <windows.h>
#include <ctime>
#include <algorithm>
using namespace std;
void show(short unsigned *);
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(NULL));
system("color 0A");
auto gen = []()
{
return rand() % 3u;
};
cout << "Укажите длину массива ";
size_t n;
cin >> n;
auto arr = new short unsigned[n];
generate(arr, arr + n, gen);
cout << "Исходное содержание массива" << endl;
show(arr);
size_t ind = 0u;
size_t pack_long = 3u;
auto pack = new short unsigned[pack_long];
pack[0] = 1u;
pack[1] = 0u;
pack[2] = 2u;
for (size_t p = 0u; p < pack_long - 1u; ++p)
{
for (size_t u = ind; u < n; ++u)
{
if (arr[u] == pack[p])
{
swap(arr[u], arr[ind++]);
}
}
}
cout << "Содержание обработанного массива" << endl;
show(arr);
system("pause");
return 0;
}
void show(short unsigned *arr)
{
size_t sz = _msize(arr) / sizeof(*arr);
for (size_t u = 0u; u < sz; ++u)
{
cout << arr[u] << " ";
}
cout << endl;
}

#include <iostream>
#include <windows.h>
#include <ctime>
#include <algorithm>
using namespace std;
void show(short unsigned *);
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(NULL));
system("color 0A");
auto gen = []()
{
return rand() % 3u;
};
cout << "Укажите длину массива ";
size_t n;
cin >> n;
auto arr = new short unsigned[n];
generate(arr, arr + n, gen);
cout << "Исходное содержание массива" << endl;
show(arr);
size_t ind = 0u;
size_t pack_long = 3u;
auto pack = new short unsigned[pack_long];
pack[0] = 1u;
pack[1] = 0u;
pack[2] = 2u;
for (size_t p = 0u; p < pack_long - 1u; ++p)
{
for (size_t u = ind; u < n; ++u)
{
if (arr[u] == pack[p])
{
swap(arr[u], arr[ind++]);
}
}
}
cout << "Содержание обработанного массива" << endl;
show(arr);
system("pause");
return 0;
}
void show(short unsigned *arr)
{
size_t sz = _msize(arr) / sizeof(*arr);
for (size_t u = 0u; u < sz; ++u)
{
cout << arr[u] << " ";
}
cout << endl;
}

Быстрый и простой алгоритм такой.
Создай массив int[3]. Обнули его. Заполни массив так:
[0] - количество нулей
[1] - количество единиц
[2] - количество двоек
Это можно сделать одним циклом.
Из заполненного массива легко создать нужный тебе массив.
Создай массив int[3]. Обнули его. Заполни массив так:
[0] - количество нулей
[1] - количество единиц
[2] - количество двоек
Это можно сделать одним циклом.
Из заполненного массива легко создать нужный тебе массив.
Похожие вопросы
- №1.Как вычислить произведение элементов массива(1..5)В Паскале=)))№2.Найти наименьший элемент в массиве!Тоже в Паскале)
- Дано n строк по 3 элемента (1 и 0), найти сколько строк имеет больше чем один знак 1. C++
- Как перевести эти числа буду благодарен:1)0,2122(3)-?(10) 2)3,1415(10)-?(8) 3) 0,2122(8)-?(2) 4)0,1100011(2)-?(10) (((
- как сделать массив из случайных чисел от 1 до 15 (размерность массива 4х4) что бы они не повторялись в VBA????
- (ax−1)(bx−1) < 0 на паскаль
- Вопрос по VBA(В Excel) Нужно решить y=x^2*cos(2x)+1 в 0->50 промежутке Дайте польный ответ или подзказки
- Сколько будет: 0 в нулевой степени? 1 или 0
- Почему при делении дробных чисел пишет результат 0 на С++? x1=(b+pow(d,0.5))/2/a;
- непонятки с return в программировании!!!!когда ставить return 1, return 0, и если без цифры....
- Помогите пожалуйста! Задача по программированию. ВВОдится 1 число n. ВОзможны 2 действия над ним : 1)вычесть 1