Напишите, пожалуйста, программу ** Pascal. Дан одномерный массив. Определить, могут ли...

0 голосов

Напишите, пожалуйста, программу на Pascal.
Дан одномерный массив. Определить, могут ли его элементы образовать возрастающую последовательность после удаления одного из элементов.


спросил от Начинающий (161 баллов) в категории Информатика
оставил комментарий от Супер Кандидат Наук (38.6k баллов)

Можно ли переставлять элементы массива?

оставил комментарий от Начинающий (161 баллов)

Да, конечно)

оставил комментарий от Супер Кандидат Наук (38.6k баллов)

Тогда всякий массив можно представить как возрастающую последовательность.

оставил комментарий от Начинающий (161 баллов)

Нет, вы ошибаетесь. Например, есть массив из одних нулей. Как бы вы их не переставляли, последовательности не получится.

оставил комментарий от Супер Кандидат Наук (38.6k баллов)

Последовательность x называется монотонно возрастающей тогда и только тогда, когда из n<m следует, что x[n]<=x[m].

оставил комментарий от Начинающий (161 баллов)

Элементы массива можно переставлять в ходе решения, но массив в итоге должен остаться неизменным.

оставил комментарий от Супер Кандидат Наук (38.6k баллов)

Это, эмм, странно. Ладно, работаю.

1 Ответ
0 голосов
ответил от Супер Кандидат Наук (38.6k баллов)
 
Лучший ответ

//PascalABC.NET 3.2 сборка 1318

Const
  n=5;

  Var
  ar:array[1..n] of integer;
  CouOfDel,i:integer;
begin
for i:=1 to n do
readln(ar[i]);
for i:=2 to n do
  if ar[i-1]>ar[i] then inc(CouOfDel);
if CouOfDel>1 then writeln('Нет') else writeln('Да');
end.

Пример ввода:
1
2
2
1
3
Пример вывода:
Да

оставил комментарий от Начинающий (161 баллов)

Что делает команда inc(CouOfDel)?

оставил комментарий от Супер Кандидат Наук (38.6k баллов)

Увеличивает значение переменной CouOfDel на единицу.

оставил комментарий от Начинающий (161 баллов)

Спасибо)

оставил комментарий от Супер Кандидат Наук (38.6k баллов)

Не за что.

...