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

Ответы

Ответ дал: srzontmp
0
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.

Ответ дал: Аноним
0
Все прекрасно, но в примере входных данных НЕТ операции ввода n !
Ответ дал: Аноним
0
Основная "фишка" задачи не в сравнении соседних элементов, а в разборе входной строки.
Ответ дал: srzontmp
0
Можно и по другому записать readln(s);
var a:=s.ToIntegers;
var n:=a.Length;
for i:=1 to n-1 do
if a[i]>a[i-1] then write(a[i],' ');
Ответ дал: srzontmp
0
Или так можно записать. var b:=ReadString.ToIntegers;
for var i:=1 to b.Length-1 do
if b[i]>b[i-1] then write(b[i],' '); Упражняться можно долго.
Ответ дал: Аноним
0
Если Вы "ушли" на возможности PascalABC.NET 3.3 (ToIntegers), какой смысл остальное делать в турбопаскалевском стиле?
Ответ дал: Аноним
0
Составим алгоритм отбора чисел, удовлетворяющих условию задания.
В "списке" выделяются пары соседних элементов и в каждой паре проверяется, превышает ли значение второго элемента пары значение первого элемента. Если превышает, второй элемент значение второго элемента передается на выход. Для списка из 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
Вас заинтересует