
Дан массив из 20 целых чисел. Элементы массива вводятся с клавиатуры. В данном массиве каждый
элемент равен 0, 1 или 2. Переставить элементы массива так, чтобы сначала располагались все нули, затем единицы и, наконец, все двойки. Дополнительный массив не использовать. Преобразованный массив вывести на экран в одну строку

Ответы на вопрос

Відповідь:
Pascal
Пояснення:
program n;
Var
x: Array [1..20] of integer;
i,j,tmp: Byte;
BEGIN
Randomize;
Writeln('Èñõîäíûé ìàññèâ:');
For i:=1 to 20 do
begin
Write(x[i],' ');
read(x[i]);
end;
For i:=1 to 19 do
begin
For j:=i+1 to 20 do
If x[i]>x[j] Then
begin
tmp:=x[i];
x[i]:=x[j];
x[j]:=tmp
end;
end;
Writeln;
Writeln('Ïîëó÷åííûé ìàññèâ:');
For i:=1 to 20 do
Write(x[i],' ');
Readln
END.




Ответ:
Python:
import random
massiv=[random.randint(0,2) for i in range(20)]
print(massiv)
massiv.sort()
print(massiv)



Для решения этой задачи вам нужно перебрать элементы массива и переставить их так, чтобы сначала шли все нули, затем единицы и, наконец, двойки. Вы можете использовать счетчики для подсчета количества нулей, единиц и двоек в массиве, и затем перезаписать массив в соответствии с этими счетчиками. Вот пример на псевдокоде, как это можно сделать:
1. Создайте массив `arr` из 20 целых чисел и введите его элементы с клавиатуры.
2. Создайте три счетчика: `count0`, `count1` и `count2`, и инициализируйте их нулем.
3. Пройдитесь по массиву `arr` и для каждого элемента:
- Если элемент равен 0, увеличьте счетчик `count0` на 1. - Если элемент равен 1, увеличьте счетчик `count1` на 1. - Если элемент равен 2, увеличьте счетчик `count2` на 1.
4. Теперь у вас есть количество нулей, единиц и двоек в массиве. Вы можете перезаписать элементы массива `arr` так, чтобы сначала шли все нули, затем единицы и, наконец, двоек, используя счетчики:
- Пройдитесь по массиву `arr` снова и для каждого элемента:
- Если `count0` больше нуля, присвойте элементу значение 0 и уменьшите `count0` на 1. - В противном случае, если `count1` больше нуля, присвойте элементу значение 1 и уменьшите `count1` на 1. - В противном случае, присвойте элементу значение 2.
5. Теперь массив `arr` содержит элементы, упорядоченные как требуется. Выведите его на экран в одну строку.
Пример кода на Python, решающего эту задачу:
```python arr = [] for i in range(20): element = int(input("Введите элемент массива: ")) arr.append(element)
count0 = 0 count1 = 0 count2 = 0
for element in arr: if element == 0: count0 += 1 elif element == 1: count1 += 1 else: count2 += 1
for i in range(20): if count0 > 0: arr[i] = 0 count0 -= 1 elif count1 > 0: arr[i] = 1 count1 -= 1 else: arr[i] = 2
print("Преобразованный массив:", arr) ```
Этот код сначала вводит массив, затем переставляет элементы в требуемом порядке и выводит результат на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili