0228
Cerința[edit | edit source]
Scrieţi un program care citeşte de la tastatură două numere naturale n şi m şi construieşte în memorie o matrice cu n linii şi m coloane care conţine numerele naturale de la 1 la m*n, dispuse astfel:
- - prima linie conţine numerele de la 1 la m, ordonate crescător;
- - a doua linie conţine numerele de la m+1 la 2*m, ordonate descrescător;
- - a treia linie conţine numerele de la 2*m+1 la 3*m, ordonate crescător;
- -a patra linie conţine numerele de la 3*m+1 la 4*m, ordonate descrescător;
- etc.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele n şi m.
Date de ieșire[edit | edit source]
Programul afișează pe ecran matricea construită, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.
Restricții și precizări[edit | edit source]
- 3≤n,m≤15
Exemplu 1[edit | edit source]
- Intrare
- 4 5
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 1 2 3 4 5
- 10 9 8 7 6
- 11 12 13 14 15
- 20 19 18 17 16
Exemplu 2[edit | edit source]
- Intrare
- 1
- 67
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 0228 Gen Mat 15
def verificare_restrictii(nr_linii, nr_coloane):
if 3 <= nr_linii <= 15 and 3 <= nr_coloane <= 15: return True else: return False
def genmat15(nr_linii, nr_coloane):
matrice = []
for i in range(0, nr_linii): linie = [] for j in range(0, nr_coloane): linie.append(0)
matrice.append(linie) valoare = 1 for linie in range(0, nr_linii): if linie % 2 == 0: for coloana in range(0, nr_coloane): matrice[linie][coloana] = valoare valoare += 1 else: for coloana in range(nr_coloane-1, -1, -1): matrice[linie][coloana] = valoare valoare += 1
for linie in matrice: for element in linie: print(element, end=" ") print()
if __name__ == '__main__':
numar_linii = int(input("Introduceti numarul n ")) numar_coloane = int(input("Introduceti numarul m ")) if verificare_restrictii(numar_linii, numar_coloane): print("Datele de intrare corespund restrictiilor impuse.") genmat15(numar_linii, numar_coloane) else: print("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>