Parcurgerea matricelor oarecare: Diferență între versiuni

De la Universitas MediaWiki
Fără descriere a modificării
Fără descriere a modificării
 
(Nu s-au afișat 3 versiuni intermediare efectuate de același utilizator)
Linia 1: Linia 1:
{| class="wikitable sortable"
{| class="wikitable sortable"
|+
|+
!Înmulțirea a două matrici
!Denumire exercițiu
|-
|-
|1.Cerința
|[[0767 - Suma Pare2]]
|-
|-
|2.Rezolvare
|[[0658 - Suma Linii]]
|-
|-
|[[]]
|[[0659 - Suma Linii 1]]
|-
|-
|[[]]
|[[0666 - Nr Prime]]
|-
|-
|[[]]
|[[0770 - Perm Col]]
|-
|-
|[[]]
|[[0771 - Ord Lin]]
|-
|[[0773 - Max Ap 1]]
|-
|[[0772 - Max Ap]]
|-
|[[2807 - Matrice 10]]
|-
|[[0776 - Cnt Linii]]
|-
|[[0777 - Cnt Coloane]]
|-
|[[2825 - Chenar 2]]
|-
|[[2800 - Chenar 1]]
|-
|[[0778 - MChenar]]
|-
|[[0779 - Vecini Pari]]
|-
|[[0789 - Max 2 Ap]]
|-
|[[0804 - Col Egale]]
|-
|[[0768 - Suma Pare 3]]
|-
|[[0766 - Nr Pare]]
|-
|[[0662 - Sum El Pare]]
|-
|[[0769 - Ord Col]]
|-
|[[0751 - MCautare]]
|-
|[[1007 - Matrice 7]]
|-
|[[2810 - Inserare 1]]
|-
|[[0316 - Min Cols 2]]
|-
|[[0774 - Elim Linii]]
|-
|[[0775 - Elim Coloane]]
|-
|[[0785 - Elim Min Max]]
|-
|[[0796 - Eliminare 3]]
|-
|[[0788 - Oglindire]]
|-
|[[3120 - Simetrica Bac]]
|-
|[[0668 - Identice 1]]
|-
|[[0762 - Identice 2]]
|-
|[[0619 - Sort Lin]]
|-
|[[0620 - Sort Col]]
|-
|[[2873 - Sort Matrix Lin]]
|-
|[[2874 - Sort Matrix Col]]
|-
|[[0568 - Pod]]
|-
|[[0566 - Mese]]
|-
|[[4183 - Bac Eroziune]]
|-
|[[0763 - Matrice 3]]
|-
|[[0565 - Acoperire]]
|-
|[[2902 - Pavaj]]
|-
|[[0667 - Nr Prime 1]]
|-
|[[0191 - Max Mat]]
|-
|[[0314 - Col Zero]]
|-
|[[0669 - Lin Col]]
|-
|[[0635 - Vecini 1]]
|-
|[[1450 - Memory 003]]
|-
|[[0192 - Sum Col Max]]
|-
|[[1444 - Memory 001]]
|-
|[[1495 - Memory 004]]
|-
|[[0193 - Interschimbare Linii]]
|-
|[[3410 - Submatrix Sum Max]]
|-
|[[0224 - Rotire]]
|-
|[[0212 - Max Min Matrice]]
|-
|[[0220 - Prod Max]]
|-
|[[3389 - Colturi DR]]
|-
|[[0222 - Min Cols]]
|-
|[[0231 - Exista]]
|-
|[[1266 - Cauta Nr In Matrice]]
|-
|[[1527 - Zoom]]
|-
|[[1748 - Cursa]]
|-
|[[4051 - Lumina]]
|-
|[[3290 - Mat D3]]
|-
|[[3007 - Tort 1]]
|-
|[[1033 - Elicop]]
|-
|[[0732 - Robot 1]]
|-
|[[3299 - Mostenire 2]]
|-
|[[4243 - Mouse]]
|-
|[[2140 - Poartas]]
|-
|[[2353 - Padure]]
|-
|[[2359 - Cifre 13]]
|-
|[[2432 - Cruce]]
|-
|[[2451 - Mexitate]]
|-
|[[2607 - Pentagon]]
|-
|[[2898 - Nave]]
|-
|[[2961 - Deminare]]
|-
|[[3438 - Triunghi 5]]
|-
|[[3435 - Foto 1]]
|-
|[[3793 - Cort]]
|-
|[[3766 - Zid]]
|-
|[[4134 - Raza 1]]
|-
|[[4171 - Loop Over]]
|-
|[[4197 - AB]]
|}
|}
1.Cerința
Să se înmulțească următoarele matrici, cu proprietatea că X,Y ∈ N.
X = [ [12,7,3],          și                Y = [ [ 5, 8, 1, 2],
[4, 5, 6],                                      [ 6, 7, 3, 0],
[7, 8, 9]]                                      [4, 5, 9, 1]].
2.Rezolvare (date intrare)<syntaxhighlight lang="python3" line="1" start="1">
# 3x3 matrice
X = [[12,7,3],
    [4 ,5,6],
    [7 ,8,9]]
# 3x4 matrice
Y = [[5,8,1,2],
    [6,7,3,0],
    [4,5,9,1]]
# rezultatul este 3x4
rezultat = [[0,0,0,0],
        [0,0,0,0],
        [0,0,0,0]]
# itereaza liniile lui X
for i in range(len(X)):
  # itereaza coloanele lui Y
  for j in range(len(Y[0])):
      # itereaza liniile lui Y
      for k in range(len(Y)):
          rezultat[i][j] += X[i][k] * Y[k][j]
for r in rezultat:
  print(r)
</syntaxhighlight>Rezultat (date ieșire)<syntaxhighlight lang="python3">
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
</syntaxhighlight>

Versiunea curentă din 25 ianuarie 2023 20:11