0490 - AfisareMinMax: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
Line 7: Line 7:
== Date de ieșire ==  
== Date de ieșire ==  
Dacă datele sunt introduse corect, pe ecran se va afișa:  
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.".
"Datele sunt introduse corect.", apoi pe un rând nou va 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 ==
== Restricţii şi precizări ==

Revision as of 17:23, 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 va 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>

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