0986 - Numarare7

From Bitnami MediaWiki
Revision as of 18:05, 15 March 2023 by Csatari Mălina (talk | contribs) (Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/986/numarare7 - Numarare7] ---- == Cerinţa == Se dă un șir cu '''n''' elemente, '''numere reale'''. Să se determine câte dintre elemente se află în afara intervalului închis determinat de primul și ultimul element. == Date de intrare == Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere reale, reprezentând elementele vectorului. == Date de ieșire == Dacă datele sunt introduse corect, pe ecran se va...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursa: - Numarare7


Cerinţa

Se dă un șir cu n elemente, numere reale. Să se determine câte dintre elemente se află în afara intervalului închis determinat de primul și ultimul element.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere reale, reprezentând elementele vectorului.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi pe un rând nou va afișa numărul C, reprezentând valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".

Restricţii şi precizări

  • 1 ⩽ n ⩽ 200
  • elementele vectorului vor fi cuprinse între -1000 și 1000

Exemple

Exemplul 1

Intrare
6
2 0.5 4 -1 -8 -3
Ieșire
Datele sunt introduse corect.
2

Explicație exemplul 1

Elementele șirului aflate în afara intervalului [-3,2] sunt: 4 și -8.

Exemplul 2

Intrare
201
Ieșire
Datele nu corespund restricțiilor impuse.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0986 Numarare7

def nr_elem_aflate_inafara_interv_inchis_primul_ultimul(vector):

   temp1 = vector[0]
   temp2 = vector[-1]
   if temp2 < temp1:
       temp1, temp2 = temp2, temp1
   C = sum(1 for elem in vector if elem > temp2 or elem < temp1)
   print(C)


def citire_conform_restrictiilor():

   n = int(input())
   if n < 1 or n > 200:
       print("Datele nu corespund restricțiilor impuse.")
       exit()
   vector = list(map(float, input().split()))
   for x in vector:
       if x < -1000 or x > 1000:
           print("Datele nu corespund restricțiilor impuse.")
           exit()
   if n != len(vector):
       print("Datele nu corespund restricțiilor impuse.")
       exit()
   print("Datele sunt introduse corect.")
   return vector


if __name__ == '__main__':

   vector = citire_conform_restrictiilor()
   nr_elem_aflate_inafara_interv_inchis_primul_ultimul(vector)





</syntaxhighlight>