2 / 2 / 0
Регистрация: 24.11.2009
Сообщений: 40

Переставить элементы массива так, чтобы сначала располагались все 0, затем 1, затем 2

29.01.2010, 15:46. Показов 2376. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Общие указания при составлении программ к данной теме:
1. Размер массива задать константой в блоке описания.
2. Массив заполнить случайными числами, если другого заполнения не диктует задача.
3. Вывести исходный массив и массив после преобразования по условию задачи.

само задание: В массиве X[1..n] каждый элемент равен 0, 1 или 2. Переставить элементы массива так, чтобы сначала располагались все 0, затем 1, затем 2. Сортировку при этом не делать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.01.2010, 15:46
Ответы с готовыми решениями:

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

Массив. Переставить элементы массива так, чтобы сначала располагались все нули, затем все единицы
Тема Одномерные массивы В массиве X(1:n) каждый элемент равен 0, 1 или 5. Переставить элементы массива так, чтобы сначала располагались...

Заполнить массив Y так, чтобы сначала располагались отрицательные, а затем положительные элементы массива X
Заполнить массив Y так, чтобы сначала располагались отрицательные, а затем положительные элементы массива X. Помогите, пожалуйста :)

15
 Аватар для Kizer
80 / 82 / 36
Регистрация: 20.11.2009
Сообщений: 326
29.01.2010, 17:17
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Бредовинький код у меня конечно... но без сортировки не знаю как больше :
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program k;
const
n = 500;
var
a,b,c,d:array[1..n] of real;
i,j,f,m,t: integer;
BEGIN
for i:=1 to n do
read(a[i]);
 
for i:=1 to n do
if a[i] = 0 then inc(f) else if a[i] = 1 then inc(m) else inc(t);
 
writeln('Нули:  ');
for j:=1 to t do writeln(0,'   ');
writeln('единицы  ');
for j:=1 to m do writeln(1,'   ');
writeln('Двойки:  ');
for j:=1 to f do writeln(2, '   ');
 
END.
0
LegenD
 Аватар для Жолдас
45 / 44 / 15
Регистрация: 10.12.2009
Сообщений: 109
29.01.2010, 17:21
Kizer, ты хочешь чтобы он вводил 500 значении вручную??
0
141 / 135 / 69
Регистрация: 15.12.2009
Сообщений: 343
29.01.2010, 17:23
добавить надо
Pascal
1
2
3
4
5
randomize;
write('n:= ');
read(n);
for i:=1 to n do
a[i]:=random(2);
написано же случайный образом
0
 Аватар для Kizer
80 / 82 / 36
Регистрация: 20.11.2009
Сообщений: 326
29.01.2010, 17:25
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Пардон муа... забыл что там нужен рандом:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program k;
const
n = 100;
var
a,b,c,d:array[1..n] of byte;
i,j,f,m,t: integer;
BEGIN
for i:=1 to n do begin
a[i]:=random(2); write(a[i], '   '); end; 
 
for i:=1 to n do
if a[i] = 0 then inc(f) else if a[i] = 1 then inc(m) else inc(t);
 
writeln('Нули:  ');
for j:=1 to t do writeln(0,'   ');
writeln('единицы  ');
for j:=1 to m do writeln(1,'   ');
writeln('Двойки:  ');
for j:=1 to f do writeln(2, '   ');
 
END.
0
2 / 2 / 0
Регистрация: 24.11.2009
Сообщений: 40
29.01.2010, 17:28  [ТС]
так а что программа эта делает, запускаю и кроме ввода цифр ничего не происходит

Добавлено через 48 секунд
ой, не обнавил страницу потом))

Добавлено через 1 минуту
Нули:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
единицы
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Двойки:


