0490 - AfisareMinMax: Difference between revisions
Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/490/afisareminmax - AfisareMinMax] ---- == Cerinţa == Se citește un vector cu '''n''' elemente, numere naturale distincte. Să se afișeze elementele cuprinse între elementul cu valoarea minimă și cel cu valoare maximă din vector, inclusiv acestea. == Date de intrare == Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere naturale, reprezentând elementele vectorului. == Date de ieșire == Dacă datele sun... |
No edit summary |
||
Line 33: | Line 33: | ||
def elem_cuprinse_intre_elem_minim_maxim(vector, n): | def elem_cuprinse_intre_elem_minim_maxim(vector, n): | ||
minim = 100000 | minim = 100000 | ||
maxim = | maxim = 0 | ||
poz_min = 0 | poz_min = 0 | ||
poz_max = 0 | poz_max = 0 |
Revision as of 17:15, 15 March 2023
Sursa: - AfisareMinMax
Cerinţa
Se citește un vector cu n elemente, numere naturale distincte. Să se afișeze elementele cuprinse între elementul cu valoarea minimă și cel cu valoare maximă din vector, inclusiv acestea.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, 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 vor afișa elementele cerute, separate prin exact un spațiu. În cazul contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
- 1 ⩽ n ⩽ 1.000
- elementele vectorului vor fi mai mici decât 100.000
Exemple
Exemplul 1
- Intrare
- 5
- 7 9 6 2 8
- Ieșire
- Datele sunt introduse corect.
- 9 6 2
Exemplul 2
- Intrare
- 1234
- Ieșire
- Datele nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line>
- 0490 AfisareMinMax
def elem_cuprinse_intre_elem_minim_maxim(vector, n):
minim = 100000 maxim = 0 poz_min = 0 poz_max = 0 for i in range(n): if vector[i] > maxim: maxim = vector[i] poz_max = i if vector[i] < minim: minim = vector[i] poz_min = i if poz_min > poz_max: aux = poz_min poz_min = poz_max poz_max = aux for i in range(poz_min, poz_max + 1): print(vector[i], end=' ')
def citire_conform_restrictiilor():
n = int(input()) if n < 1 or n > 1000: print("Datele nu corespund restricțiilor impuse.") exit() vector = list(map(int, input().split())) for x in vector: if x >= 100000: 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, n
if __name__ == '__main__':
vector, n = citire_conform_restrictiilor() elem_cuprinse_intre_elem_minim_maxim(vector, n)
</syntaxhighlight>