0078 - F Citire Matrice: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
Tag: visualeditor
Line 1: Line 1:
== Cerință ==
== Cerință ==
Scrieți definiția completă subprogramului citmat care citește de la tastatură dimensiunile și elementele unui tablou bidimensional.
Scrieți definiția completă subprogramului citmat care citește de la tastatură dimensiunile și elementele unui tablou bidimensional. Subprogramul citmat va avea trei parametri: a, un tablou bidimensional cu elemente întregi, '''n, m''', reprezenând numărul de linii, respectiv de coloane ale tabloului '''a'''.
Subprogramul citmat va avea trei parametri: a, un tablou bidimensional cu elemente întregi, n, m, reprezenând numărul de linii, respectiv de coloane ale tabloului a.


== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numărul a, n m.
Programul citește de la tastatură numărul '''a, n și m'''.
== Date de ieșire ==
== Date de ieșire ==
Programul va afișa pe ecran distanța dintre primul și ultimul bit setat al numărului citit.
Programul va afișa pe ecran matricea citită.
== Restricții de precizări ==
== Restricții de precizări ==
*1 ⩽ n ⩽ 2^64
*1 ⩽ '''n''' ⩽ 2^64
== Exemplul 1==
== Exemplul 1==
; Intrare
; Intrare
Line 17: Line 16:
: 1 2
: 1 2
: 3 4
: 3 4
<br>
== Exemplul 2 ==
== Exemplul 2 ==
; Intrare
; Intrare
Line 27: Line 25:
: 7 8 9
: 7 8 9
: 1 3 5
: 1 3 5
<br>
== Rezolvare ver. 1 ==
== Rezolvare ver. 1 ==
<syntaxhighlight lang="python" line="1" start="1">
def citmat():
    # Citirea numărului de rânduri și coloane ale matricei
    n, m = map(int, input("Introduceți numărul de rânduri și coloane ale matricei, separate prin spațiu: ").split())
    a = []
    # Citirea elementelor matricei pentru fiecare rând în parte
    for i in range(n):
        row = list(map(int, input("Introduceți elementele rândului {} separate prin spațiu: ".format(i+1)).split()))
        a.append(row)
    # Afișarea matricei citite
    print("Matricea citită:")
    for row in a:
        print(*row)
    return a, n, m
def validare(a, n, m):
    # Implementați aici logica de validare a matricei a
    # În exemplul de mai jos se verifică doar dacă numărul de elemente din fiecare rând este egal cu m
    for i in range(n):
        if len(a[i]) != m:
            return False
    return True
def main():
    a, n, m = citmat()
    if validare(a, n, m):
        print("Datele introduse corespund restricțiilor impuse.")
        # Continuați cu logica dvs. de prelucrare a matricei
    else:
        print("Datele introduse nu corespund restricțiilor impuse.")
        # Gestionarea cazului în care matricea nu este validă
if __name__ == "__main__":
    main()
</syntaxhighlight>

Revision as of 15:16, 26 April 2023

Cerință

Scrieți definiția completă subprogramului citmat care citește de la tastatură dimensiunile și elementele unui tablou bidimensional. Subprogramul citmat va avea trei parametri: a, un tablou bidimensional cu elemente întregi, n, m, reprezenând numărul de linii, respectiv de coloane ale tabloului a.

Date de intrare

Programul citește de la tastatură numărul a, n și m.

Date de ieșire

Programul va afișa pe ecran matricea citită.

Restricții de precizări

  • 1 ⩽ n ⩽ 2^64

Exemplul 1

Intrare
2 2
1 2, 3 4
Ieșire
Datele introduse corespund restricțiilor impuse.
1 2
3 4

Exemplul 2

Intrare
3 3
1 3 5, 7 8 9, 1 3 5
Ieșire
Datele introduse corespund restricțiilor impuse.
1 3 5
7 8 9
1 3 5

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1"> def citmat():

   # Citirea numărului de rânduri și coloane ale matricei
   n, m = map(int, input("Introduceți numărul de rânduri și coloane ale matricei, separate prin spațiu: ").split())
   a = []
   # Citirea elementelor matricei pentru fiecare rând în parte
   for i in range(n):
       row = list(map(int, input("Introduceți elementele rândului {} separate prin spațiu: ".format(i+1)).split()))
       a.append(row)
   # Afișarea matricei citite
   print("Matricea citită:")
   for row in a:
       print(*row)
   return a, n, m


def validare(a, n, m):

   # Implementați aici logica de validare a matricei a
   # În exemplul de mai jos se verifică doar dacă numărul de elemente din fiecare rând este egal cu m
   for i in range(n):
       if len(a[i]) != m:
           return False
   return True


def main():

   a, n, m = citmat()
   if validare(a, n, m):
       print("Datele introduse corespund restricțiilor impuse.")
       # Continuați cu logica dvs. de prelucrare a matricei
   else:
       print("Datele introduse nu corespund restricțiilor impuse.")
       # Gestionarea cazului în care matricea nu este validă


if __name__ == "__main__":

   main()


</syntaxhighlight>