0617 - Piese

De la Universitas MediaWiki
Versiunea din 2 iunie 2024 17:17, autor: Benzar Ioan (discuție | contribuții) (Pagină nouă: == Cerința == Într-un tărâm îndepărtat, un inginer auto trebuie să organizeze piese de schimb într-o fabrică. Piesele sunt aranjate într-o matrice pătratică, iar fiecare celulă a matricei reprezintă un tip de piesă. Inginerul trebuie să genereze această matrice și să afișeze piesele în ordinea dorită. == Date de intrare == Programul citește de la tastatură: Un număr întreg n reprezentând dimensiunea matricei pătratice (n x n). == Date de ieșire =...)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)

Cerința

Într-un tărâm îndepărtat, un inginer auto trebuie să organizeze piese de schimb într-o fabrică. Piesele sunt aranjate într-o matrice pătratică, iar fiecare celulă a matricei reprezintă un tip de piesă. Inginerul trebuie să genereze această matrice și să afișeze piesele în ordinea dorită.

Date de intrare

Programul citește de la tastatură:

Un număr întreg n reprezentând dimensiunea matricei pătratice (n x n).

Date de ieșire

Pe ecran se va afișa matricea generată, fiecare rând al matricei fiind pe o linie separată.

Restricții și precizări

  • 1 ⩽ n ⩽ 1000

Valorile din matrice sunt numere întregi generate automat în intervalul [0, 10]

Exemplu 1

Intrare

3

Iesire

8 3 4
1 5 4
3 1 0

Exemplu 2

Intrare

0

Iesire

Datele de intrare nu corespund restricțiilor impuse.

Rezolvare

import random

def citeste_dimensiune():
    try:
        n = int(input("Introduceți dimensiunea matricii pătratice (n): "))
        return n
    except ValueError:
        return None

def valideaza_dimensiune(n):
    return 1 <= n <= 100

def genereaza_matrice(n):
    matrice = []
    for i in range(n):
        rand = [random.randint(-1000, 1000) for _ in range(n)]
        matrice.append(rand)
    return matrice

def afiseaza_matrice(matrice):
    for rand in matrice:
        print(" ".join(map(str, rand)))

def main():
    n = citeste_dimensiune()
    
    if n is None or not valideaza_dimensiune(n):
        print("Datele de intrare nu corespund restricțiilor impuse.")
        return
    
    print("Datele de intrare corespund restricțiilor impuse.")
    matrice = genereaza_matrice(n)
    afiseaza_matrice(matrice)

if __name__ == "__main__":
    main()