0986 - Numarare7
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>
- 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>