0078 - F Citire Matrice

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

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

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

  • 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

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