Составьте программу ,которая заполняет массив b[1..15 ] случайными целыми числами в диапозоне от 1 до 20 и выводит все тройки элементов , строго по возрастанию.

vmailiki14 vmailiki14    1   18.08.2019 22:10    0

Ответы
romanres7ov romanres7ov  05.10.2020 03:33
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
ПОКАЗАТЬ ОТВЕТЫ
Rostik559 Rostik559  05.10.2020 03:33
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика