Сдать решение задачи 2-Танец Задача 2: Танец
Для школьного праздника группа учащихся решила поставить танец, в котором иллюстрировалась бы работа алгоритма сортировки пузырьком. В этом танце учащиеся становятся в одну линию, после этого некоторые стоящие рядом танцоры могут меняться местами. Одновременные обмены запрещены, то есть пока одна пара танцоров меняется местами, другие остаются на своих местах.
В конце танца все девочки должны стоять в ряду слева, а все мальчики — справа. По данному первоначальному расположению мальчиков и девочек в ряду определите, какое минимальное число обменов им необходимо совершить, чтобы встать нужным образом.
Например, пусть первоначальная расстановка танцоров такая (буква «Д» обозначает девочку, буква «М» обозначает мальчика):
МДДМД
Тогда им необходимо выполнить 4 обмена. Запишем расстановку после каждого обмена, выделив жирным шрифтом пару, которая поменялась местами.
ДМДМД
ДМДДМ
ДДМДМ
ДДДММ
В этой задаче вам необходимо определить минимальное число обменов для следующих пяти первоначальных расстановок:
МДММДМД
Во второй расстановке сначала стоит 7 мальчиков, потом 8 девочек.
В третьей расстановке стоит 10 мальчиков, 10 девочек, 10 мальчиков, 10 девочек, 10 мальчиков, 10 девочек. Всего 60 танцоров.
В четвёртой расстановке 1 мальчик, 1 девочка, 2 мальчика, 2 девочки, 3 мальчика, 3 девочки, 4 мальчика, 4 девочки, 5 мальчиков, 5 девочек, 6 мальчиков, 6 девочек. Всего 42 танцора.
В пятой расстановке мальчики и девочки чередуются, всего 80 танцоров.
ответом на эту задачу является пять целых чисел, записанных в пяти отдельных строках, по одному числу в строке. ответы на расстановки должны быть записаны в том же порядке, в котором они приведены в условии. Если вы не можете найти ответ для какой-то расстановки, напишите в качестве ответа любое число.
Для выполнения вычислений вы можете пользоваться компьютером (калькулятором, электронной таблицей, средой программирования).
Сдать решение
одномерные, просто как синтаксис
type
mas1=array[1,10] as interger
interger это целое число, оно имеет размерность 1 байт
значит от 1 до 10, итого 10 байт памяти будет выделено под массив mas1
eсли пишу mas1[3] то обращусь к 3 элементу массива
массовый присваивает в паскале нет, только по очереди или всеми константами на старте, при инициализации
есть еще двух, трех и прочие многодетные массивы, например для определения координат на плоскости
такие дела, пиши
program First_program;
var i: longint;
begin for i := 15 to 35 do begin if(i mod 2 = 0) then write(i, ' ') end;end.
Вторая программа:
program Second_program;
var i, h, g: integer; k: string;
begin k := ''; for i := 1 to 20 do if i mod 2 = 0 then write(i, ' '); writeln; for i := 20 to 30 do if odd(i) then k := k + i + ','; g := length(k); for i := g downto g - 1 do if (k[i] = ',') then delete(k, i, 1); write(k)end.
Третья программа:
program Third_program;
var i, sum, proz: integer;
begin sum := 0; proz := 1; for i := 1 to 10 do if (i mod 2 = 0) then sum := sum + i else proz := proz * i; writeln(sum); write(proz);end.
Четвертая программа:
program Fourth_program;
var i: longint; k: integer;
begin k := 0; for i := 10 to 99 do if (i mod 2 = 0) and (i mod 3 = 0) then k := k + i; write(k)end.