Massiv Çıxışı 4#8956

Massiv Çıxışı 4 (Həll təhlili)

Giriş ardıcıllığını massivə oxuyuruq. Mənfi ədədlərin sayını hesablayırıq. Əgər mənfi ədəd yoxdursa (onların sayı -a bərabərdir), "NO" çap edirik. Əks halda isə əvvəlcə mənfi ədədlərin sayını, sonra isə özlərini tərs qaydada çap edirik.

Alqoritmin reallaşdırılması

Ardıcıllığı saxlamaq üçün massivini elan edirik.

int m[101];

Giriş məlumatlarını oxuyuruq.

scanf("%d", &n);
for (i = 0; i < n; i++)
  scanf("%d", &m[i]);

Mənfi ədədlərin sayını dəyişənində hesablayırıq.

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

Əgər massivdə mənfi ədəd yoxdursa, "NO" çap edirik.

if (cnt == 0)
  printf("NO\n");
else
{

Mənfi ədədlərin sayını çap edirik.

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

Mənfi ədədləri tərs qaydada çap edirik.

  for (i = n - 1; i >= 0; i--)
    if (m[i] < 0) printf("%d ", m[i]);
  printf("\n");
}

Python reallaşdırılması

Giriş məlumatlarını oxuyuruq.

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

Yalnız mənfi ədədləri saxlayan negatives siyahısı yaradacağıq.

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

Əgər siyahıda mənfi ədəd yoxdursa, "NO" çap edirik.

if not negatives:
  print("NO")
else:

Əks halda əvvəlcə mənfi ədədlərin sayını, sonra isə özlərini tərs qaydada çap edirik.

  print(len(negatives))
  print(*negatives[::-1])