На ленте задано какое-то количество меток. Получить остаток от целочисленного деления количества клеток на 3. Каретка под первым символом массива меток.
Сначала массив Dat заполняется числами 2, 8, 6, ..., 7. Затем производится поиск максимума среди Dat[1], Dat[8..12] (стандартный алгоритм: в m хранится текущий максимум, в month – номер месяца, в котором этот максимум впервые реализуется. Перед циклом m = Dat[1], month = 1, в цикле если элемент массива больше текущего максимума, то текущий максимум и номер месяца перезаписываются). Наконец, выводится month – номер месяца, в котором впервые количество детских праздников достигает максимума.
Максимальное значение равно 8, впервые встречается среди Dat[1], Dat[8..12] в Dat[9].
//Pascal var A: array[1..10] of integer; i, Count: byte; sum: integer; begin randomize; writeln('Сгенерированный массив'); for i := 1 to 10 do begin A[i] := random(8)-3; if A[i] < 0 then sum := sum + A[i]; write(A[i],' '); end; writeln; writeln('Сумма отрицательных элементов = ', sum); writeln; writeln('Измененный массив'); for i := 1 to 10 do begin if A[i] >= 0 then begin A[i] := 0; Count := Count + 1; end; write(A[i], ' '); end; writeln; writeln('Количество нулевых элементов = ', Count); end.
Затем производится поиск максимума среди Dat[1], Dat[8..12] (стандартный алгоритм: в m хранится текущий максимум, в month – номер месяца, в котором этот максимум впервые реализуется. Перед циклом m = Dat[1], month = 1, в цикле если элемент массива больше текущего максимума, то текущий максимум и номер месяца перезаписываются).
Наконец, выводится month – номер месяца, в котором впервые количество детских праздников достигает максимума.
Максимальное значение равно 8, впервые встречается среди Dat[1], Dat[8..12] в Dat[9].
ответ: 9.
var
A: array[1..10] of integer;
i, Count: byte;
sum: integer;
begin
randomize;
writeln('Сгенерированный массив');
for i := 1 to 10 do
begin
A[i] := random(8)-3;
if A[i] < 0 then
sum := sum + A[i];
write(A[i],' ');
end;
writeln;
writeln('Сумма отрицательных элементов = ', sum);
writeln;
writeln('Измененный массив');
for i := 1 to 10 do
begin
if A[i] >= 0 then
begin
A[i] := 0;
Count := Count + 1;
end;
write(A[i], ' ');
end;
writeln;
writeln('Количество нулевых элементов = ', Count);
end.