вот што выводи
0
141 / 135 / 69
Регистрация: 15.12.2009
Сообщений: 343
29.01.2010, 17:29
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
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
const p=6;
var a:array[1..p] of integer;
k1,k2,k3,i,n:integer;
begin
randomize;
write('n:= ');
read(n);
for i:=1 to n do
a[i]:=random(2);
for i:=1 to n    do
writeln(a[i]);
for i:=1 to n do
if a[i]=0 then k1:=k1+1;
for i:=1 to n do
if a[i]=1 then k2:=k2+1;
for i:=1 to n do
if a[i]=2 then k3:=k3+1;
for i:=1 to k1 do
write('0');
for i:=1 to k2 do
write('1');
for i:=1 to k3 do
write('2');
readln;
end.
0
2 / 2 / 0
Регистрация: 24.11.2009
Сообщений: 40
29.01.2010, 17:34  [ТС]
andrei63, а чё двойки невыводятся

Добавлено через 16 секунд
???
0
141 / 135 / 69
Регистрация: 15.12.2009
Сообщений: 343
29.01.2010, 17:36
random(3)
1
 Аватар для Kizer
80 / 82 / 36
Регистрация: 20.11.2009
Сообщений: 326
29.01.2010, 17:37
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Рано я бросил курить Гашиш...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program k;
const
n = 5;
var
a,b,c,d:array[1..n] of byte;
i,j,f,m,t: integer;
BEGIN
randomize;
for i:=1 to n do begin
a[i]:=random(3); write(a[i], '   '); end;
 
for i:=1 to n do
if a[i] = 0 then inc(f) else if a[i] = 1 then inc(m) else inc(t);
 
writeln('Нули:  ');
for j:=1 to f do writeln(0,'   ');
writeln('единицы  ');
for j:=1 to m do writeln(1,'   ');
writeln('Двойки:  ');
for j:=1 to t do writeln(2, '   ');
 
END.
Вот Ваша программа. Постарайтесь хотя бы чуть-чуть вникнуть в код
0
2 / 2 / 0
Регистрация: 24.11.2009
Сообщений: 40
29.01.2010, 17:41  [ТС]
посмотрим на ваши 2 проги))что препод скажет))

Добавлено через 1 минуту
посмотрим что препод скажет)

Добавлено через 14 секунд
блин, комп тупит)
0
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
29.01.2010, 17:42
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот ваш код
Pascal
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
const
n=15;
type
mas=array[1..n] of byte;
 
procedure writemas(a:mas);
var
i:integer;
begin
write('[');
for i:=1 to n do
write(a[i]:3);
writeln(']');
end;
 
procedure replace (s,s1:byte; var a:mas);
var
i,x,j:integer;
begin
for i:=1 to n-1 do
for j:=n downto i+1 do
if (a[i]=s) and (a[j]=s1) then begin
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
end;
 
var
a:mas;
i,j,x:integer;
begin
writeln('My Vector');
randomize;
for i:=1 to n do
a[i]:=random(3);
writemas(a);
replace(2,1,a);
replace(2,0,a);
replace(1,0,a);
writeln('Solution');
writemas(a);
readln
end.
Добавлено через 26 секунд
Цитата Сообщение от hellsing001 Посмотреть сообщение
посмотрим на ваши 2 проги))что препод скажет))

Добавлено через 1 минуту
посмотрим что препод скажет)

Добавлено через 14 секунд
блин, комп тупит)
препод такое решение не примет гарантировано
0
2 / 2 / 0
Регистрация: 24.11.2009
Сообщений: 40
29.01.2010, 17:45  [ТС]
твою темболее))я на 1 курсе и процедуры ещё не проходили))
0
 Аватар для Kizer
80 / 82 / 36
Регистрация: 20.11.2009
Сообщений: 326
29.01.2010, 17:45
pikusfikus, читайте пункт 2 задания. Вы, думаете, что мы сортировку не знаем как сделать?
0
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
29.01.2010, 17:48
Цитата Сообщение от Kizer Посмотреть сообщение
pikusfikus, читайте пункт 2 задания. Вы, думаете, что мы сортировку не знаем как сделать?
вы уверены что это сортировка?вы то код читал?обмен элементов это не сортировка.

Добавлено через 1 минуту
Цитата Сообщение от Kizer Посмотреть сообщение
pikusfikus, читайте пункт 2 задания. Вы, думаете, что мы сортировку не знаем как сделать?
Вы видели условия?"Переставить элементы массива так,",именно переставить,а не вывести их таким
детским способом.
0
29.01.2010, 17:55

