На складе хранятся коробки с различной техникой, каждая коробка имеет четырехзначный уникальный серийный номер.Разновидности техники: 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] Сейчас скину код и пример решить
Var ar:array[1..s] of integer; n,m,i:integer; begin writeln('N'); readln(n); writeln('M'); readln(m); writeln('Array:'); for i:=1 to s do readln(ar[i]); writeln('First array:'); for i:=1 to s do begin write(ar[i]:4); if ar[i] div n<>0 then ar[i]:=ar[i]+m; end; writeln; writeln('Final array:'); for i:=1 to s do write(ar[i]:4); end.
Пример ввода: 3 3 1 2 3 4 5 Пример вывода: First array: 1 2 3 4 5 Final array: 1 2 6 7 8
function IsPositive(a:integer):boolean; begin result:=(a>-1); end;
procedure work; var min, max, count:integer; begin count:=0; min:=m[0]; max:=0; for i:=0 to 14 do begin if IsPositive(m[i]) then begin inc(count); if m[i]>max then max:=m[i]; if m[i]<min then min:=m[i]; end; end; writeln('MAX: ', max); writeln('MIN: ', min); writeln('Count: ', count); end;
begin for i:=0 to 14 do begin write('n: '); readln(m[i]); end;
Const
s=5;
Var
ar:array[1..s] of integer;
n,m,i:integer;
begin
writeln('N');
readln(n);
writeln('M');
readln(m);
writeln('Array:');
for i:=1 to s do
readln(ar[i]);
writeln('First array:');
for i:=1 to s do
begin
write(ar[i]:4);
if ar[i] div n<>0 then ar[i]:=ar[i]+m;
end;
writeln;
writeln('Final array:');
for i:=1 to s do
write(ar[i]:4);
end.
Пример ввода:
3
3
1
2
3
4
5
Пример вывода:
First array:
1 2 3 4 5
Final array:
1 2 6 7 8
//Блок-схема во вложении
var m:array [0..14] of integer; i:integer;
function IsPositive(a:integer):boolean;
begin
result:=(a>-1);
end;
procedure work;
var min, max, count:integer;
begin
count:=0;
min:=m[0];
max:=0;
for i:=0 to 14 do begin
if IsPositive(m[i]) then begin
inc(count);
if m[i]>max then max:=m[i];
if m[i]<min then min:=m[i];
end;
end;
writeln('MAX: ', max);
writeln('MIN: ', min);
writeln('Count: ', count);
end;
begin
for i:=0 to 14 do begin
write('n: ');
readln(m[i]);
end;
work;
readln;
end.