8956. Вывести массив 4

 

Дан массив из n целых чисел. Выведите только его отрицательные элементы, изменив их порядок на обратный.

 

Вход. Первая строка содержит число n (1 ≤ n ≤ 100). Во второй строке записаны n целых чисел, каждое из которых по модулю не превышает 100.

 

Выход. В первой строке выведите количество отрицательных элементов массива. Во второй строке выведите сами отрицательные элементы в обратном порядке. Если в массиве нет отрицательных элементов, выведите “NO”.

 

Пример входа 1

Пример выхода 1

7

-2 5 4 -3 7 -1 0

3

-1 -3 -2

 

 

Пример входа 2

Пример выхода 2

5

2 1 0 1 5

NO

 

 

РЕШЕНИЕ

массив

 

Анализ алгоритма

Читаем входную последовательность в массив. Подсчитываем количество отрицательных чисел. Если отрицательных чисел нет (их количество равно 0), выводим “NO”. В противном случае выводим сначала количество отрицательных чисел, а затем сами числа в обратном порядке.

 

Реализация алгоритма

Для хранения последовательности объявляем массив m.

 

int m[101];

 

Читаем входные данные.

 

scanf("%d", &n);

for (i = 0; i < n; i++)

  scanf("%d", &m[i]);

 

В переменной cnt подсчитаем количество отрицательных чисел.

 

cnt = 0;

for (i = 0; i < n; i++)

  if (m[i] < 0) cnt++;

 

Если в массиве нет отрицательных чисел, выводим “NO”.

 

if (cnt == 0)

  printf("NO\n");

else

{

 

Выводим количество отрицательных чисел.

 

  printf("%d\n", cnt);

 

Выводим отрицательные числа в обратном порядке.

 

  for (i = n - 1; i >= 0; i--)

    if (m[i] < 0) printf("%d ", m[i]);

  printf("\n");

}

 

Python реализация

Читаем входные данные.

 

n = int(input())

lst = list(map(int, input().split()))

 

Создадим список negatives, который содержит только отрицательные числа.

 

negatives = [x for x in lst if x < 0]

 

Если в списке нет отрицательных чисел, выводим “NO”.

 

if not negatives:

  print("NO")

else:

 

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

 

  print(len(negatives))

  print(*negatives[::-1])