Не по теме:

pikusfikus, молодец. Спорить не буду, мб Вы и правы.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2010, 17:55
Помогаю со студенческими работами здесь

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

Упорядочить элементы вектора так, чтобы сначала размещались всё отрицательные, а затем все положительные
Дан вектор А(а1,а2,...,а10). Упорядочить элементы вектора так, чтобы сначала размещались всё отрицательные элементы, а затем все...

Сформировать массив так, чтобы сначала шли отрицательные элементы, затем положительные и, наконец, нулевые
HELP! люди срочно требуется ваща помошь, по масивам! вот задача: Задан массив y из n целых чисел. Сформировать массив z так чтобы в...

Преобразовать массив так, чтобы сначала располагались все отрицательные элементы, а потом все положительные
ребят помогите срочно у мя экзамен!!!!!!!!!!!! Одномерный массив состоит из N вещественных элементов(n<=50).Преобразовать массив так...

Преобразовать массив так, чтобы сначала располагались все элементы, отличающиеся от макс не более чем на 20%
Дан одномерный массив, состоящий из N вещественных элементов. Преоброзовать массив таким образом, чтобы сначала располагались все...


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

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

Новые блоги и статьи
Раскрываем внутренние механики Android с помощью контекста и манифеста
mobDevWorks 07.07.2025
Каждый Android-разработчик сталкивается с Context и манифестом буквально в первый день работы. Но много ли мы задумываемся о том, что скрывается за этими обыденными элементами? Я, честно говоря,. . .
API на базе FastAPI с Python за пару минут
AI_Generated 07.07.2025
FastAPI - это относительно молодой фреймворк для создания веб-API, который за короткое время заработал бешеную популярность в Python-сообществе. И не зря. Я помню, как впервые запустил приложение на. . .
Основы WebGL. Раскрашивание вершин с помощью VBO
8Observer8 05.07.2025
На русском https:/ / vkvideo. ru/ video-231374465_456239020 На английском https:/ / www. youtube. com/ watch?v=oskqtCrWns0 Исходники примера:
Мониторинг микросервисов с OpenTelemetry в Kubernetes
Mr. Docker 04.07.2025
Проблема наблюдаемости (observability) в Kubernetes - это не просто вопрос сбора логов или метрик. Это целый комплекс вызовов, которые возникают из-за самой природы контейнеризации и оркестрации. К. . .
Проблемы с Kotlin и Wasm при создании игры
GameUnited 03.07.2025
В современном мире разработки игр выбор технологии - это зачастую балансирование между удобством разработки, переносимостью и производительностью. Когда я решил создать свою первую веб-игру, мой. . .
Создаем микросервисы с Go и Kubernetes
golander 02.07.2025
Когда я только начинал с микросервисами, все спорили о том, какой язык юзать. Сейчас Go (или Golang) фактически захватил эту нишу. И вот почему этот язык настолько заходит для этих задач: . . .
C++23, квантовые вычисления и взаимодействие с Q#
bytestream 02.07.2025
Я всегда с некоторым скептицизмом относился к громким заявлениям о революциях в IT, но квантовые вычисления - это тот случай, когда революция действительно происходит прямо у нас на глазах. Последние. . .
Вот в чем сила LM.
Hrethgir 02.07.2025
как на английском будет “обслуживание“ Слово «обслуживание» на английском языке может переводиться несколькими способами в зависимости от контекста: * **Service** — самый распространённый. . .
Использование Keycloak со Spring Boot и интеграция Identity Provider
Javaican 01.07.2025
Два года назад я получил задачу, которая сначала показалась тривиальной: интегрировать корпоративную аутентификацию в микросервисную архитектуру. На тот момент у нас было семь Spring Boot приложений,. . .
Содержание темы с примерами на WebGL
8Observer8 01.07.2025
Все примеры из книги Мацуды и Ли в песочнице JSFiddle Пример выводит точку красного цвета размером 10 пикселей на WebGL 1. 0 и 2. 0 WebGL 1. 0. Передача координаты точки из главной программы в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru