0553 - PozMinMax

From Bitnami MediaWiki
Revision as of 17:34, 14 March 2023 by Nagy Lenard (talk | contribs)

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>

  1. 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>