0078 - F Citire Matrice: Difference between revisions

From Bitnami MediaWiki
No edit summary
 
(3 intermediate revisions by 2 users not shown)
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.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Programul va afișa pe ecran matricea citită. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
 
== Restricții de precizări ==
== Restricții de precizări ==
*1 ⩽ n ⩽ 2^64
*1 ⩽ '''n''' ⩽ 2^64
== Exemplul 1==
== Exemplul 1==
; Intrare
; Intrare
:  2 2
:  2 2
: 1 2, 3 4
: 1 2
: 3 4
; Ieșire
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: Datele introduse corespund restricțiilor impuse.
: 1 2
: 1 2
: 3 4
: 3 4
<br>
 
== Exemplul 2 ==
== Exemplul 2 ==
; Intrare
; Intrare
: 3 3
: 3 3
: 1 3 5, 7 8 9, 1 3 5
: 1 3 5
: 7 8 9
: 1 3 5
; Ieșire
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: Datele introduse corespund restricțiilor impuse.
Line 27: Line 30:
: 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>

Latest revision as of 12:00, 30 April 2023

Cerință[edit]

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[edit]

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

Date de ieșire[edit]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Programul va afișa pe ecran matricea citită. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări[edit]

  • 1 ⩽ n ⩽ 2^64

Exemplul 1[edit]

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

Exemplul 2[edit]

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[edit]

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