Составьте программу ,которая заполняет массив b[1..15 ] случайными целыми числами в диапозоне от 1 до 20 и выводит все тройки элементов , упорядоченные строго по возрастанию.
Составьте программу ,которая заполняет массив b[1..15 ] случайными целыми числами в диапозоне от 1 до 20 и выводит все тройки элементов , упорядоченные строго по возрастанию.
Ответ(ы) на вопрос:
Гость
program triples;
const
RAND_F = 1;
RAND_T = 20;
var
b: array[1..15] of integer;
t: array[1..3] of integer;
i, j, max, max_i, tmp: integer;
begin
randomize;
for i := 1 to 15 do
b[i] := random(RAND_T) + RAND_F;
i := 1;
while i < 15 do
begin
t[1] := b[i];
t[2] := b[i+1];
t[3] := b[i+2];
max := t[1];
for j := 2 to 3 do
if t[j] > max then
begin
max := t[j];
max_i := j;
end;
tmp := t[3];
t[3] := max;
t[max_i] := tmp;
if t[2] < t[1] then
begin
tmp := t[2];
t[2] := t[1];
t[1] := tmp;
end;
write('Числа ', i, '-', i + 2, ': ');
writeln(t[1], ' ', t[2], ' ', t[3]);
i := i + 3;
end;
end.
Гость
PascalABC.NET 3.2, сборка 1374 от 10.01.2017
Внимание! Если программа не работает, обновите версию!
begin
var n:=15;
var a:=ArrRandom(n,1,20); a.Println;
var i:=0;
repeat
for var j:=i+1 to n-2 do begin
if (a[j]>a[i]) and (a[j+1]>a[j]) then begin
Println(a[i],a[j],a[j+1]);
i+=1
end
else begin i+=1; break end
end
until i>=n-3
end.
Пример
2 8 17 11 16 13 15 7 12 9 3 10 15 19 20
2 8 17
3 10 15
10 15 19
15 19 20
Не нашли ответ?
Похожие вопросы