Вмассиве состоящем из 10 случайных элементов в интервале [-15; 15],определить: -последний максимум -минимум среди положительных элементов -количество max элементов.pascal abc,9 класс
Var a: array [1..10] of integer; max, min, k, i: integer;
begin max := -15; k := 0; min := 0; for i := 1 to 10 do begin a[i] := random(30) - 15; write(a[i], ' '); if (a[i] >= max) then begin max := a[i]; inc(k); end else k := 0; if (a[i] < min) and (a[i] >= 0) then min := a[i]; end; writeln; writeln(max, ' - максимальный элемент; ', k, ' - количество максимумов; ', min, ' - минимальный положительный элемент.'); end.
Рекомендую для задачи взять принцип работы почтовой службы, там сортировка имеет критически важное значение.
Например: В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу). Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.). Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.
Муравей может оказаться в точках из диапазона от -60 до 60 с ЧЕТНЫМИ значениями. Т.е. это могут быть точки -60, -58, -56, -54 ..., 0, 2, ..., 58, 60 Если муравей будет ползти не меняя направления влево или вправо по координатной прямой, то он окажется в точках -60 или 60 соответственно. Если направление будет меняться, то одни и те же единичные отрезки он будет проползать по 2 (4, 6, 8 и т.д.) раз. Если x - количество единичных отрезков, которые муравей прополз 1 раз, а y - количество отрезков, которые муравей прополз 2 раза, то можно записать x+2y=60. Т.к. 60 и 2y - четные, то и x - четное.
a: array [1..10] of integer;
max, min, k, i: integer;
begin
max := -15;
k := 0;
min := 0;
for i := 1 to 10 do begin
a[i] := random(30) - 15;
write(a[i], ' ');
if (a[i] >= max) then begin
max := a[i];
inc(k);
end else
k := 0;
if (a[i] < min) and (a[i] >= 0) then
min := a[i];
end;
writeln;
writeln(max, ' - максимальный элемент; ', k, ' - количество максимумов; ', min, ' - минимальный положительный элемент.');
end.