Дан перечень чисел. Выведите все элементы перечня, которые больше предшествующего элемента.
Дан список чисел. Выведите все элементы списка, которые больше предыдущего элемента. Входные данные Вводится список чисел. Все числа списка находятся на одной строке. Выходные данные Выведите ответ на задачку. Образцы входные данные 1 5 2 4 3 выходные данные 5 4
Задать свой вопрос2 ответа
Анна Брольницкая
Составим алгоритм отбора чисел, удовлетворяющих условию задания.
В "списке" выделяются пары примыкающих частей и в каждой паре проверяется, превышает ли значение второго элемента пары значение первого элемента. Если превышает, второй элемент значение второго элемента передается на выход. Для списка из n частей процесс повторятся n-1 раз.
В условии есть один неприятный момент. Количество элементов в перечне нигде не обозначено. Пока еще, увы, привычный большинству "школьный" паскаль не умеет работать с такими перечнями, а вот PascalABC.NET 3.3 может, поэтому используем его.
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программка не работает, обновите версию!
begin
ReadlnString.ToIntegers.Pairwise.Where(t-gt;t[1]gt;t[0]).Select(t-gt;t[1]).Println
end.
Итог
1 5 2 4 3
5 4
В "списке" выделяются пары примыкающих частей и в каждой паре проверяется, превышает ли значение второго элемента пары значение первого элемента. Если превышает, второй элемент значение второго элемента передается на выход. Для списка из n частей процесс повторятся n-1 раз.
В условии есть один неприятный момент. Количество элементов в перечне нигде не обозначено. Пока еще, увы, привычный большинству "школьный" паскаль не умеет работать с такими перечнями, а вот PascalABC.NET 3.3 может, поэтому используем его.
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программка не работает, обновите версию!
begin
ReadlnString.ToIntegers.Pairwise.Where(t-gt;t[1]gt;t[0]).Select(t-gt;t[1]).Println
end.
Итог
1 5 2 4 3
5 4
Осмачкин Игорь
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]gt;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]gt;a[i-1] then write(a[i],' ');
end.
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]gt;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]gt;a[i-1] then write(a[i],' ');
end.
Nadezhda Gorlenkova
Все великолепно, но в образце входных данных НЕТ операции ввода n !
Милана Ляпинова
Основная "фишка" задачки не в сравнении соседних частей, а в разборе входной строчки.
Даниил Тицкий
Можно и по иному записать 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],' ');
Дарья
Либо так можно записать. var b:=ReadString.ToIntegers; for var i:=1 to b.Length-1 do if b[i]>b[i-1] then write(b[i],' '); Упражняться можно длинно.
Егор Матвейченко
Если Вы "ушли" на способности PascalABC.NET 3.3 (ToIntegers), какой смысл остальное делать в турбопаскалевском стиле?
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов