На складе хранятся коробки с различной техникой, каждая коробка имеет четырехзначный уникальный серийный номер. Разновидности техники:
T – телевизоры
V - видеомагнитофоны
R – радио
F – вентиляторы.
Склад позволяет хранить до N рядов коробок высотой не более M коробок.
Пример склада из 6-ти рядов высотой не более 4 коробок:
[0008,T]
[0007,T]
[0002,T] [0006,T] [0011,T] [0014,T]
[0001,T] [0005,T] [0010,T] [0013,T]
Поступление и расход техники подчиняется следующим правилам:
операции выполняются только над одной коробкой;
взять можно только верхнюю коробку из ряда;
поставить коробку можно на любой незанятый ряд, либо на верхнюю коробку непустого ряда (дополнительные ограничения смотрите в индивидуальных заданиях).
Запрещается создавать коробки, не принадлежащие складу и хранить их вне склада. Массивы коробок и массивы указателей на коробки не создавать. память под коробки должна выделяться динамически.
Режим заполнения склада - startFillingWarehouse(0);
Создать первоначальное состояние склада на основе исходных данных. Исходные данные соответствуют складу, в котором коробки хранятся в беспорядке, т.е. в одном ряду могут находиться коробки с различной техникой (ставить в один ряд коробки с разной техникой разрешается).
После заполнения склада напечатать его «изображение» - showWarehouse();
Режим переноса коробок - startBoxTransferring (0, 0, 0, 0, aTV | aVCR | aRadio | aFan, 0);
Перевернуть коробки в каждом ряду, т.е. поменять местами нижнюю коробку с верхней и т.д. Коробки, не должны храниться вне склада, их можно только переставлять по одной внутри склада.
Если невозможно переставить коробки, напечатать сообщение «no solution»; иначе напечатать изображение склада - showWarehouse();
Режим очистки склада - startEmptyingWarehouse();
Изъять из склада все коробки и уничтожить их.
После очистки склада напечатать его «изображение» - showWarehouse();
Формат входных данных:
[N] [M]
[крайний левый вертикальный ряд]
[промежуточный вертикальный ряд]
[крайний правый вертикальный ряд]
N – кол-во рядов, целое число [1, 10]
M – кол-во коробок в ряду, целое число [1, 10]
Дан код, нужно его переделать и совместить с файлом lib, или же Вы можете написать свой код, как Вам будет удобнее)
var a: string;
i: integer;
begin
readln(a);
for i := 1 to length(a) do
if (a[i] <> UpCase(a[i])) then
write(a[i], ' ');
end.
b)
var a: string;
i, p: integer;
q: boolean;
begin
readln(a);
for p := 0 to 9 do
for i := 1 to length(a) do
if (a[i] = inttostr(p)) then
q := true;
writeln(q);
end.
c)
var a: string;
i, p, u: integer;
o: array [0..5] of char;
begin
readln(a);
o[0] := '('; o[1] := ')'; o[2] := '{'; o[3] := '}'; o[4] := '['; o[5] := ']';
for p := 0 to 5 do
for i := 1 to length(a) do
if (a[i] = o[p]) then
u := u + 1;
writeln(u);
end.
d)
var a: string;
i, p: integer;
o: array [0..7] of char;
begin
readln(a);
o[0] := '('; o[1] := ')'; o[2] := '?'; o[3] := '!'; o[4] := '"'; o[5] := '.'; o[6] := ','; o[7] := ',';
for i := 1 to length(a) do
for p := 0 to 7 do
if (a[i] = o[p]) then
writeln(a[i]);
end.
Ну вот:) О, мой мозг, как же тебе досталось! ~_~
var a:string;
i, o: Integer;
p: Real;
begin
readln(o);
a := inttostr(o);
for i := 1 to length(a) do
p := p + strtoint(a[i]);
if (sqr(o) = p*p*p) then writeln('true')
else writeln('false');
end.
2)
var a:string;
i, o, p: Integer;
begin
readln(o);
a := inttostr(o);
for i := 1 to length(a) do
p := p + strtoint(a[i]);
if (p mod 3 = 0) then writeln('true')
else writeln('false');
end.
3)
var a, b, c: real;
begin
readln(a, b, c);
if ((a = b) and (b = c)) then writeln('true')
else writeln('false');
end.
Всё проверено, удачи:)