Дан список чисел. выведите все элементы списка, которые больше предыдущего элемента. входные данные вводится список чисел. все числа списка находятся на одной строке. выходные данные выведите ответ на . примеры входные данные 1 5 2 4 3 выходные данные 5 4

pupsik101010 pupsik101010    1   16.09.2019 23:40    16

Ответы
Officilskilegor Officilskilegor  07.10.2020 20:46
Const n=10;
var a: array[1..n] of integer;
    i: integer;
begin
  randomize;
  writeln('список:');
  for i:=1 to n do 
  begin
    a[i]:=random(-20,20);
    write(a[i],' ');
  end; 
  writeln;
  for i:=2 to n do 
    if a[i]>a[i-1] then write(a[i]:4);
end.

список:
-20 -20 -14 -18 20 12 -2 -6 -13 15 
 -14  20  15

Если ввод с клавиатуры:

var a: array of integer;
    i,n: integer;
begin
  write('n = ');  readln(n);
  setlength(a,n+1);
  for i:=1 to n do read(a[i]);
  for i:=2 to n do 
  if a[i]>a[i-1] then write(a[i],' ');
end.
ПОКАЗАТЬ ОТВЕТЫ
anton12535 anton12535  07.10.2020 20:46
Составим алгоритм отбора чисел, удовлетворяющих условию задания.
В "списке" выделяются пары соседних элементов и в каждой паре проверяется, превышает ли значение второго элемента пары значение первого элемента. Если превышает, второй элемент значение второго элемента передается на выход. Для списка из n элементов процесс повторятся n-1 раз.

В условии есть один неприятный момент. Количество элементов в списке нигде не указано. Пока еще, увы, привычный большинству "школьный" паскаль не умеет работать с такими списками, а вот PascalABC.NET 3.3 может, поэтому используем его.

// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  ReadlnString.ToIntegers.Pairwise.Where(t->t[1]>t[0]).Select(t->t[1]).Println
end.

Результат
1 5 2 4 3
5 4
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика