0553 - PozMinMax: Difference between revisions
Nagy Lenard (talk | contribs) No edit summary |
|||
Line 11: | Line 11: | ||
== Restricţii şi precizări == | == Restricţii şi precizări == | ||
* 1 ⩽ '''n''' ⩽ 1.000 | * 1 ⩽ '''n''' ⩽ 1.000 | ||
* elementele vectorului vor fi mai mici decât '''1.000.000''' și vor fi indexate de la 1 la n | * elementele vectorului vor fi mai mici decât '''1.000.000''' și vor fi indexate de la 1 la '''n''' | ||
== Exemple == | == Exemple == |
Revision as of 17:34, 14 March 2023
Sursa: - PozMinMax
Cerinţa
Se citește n, apoi n numere naturale distincte, reprezentând elementele unui vector. Calculaţi indicele imin și indicele imax ai elementului cu valoarea minimă, respectiv cu valoarea maximă, din vectorul dat.
Date de intrare
Programul citește numărul n, apoi încă 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 va afișa cele două numere imin şi imax, separate printr-un singur 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 1.000.000 și vor fi indexate de la 1 la n
Exemple
Exemplul 1
- Intrare
- 5
- 8 7 9 2 5
- Ieșire
- Datele sunt introduse corect.
- 4 3
Exemplul 2
- Intrare
- 5
- -1 2 3 4 9
- Ieșire
- Datele nu corespund restricțiilor impuse.
Explicație la exemplul 2
- Problema spune că se citesc n numere naturale, așadar numerele negative nu sunt incluse.
Exemplul 3
- Intrare
- 12345
- Ieșire
- Datele nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line>
- 0547 Numarare6
def indicele_min_indicele_max_din_vector(vector, n):
minim = maxim = 0 for i in range(1, n): if vector[i] < vector[minim]: minim = i if vector[i] > vector[maxim]: maxim = i print(minim+1, maxim+1)
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 >= 1000000 or x < 0: 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() indicele_min_indicele_max_din_vector(vector, n)
</syntaxhighlight>