0494 - Constr1

From Bitnami MediaWiki
Revision as of 15:15, 23 March 2023 by Csatari Mălina (talk | contribs) (Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/494/constr1 0494 - Constr1] ---- == Cerinţa == Se dă un vector '''x''' cu '''n''' elemente, numere naturale. Să se construiască un alt vector, '''y''', cu '''n''' elemente, cu proprietatea că '''y[i]''' este egal cu suma elementelor din '''x''', cu excepția lui '''x[i]'''. == Date de intrare == Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere naturale, separate prin spaţii, reprezentând elementele vec...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursa: 0494 - Constr1


Cerinţa

Se dă un vector x cu n elemente, numere naturale. Să se construiască un alt vector, y, cu n elemente, cu proprietatea că y[i] este egal cu suma elementelor din x, cu excepția lui x[i].

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, 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 cele n elemente ale vectorului y, separate prin exact un spațiu. Î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 0 și 1.000

Exemple

Exemplul 1

Intrare
6
50 5 15 29 35 40
Ieșire
Datele sunt introduse corect.
124 169 159 145 139 134

Exemplul 2

Intrare
5
10 2 -3 4 5
Ieșire
Datele nu corespund restricțiilor impuse.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0494

def constr_vectorului_y(vector, n):

   y = [0] * n
   suma_elem_din_vector = sum(vector)
   for i in range(n):
       y[i] = suma_elem_din_vector - vector[i]
   for i in range(n):
       print(y[i], end=' ')


def citire_conform_restrictiilor():

   n = int(input())
   if n < 1 or n > 200:
       print("Datele nu corespund restricțiilor impuse.")
       exit()
   vector = list(map(int, input().split()))
   for x in vector:
       if x < 0 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, n


if __name__ == '__main__':

   vector, n = citire_conform_restrictiilor()
   constr_vectorului_y(vector, n)







</syntaxhighlight>