0078 - F Citire Matrice: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: <nowiki>== Cerință ==</nowiki> 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. <nowiki>== Date de intrare ==</nowiki> Programul citește de la tastatură numărul <code>a, n m</code>. <nowiki>== Date de ieșire ==...
 
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<nowiki>== Cerință ==</nowiki>
== 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'''.


Scrieți definiția completă subprogramului citmat care citește de la tastatură dimensiunile și elementele unui tablou bidimensional.
== Date de intrare ==
Programul citește de la tastatură numărul '''a, n  și m'''.
== Date de ieșire ==
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."


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.
== Restricții de precizări ==
*1 &les; '''n''' &les; 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


<nowiki>== Date de intrare ==</nowiki>
== 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


Programul citește de la tastatură numărul <code>a, n m</code>.


<nowiki>== Date de ieșire ==</nowiki>


Programul va afișa pe ecran distanța dintre primul și ultimul bit setat al numărului citit.
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


<nowiki>== Restricții de precizări ==</nowiki>


<nowiki>*</nowiki>1 <nowiki>&</nowiki>les; n <nowiki>&</nowiki>les; 2^64
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ă


<nowiki>== Exemplul 1==</nowiki>


<nowiki>;</nowiki> Intrare
if __name__ == "__main__":
    main()


<nowiki>:</nowiki>  2 2


<nowiki>:</nowiki> 1 2, 3 4
</syntaxhighlight>
 
<nowiki>;</nowiki> Ieșire
 
<nowiki>:</nowiki> Datele introduse corespund restricțiilor impuse.
 
<nowiki>:</nowiki> 1 2
 
<nowiki>:</nowiki> 3 4
 
<nowiki><br></nowiki>
 
<nowiki>== Exemplul 2 ==</nowiki>
 
<nowiki>;</nowiki> Intrare
 
<nowiki>:</nowiki> 3 3
 
<nowiki>:</nowiki> 1 3 5, 7 8 9, 1 3 5
 
<nowiki>;</nowiki> Ieșire
 
<nowiki>:</nowiki> Datele introduse corespund restricțiilor impuse.
 
<nowiki>:</nowiki> 1 3 5
 
<nowiki>:</nowiki> 7 8 9
 
<nowiki>:</nowiki> 1 3 5
 
<nowiki><br></nowiki>
 
<nowiki>== Rezolvare ver. 1 ==</nowiki>

Latest revision as of 12:00, 30 April 2023

Cerință[edit | edit source]

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

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

Date de ieșire[edit | edit source]

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

  • 1 ⩽ n ⩽ 2^64

Exemplul 1[edit | edit source]

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

Exemplul 2[edit | edit source]

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

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