From 539f1a7b8c9a68722f7a1fe86ab352245f0386bf Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Wed, 12 Mar 2025 09:26:17 +0100 Subject: [PATCH] Opzione 5 & 6 --- Program.cs | 148 +++++++++++++++--- bin/Debug/net9.0/matrix_3.dll | Bin 9728 -> 11264 bytes bin/Debug/net9.0/matrix_3.pdb | Bin 12020 -> 13400 bytes obj/Debug/net9.0/matrix_3.AssemblyInfo.cs | 2 +- .../net9.0/matrix_3.AssemblyInfoInputs.cache | 2 +- obj/Debug/net9.0/matrix_3.dll | Bin 9728 -> 11264 bytes obj/Debug/net9.0/matrix_3.pdb | Bin 12020 -> 13400 bytes obj/Debug/net9.0/ref/matrix_3.dll | Bin 5632 -> 5632 bytes obj/Debug/net9.0/refint/matrix_3.dll | Bin 5632 -> 5632 bytes 9 files changed, 127 insertions(+), 25 deletions(-) diff --git a/Program.cs b/Program.cs index 7a8812c..5691651 100644 --- a/Program.cs +++ b/Program.cs @@ -8,7 +8,7 @@ class Program { static void Menu() { Console.Clear(); int scelta; - int[,] matrix = null; + int[,] matrix1 = null, matrix2 = null; int[] array = null; do { @@ -18,9 +18,9 @@ class Program { Console.WriteLine("2. Somma diagonale secondaria"); Console.WriteLine("3. Media diagonale secondaria"); Console.WriteLine("4. Prodotto diagonale secondaria"); - Console.WriteLine("6. Valore minimo e massimo diagonale principale"); - Console.WriteLine("7. Trova zeri sulla diagonale principale"); - Console.WriteLine("8. Cerca sulla diagonale principale"); + Console.WriteLine("5. Valore minimo e massimo diagonale secondaria"); + Console.WriteLine("6. Somma 2 matrici"); + Console.WriteLine("7. MOstra matrice trasposta"); Console.WriteLine("0. Esci"); Console.Write("Scelta: "); scelta = Convert.ToInt32(Console.ReadLine()); @@ -30,16 +30,16 @@ class Program { break; case 1: Console.Clear(); - matrix = CreaMatrice(); + matrix1 = CreaMatriceQuadrata(); Console.Clear(); Console.WriteLine("La matrice creata è la seguente:"); - MostraMatrice(matrix); + MostraMatrice(matrix1); Pausa(); break; case 2: Console.Clear(); - if (matrix != null) { - Console.WriteLine($"La somma degli elementi della diagonale principale è {SommaMatriceDiagonale2(matrix)}"); + if (matrix1 != null) { + Console.WriteLine($"La somma degli elementi della diagonale principale è {SommaMatriceDiagonale2(matrix1)}"); } else { Console.WriteLine("È necessario creare la matrice prima di calcolare la somma della diagonale principale."); @@ -48,8 +48,8 @@ class Program { break; case 3: Console.Clear(); - if (matrix != null) { - Console.WriteLine($"La media degli elementi della diagonale principale è {SommaMatriceDiagonale2(matrix) / matrix.GetLength(0)}"); + if (matrix1 != null) { + Console.WriteLine($"La media degli elementi della diagonale principale è {SommaMatriceDiagonale2(matrix1) / matrix1.GetLength(0)}"); } else { Console.WriteLine("È necessario creare la matrice prima di calcolare la media della diagonale principale."); @@ -58,8 +58,8 @@ class Program { break; case 4: Console.Clear(); - if (matrix != null) { - Console.WriteLine($"Il prodotto degli elementi della diagonale principale è {ProdottoMatriceDiagonale2(matrix)}"); + if (matrix1 != null) { + Console.WriteLine($"Il prodotto degli elementi della diagonale principale è {ProdottoMatriceDiagonale2(matrix1)}"); } else { Console.WriteLine("È necessario creare la matrice prima di calcolare il prodotto della diagonale principale."); @@ -68,8 +68,9 @@ class Program { break; case 5: Console.Clear(); - if (matrix != null) { - //Console.WriteLine($"Il prodotto degli elementi della diagonale principale è {ProdottoMatriceDiagonale(matrix)}"); + if (matrix1 != null) { + MostraMinimoMassimoMatrice(MinimoMassimoMatriceDiagonale2(matrix1, 0), 0); + MostraMinimoMassimoMatrice(MinimoMassimoMatriceDiagonale2(matrix1, 1), 1); } else { Console.WriteLine("È necessario creare la matrice prima di calcolare il prodotto della diagonale principale."); @@ -78,20 +79,19 @@ class Program { break; case 6: Console.Clear(); - if (matrix != null) { - //array = MinimoMassimoMatriceDiagonale(matrix, 0); - Console.WriteLine($"Il valore minimo è {array[0]} e si trova in posizione {array[1]},{array[2]}"); - //array = MinimoMassimoMatriceDiagonale(matrix, 1); - Console.WriteLine($"Il valore massimo è {array[0]} e si trova in posizione {array[1]},{array[2]}"); + matrix1 = CreaMatrice(); + matrix2 = CreaMatrice(); + if (matrix1.GetLength(0) != matrix2.GetLength(0) && matrix1.GetLength(1) != matrix2.GetLength(1)) { + Console.WriteLine("Per effettuare la somma tra due matrici, queste devono essere delle stesse dimensioni."); } else { - Console.WriteLine("È necessario creare la matrice prima di calcolare il minimo e il massimo della diagonale principale."); + MostraMatrice(SommaMatrici(matrix1, matrix2)); } Pausa(); break; case 7: Console.Clear(); - if (matrix != null) { + if (matrix1 != null) { if (true) { Console.WriteLine("Sulla diagonale principale sono presenti degli zeri"); } @@ -106,7 +106,7 @@ class Program { break; case 8: Console.Clear(); - if (matrix != null) { + if (matrix1 != null) { Console.Write("Inserire un numero da cercare: "); if (true) { Console.WriteLine("Elemento trovato"); @@ -135,7 +135,7 @@ class Program { Console.Clear(); } - static int[,] CreaMatrice() { + static int[,] CreaMatriceQuadrata() { int dimensione = 0; Console.Write("Inserire la dimensione della matrice: "); dimensione = Convert.ToInt32(Console.ReadLine()); @@ -172,4 +172,106 @@ class Program { } return ritorno; } + + static int[,] MinimoMassimoMatriceDiagonale2(int[,] p_matrice, int p_scelta) { + int[,] ritorno = null; + switch (p_scelta) { + case 0: + int min = int.MaxValue; + + for (int r = 0; r < p_matrice.GetLength(0); r++) { + if (p_matrice[r, p_matrice.GetLength(1) - 1 - r] < min) { + min = p_matrice[r, p_matrice.GetLength(1) - 1 - r]; + } + } + + ritorno = TrovaMatrice(p_matrice, min); + break; + case 1: + int max = int.MinValue; + + for (int r = 0; r < p_matrice.GetLength(0); r++) { + if (p_matrice[r, p_matrice.GetLength(1) - 1 - r] > max) { + max = p_matrice[r, p_matrice.GetLength(1) - 1 - r]; + } + } + + ritorno = TrovaMatrice(p_matrice, max); + break; + } + + return ritorno; + } + + static int[,] TrovaMatrice(int[,] p_matrice, int p_DaTrovare) { + int[,] ritorno = new int[p_matrice.GetLength(0), p_matrice.GetLength(1)]; + RiempiMatriceMax(ritorno); + + for (int r = 0; r < p_matrice.GetLength(0); r++) { + if (p_matrice[r, p_matrice.GetLength(1) - 1 - r] == p_DaTrovare) { + ritorno[r, p_matrice.GetLength(1) - 1 - r] = p_DaTrovare; + } + } + return ritorno; + } + + static void RiempiMatriceMax(int[,] p_matrice) { + for (int r = 0; r < p_matrice.GetLength(0); r++) { + for (int c = 0; c < p_matrice.GetLength(1); c++) { + p_matrice[r, c] = int.MaxValue; + } + } + } + static void MostraMinimoMassimoMatrice(int[,] p_matrice, int p_scelta) { + bool trovato = false; + string stringa = ""; + + switch (p_scelta) { + case 0: + stringa = "minimo"; + break; + case 1: + stringa = "massimo"; + break; + } + + for (int r = 0; r < p_matrice.GetLength(0); r++) { + for (int c = 0; c < p_matrice.GetLength(1); c++) { + if (p_matrice[r, c] != int.MaxValue) { + if (!trovato) { + Console.WriteLine($"Il valore {stringa} è {p_matrice[r, c]} e si trova nelle posizioni:"); + trovato = true; + } + Console.WriteLine($"{r}, {c}"); + } + } + } + } + + static int[,] CreaMatrice() { + int righe, colonne; + Console.Write("Inserire il numero di righe della matrice: "); + righe = Convert.ToInt32(Console.ReadLine()); + Console.Write("Inserire il numero di colonne della matrice: "); + colonne = Convert.ToInt32(Console.ReadLine()); + int[,] ritorno = new int[righe, colonne]; + for (int r = 0; r < ritorno.GetLength(0); r++) { + for (int c = 0; c < ritorno.GetLength(1); c++) { + Console.Write($"Inserire l'elemento in posizione {r}, {c}: "); + ritorno[r, c] = Convert.ToInt32(Console.ReadLine()); + Console.WriteLine(); + } + } + return ritorno; + } + + static int[,] SommaMatrici(int[,] p_matrice1, int[,] p_matrice2) { + int[,] ritorno = new int[p_matrice1.GetLength(0), p_matrice1.GetLength(1)]; + for (int r = 0; r < p_matrice1.GetLength(0); r++) { + for (int c = 0; c < p_matrice1.GetLength(1); c++) { + ritorno[r, c] = p_matrice1[r, c] + p_matrice2[r, c]; + } + } + return ritorno; + } } diff --git a/bin/Debug/net9.0/matrix_3.dll b/bin/Debug/net9.0/matrix_3.dll index f6c0486da98aab447cc92bf244465de2bca05c02..c48249264d167d8560d48d31707c838cd51bc02a 100644 GIT binary patch delta 4303 zcmb7IeQZv-br*y9gl?qV?+VqRbXtkV?1eZWs7|)q9BQPzWpt>z`GMW z4R5V|meqL2u!8}rv;V^8N5gBd#j^n~CzYz|u&E?sSnz6gY);DF#DkUniX@m6FD3F( zg})+DQDTqq?y46V4ab9mXnioX{TH*}NrJ-60*(-N$DfS5r{@;UFr*q_EHW z$Uq5K*oU-O{Yo$NIF;rx+}rn9ho@1!Me0$n{ib$|ANSf_`lY<1_U}-OM3_|JQ$#CX6W)hGW8*tr79hdErknI~7?H8?UG;rO(;Pq4%O#4_S~(HGruMVVv)BUwq>bdD0Q z7I%+w?(yqIA4V1izWeZ}$u%4DHg+re7Ki~j1YWj7t z$#c_Vs`3)03$ka#UACSSY!o9CSC#wdSe=OO0QdZ zhV{E??7{%di+&M@s|vbJPw~LC`ZeIBGdqpKQIYMb!YbrT6iM4+)GJbsfeqBxBY|*9dK?NwP7@ZDt2GPV2vloY zH>!ocQ>S;MS`2coY8{6dLun0UU&LAJ=L}y zbOT+4ey9tjblM9S(PHLp>l_8%Lg7H72DNN(OhnPlio5nW<=BS43KTkS5|d%+A3j&) zBFRf%(J&ow9d+}0JSOS^Nw#Z@g{y{9?F$|vx`Op%vF{qSa)WzDMD8#W=_0OiL3bB@ z8;Qrfqy=Ba|}pD)U!43IdNtA-+%1=phN)*;kb^ z8iyf`#@JI_qbyg!y}|^1Lc+5WHc5I;?r$)m;cls6i`<`4uH$TrvQP1m&cyzbq`VJ^ zl2xwfK`JG|_&L9hkxX<@0Q@QuZUyO|e27*`Y*SRwQ7lRwW3=7HE-RR&^v(i@cbEkB zv5Ot06yx;kT8DR$+JGe&I#>;@XZRXlh{-LKb_4a$8JD@7HZhe>Epm9j1*X%S#SZqC z(#E{B*TvqYUCc+P;tuZ&3;K3p3d?e^fJAmJOj#k&Z~>hI zOwcEQO{75Pi&P5OPSt>SNqQGxJN42=-cAotH=j)dbb_9vpV3=%m99~MeUm(6B9qgf zAs}7^RD5ErOiG~7i%-m{Ls|+4@eJ=6$e{0fvkkO)sAF)nsd0*AKj5EL(wQ5~4GeW= zMna4vmajnVCxd>~HrC z?^u_Sg4V>Wz@seCH8e2b9?IFLOKt@3%Vh_KbFQ7v%)yD1rM1kyv#gTuXtv)i>k!-R z3zt(pMX8I1ke~s|VBd&W>_*9=98#DgYH5*Do%j=EMAC)abeSx0A)f(%7`lX1X5#n3 zOG;$yg-w(ND+<_$PZq3E+W&ZYb>2AuXv=8DH>PGMp zstde+>X&;*-r#BHjyzGu z3{frX{EZKmpX#xTF$F< zuTfBE7=q%SsL-{-*(rs_ORIO}%|H6uRAOvyDf+F#{$$piFW}p?aLn<{@Dpc+^Z3a+ zlWY5CpU&?}r82F(*-W~jp|7$_;J}ED{!5$fnPEhQbgy$J3ozQr>d)h$1Z&U;d$TX8+TC(pA5C4J+oNTnC=betyav#6eyz4(%3grv;6c@3)-Lw{1z$M mOv}Ju23(wKwD-hTvEGT(v2EN7v*N!M(y0lv_9Hf)(*FyO|C6Ht delta 2553 zcmbtWZERCj7=G@({aCwh^sZ~iHgMertZZd#SJtf~EQ8J9bO^{$z9Ni`5&~?{4WdTr zFbd2-WI2eSQGy|e2_NDV5+nYApb>s3L=ue=jT&S80VMn}gn-XE{a|49k6qs9ocFo! zectyy=iIwHw0Nj<&(6nBx<5aN^zUa>AXf_k6G-Hw$oyuGep)L{f}ev9SUAXEX2j6Q zmD>DIW57H~w*rT)Bjp~~O29?`W)sjQ%JraFqE$HyOGx=?6U1v;rK6QI8|@KsS}Sv` zu%2#LlGtd`G6CJxrHvVSzlED zgNBU(x1DzuS{8Bvj^C(Ex;T#^a4e) z1XUwy@{qWd&5=>xlu=JY$=gkPu;oGd_l$?-?Y{o;6khgkY4R89WxKHdM;CS0hvkp6-!W_CFdac2AKCFgW4ApR>olFQbKLTzYsWq#mLIbLl&{Uow~q~1@=3K}|3hE3+b4BX`<*^Md)eEV zrO7pOgFX~_Tu8+1+1MJcwp^`4cCpMlA(?091%wd2!%0-@hBz8$ReU?&-d*VKm z%2wk^tZ-za(iEkAJh$V_am~$l?%k`7BeCOtOfk>VlvI7yo{$BXSgw_9d#?W0_}XT zI%$;)2NP@i)(kKu_VBS8bdp=N5Ek~#K2bSmQAaz+Li(R+;ssZ2Qog(7i^)&ROV4?p z)JucvY6KSOl4Il8tzFY?_)FngT++wkF2iiN4IlZRv;^^Kg&u_=g~t{C3VC(2y7vo( zmy?ikY*%cu~zW=)eW8nMt&vnCQe*q8nj_F@>{mAxWx3ISUjnQP@q?u$Jh>CWXUz zS8u>DjKN(1CSPKTPM-~`@KlLxu&ikpV6R8Uuc zN8eyXnC@cH;jS0^-PPhx_l(i7xl0ol3vQ2I^;BwN$X94!MO2LQcF4Jj1&wUOPmKin zu?5}2Svso-bD9*}hSlVI(9MVeY!>11;n9oUb4E*52iB8gJjZ^$R&phrSZ;_~UC3bg?`2LYS;%Zr) zX!airL_^`}J&|x^Reh+wr#BjoHO1rIy$$i+o>;W8aaBATiN_mz!eOD6mqySQt9}dG z-1+i>lV2+B{Jv-}O)b7ejmD1w9uz?EnkW@dmRGpz*4!H2*R_A%n;*V3d~DvOPsC99 z?AkQ>dQqCBc1g{REqC5uIxukH=;?L8q`zG#g*!2Ev%EyV9vgL4=(?C+5fJ&42DH}E zmnZGh=S30XLo}Vc6yX@*<6BRro_;T)WMXLIQHyh@dikuxi9O_^Xyo52`cd8^uQ!qp fBP`ZbwPY5}c6p#r6V0s0fWrCOI#X-&6Fw<~3X zxOWT2pK1y$iJ}h@HHgs%A|y%-DG$aNF$Rq$1bq;F!51IY5I`}0bN5QOQ4@FX%$;v$ z&Y3ea=bZc7BbP@Gw+x)hAgX+tD5?<+5ajM?WORJ@Bt*Id9UiLe?WV6GY!kVow{sod zRTiR_M&S0b@J`_8E*@%8-|b&}?A*Sk7jB=PXy17L{Ue8qb6v1GK^5lPe&k%Ep)7}@ z5`_5VJaV(XcB)oU5>)C}6a$?H-2i=3r^r{YXbSW|gQANK$$OPIK8ArA_*+O}2BH#> zmWD5yI1_dW{)UNdz{?;{gDmj3o8x=au*}$PVh8M2$jd=i_-Cd3hF4&c3w*lvv_8(yv>^AL}O`He37;=}1^MT_gw!^=`7!S=8P>P}uiZaL>Kn`G! z;Xu@uh9#p_CN6?qGO7k;!N1t_M{Nzf2)G6|i-}8tn}M%_vf*DQ{<5NLrlK4QDbKqm z_5w?=8IThLDr5kDBPLz~TnKryi7SB@L6#u$lU6EY3?o5lvowdO38aj)nBrRjGRO-~ zB(gGP$yynjR0S5w_ruDx9o%C0*#5;ceYOr`wp?({@U)mwmed*sDH9tj$}r5@KNi8{ zO$K;zyt7tENUQ$@_#XcS@U#B!4Nl5JC+oc6CG~5-_xK+J_crL@XB$p{SL2-F7YgEN z?rS#RchjVCQiC)(G&~j!(hx;PcaIFyPVU30(<6(+M z!h3_!FhwxYJ_<%6!5Agyc-q@l@#yNkf%7l7{#1R#_0;JfuH2gPe*5aqp=%#hSg!w? zcOV(exZ>S0ajE#1sJ^ZF+VR3y-ud&(o1N?4>}>t$(+@Y^>KRyd{qr+BwArPl5rrn$ ziWRwe$V!D8isYgOrhM)`>aVrdFg99qvdLf4j%%ffteV?GZVkKA%V2I{E5xUWafECF zt&CzBE(HS74n?>uLOht9@z>-nQ0j+xur>Lj-{)SSo`mlo{u<8$Q#+u zQ(IN2>fn0D^GpTtv-$jd8P62)ODB02&o_MZVLp0^^@GVseWi7oLe18md9A)r#r5}a z=PLblmm&|(g_&|0CqNz-6=`lO*)<0M)<=DcRBm_AiuD;ay_BbS@$_Pk z>OvQl{>6ieI@wu3i=@>E&UZ3c!#J1?J~*UruJpqzcUuw~Ya1AX%oDr*3mSh^R!vnM+@Vm1L@y_1Iq?~BVhbmnQ#MKB_X=Fn z+V(7}lY`bK3gT=ppPUtj8hi zd9p_nO}1!qT&eDORF1-GYE)uCC5~e?hdI&hQ32fXDv`ZG(PqvpFk{Ou?w8n&X0Q6& n6~b1R{N1d6jY_G*=)T#klm-#CJNv?$vgC6x4o>U=q delta 948 zcmY*XTSydP6h8m&IJ@3xz3irzx}v$;th-xOfSOq{*FaK zRCa~vt|Y1?@a91y9O)SVr8#&Cd#%kh58lN5XzQ_h{PR+X)_l-MdZS&?!Jdt=`z;fV z51wBhd)m1CvaVX2jK}h`?Z|NtHzJF9{7o=nvfw};vc-SR*^3Se`0AH^ltD`L@Mg-*7(*fnmaaIIt_Uh`~X5lefnno zFjZMb1`M98A7KN_v>I}rb=HVOM=6J~vVGbJ@S8RbZ1c?lr+jM(L^07osJnMirx2YB_jN}G!qG@K z8R5aG5s8vPeL7D2BI$;q51A{V2D5 zzhU;LesWj37K#@OzW0^?&B$DN_Vwe^%&%47{FnZpJGJBE@9yS!|a82SXLtxFojQ&Qg_F zXQBj+advz~yn=eAZch8XIZ5WosMKrB$9|6^$u>}%9q=ZbLTNW$fwEnjm3)!VwM)@E zDWp&*2|0wNN&M4sW6jb)e)8}%^jr$mB%6C-<^|h*n(&H4qNDuUNr~@zImw%Oa;#9^ j%9XdXWXvgJb@I-FG!II{oC=nyr2@NlVs<`wN(lM~fb)(! diff --git a/obj/Debug/net9.0/matrix_3.AssemblyInfo.cs b/obj/Debug/net9.0/matrix_3.AssemblyInfo.cs index bdb5d63..09652fa 100644 --- a/obj/Debug/net9.0/matrix_3.AssemblyInfo.cs +++ b/obj/Debug/net9.0/matrix_3.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("matrix_3")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6014c313b202cd6198ffad5fdc9677bf63ff7c11")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b00a9cea811f930eff832555c7d39711548491f2")] [assembly: System.Reflection.AssemblyProductAttribute("matrix_3")] [assembly: System.Reflection.AssemblyTitleAttribute("matrix_3")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net9.0/matrix_3.AssemblyInfoInputs.cache b/obj/Debug/net9.0/matrix_3.AssemblyInfoInputs.cache index 9bf0859..fd79203 100644 --- a/obj/Debug/net9.0/matrix_3.AssemblyInfoInputs.cache +++ b/obj/Debug/net9.0/matrix_3.AssemblyInfoInputs.cache @@ -1 +1 @@ -c406b3a08bd253a1bcf5b3ae92da91aa3d5278f12f55945bc57b8ccec301f14d +24011d8278f0ee5fff0d76f8ca60ae6d36888403cf7bf503a41a322503a8e8e7 diff --git a/obj/Debug/net9.0/matrix_3.dll b/obj/Debug/net9.0/matrix_3.dll index f6c0486da98aab447cc92bf244465de2bca05c02..c48249264d167d8560d48d31707c838cd51bc02a 100644 GIT binary patch delta 4303 zcmb7IeQZv-br*y9gl?qV?+VqRbXtkV?1eZWs7|)q9BQPzWpt>z`GMW z4R5V|meqL2u!8}rv;V^8N5gBd#j^n~CzYz|u&E?sSnz6gY);DF#DkUniX@m6FD3F( zg})+DQDTqq?y46V4ab9mXnioX{TH*}NrJ-60*(-N$DfS5r{@;UFr*q_EHW z$Uq5K*oU-O{Yo$NIF;rx+}rn9ho@1!Me0$n{ib$|ANSf_`lY<1_U}-OM3_|JQ$#CX6W)hGW8*tr79hdErknI~7?H8?UG;rO(;Pq4%O#4_S~(HGruMVVv)BUwq>bdD0Q z7I%+w?(yqIA4V1izWeZ}$u%4DHg+re7Ki~j1YWj7t z$#c_Vs`3)03$ka#UACSSY!o9CSC#wdSe=OO0QdZ zhV{E??7{%di+&M@s|vbJPw~LC`ZeIBGdqpKQIYMb!YbrT6iM4+)GJbsfeqBxBY|*9dK?NwP7@ZDt2GPV2vloY zH>!ocQ>S;MS`2coY8{6dLun0UU&LAJ=L}y zbOT+4ey9tjblM9S(PHLp>l_8%Lg7H72DNN(OhnPlio5nW<=BS43KTkS5|d%+A3j&) zBFRf%(J&ow9d+}0JSOS^Nw#Z@g{y{9?F$|vx`Op%vF{qSa)WzDMD8#W=_0OiL3bB@ z8;Qrfqy=Ba|}pD)U!43IdNtA-+%1=phN)*;kb^ z8iyf`#@JI_qbyg!y}|^1Lc+5WHc5I;?r$)m;cls6i`<`4uH$TrvQP1m&cyzbq`VJ^ zl2xwfK`JG|_&L9hkxX<@0Q@QuZUyO|e27*`Y*SRwQ7lRwW3=7HE-RR&^v(i@cbEkB zv5Ot06yx;kT8DR$+JGe&I#>;@XZRXlh{-LKb_4a$8JD@7HZhe>Epm9j1*X%S#SZqC z(#E{B*TvqYUCc+P;tuZ&3;K3p3d?e^fJAmJOj#k&Z~>hI zOwcEQO{75Pi&P5OPSt>SNqQGxJN42=-cAotH=j)dbb_9vpV3=%m99~MeUm(6B9qgf zAs}7^RD5ErOiG~7i%-m{Ls|+4@eJ=6$e{0fvkkO)sAF)nsd0*AKj5EL(wQ5~4GeW= zMna4vmajnVCxd>~HrC z?^u_Sg4V>Wz@seCH8e2b9?IFLOKt@3%Vh_KbFQ7v%)yD1rM1kyv#gTuXtv)i>k!-R z3zt(pMX8I1ke~s|VBd&W>_*9=98#DgYH5*Do%j=EMAC)abeSx0A)f(%7`lX1X5#n3 zOG;$yg-w(ND+<_$PZq3E+W&ZYb>2AuXv=8DH>PGMp zstde+>X&;*-r#BHjyzGu z3{frX{EZKmpX#xTF$F< zuTfBE7=q%SsL-{-*(rs_ORIO}%|H6uRAOvyDf+F#{$$piFW}p?aLn<{@Dpc+^Z3a+ zlWY5CpU&?}r82F(*-W~jp|7$_;J}ED{!5$fnPEhQbgy$J3ozQr>d)h$1Z&U;d$TX8+TC(pA5C4J+oNTnC=betyav#6eyz4(%3grv;6c@3)-Lw{1z$M mOv}Ju23(wKwD-hTvEGT(v2EN7v*N!M(y0lv_9Hf)(*FyO|C6Ht delta 2553 zcmbtWZERCj7=G@({aCwh^sZ~iHgMertZZd#SJtf~EQ8J9bO^{$z9Ni`5&~?{4WdTr zFbd2-WI2eSQGy|e2_NDV5+nYApb>s3L=ue=jT&S80VMn}gn-XE{a|49k6qs9ocFo! zectyy=iIwHw0Nj<&(6nBx<5aN^zUa>AXf_k6G-Hw$oyuGep)L{f}ev9SUAXEX2j6Q zmD>DIW57H~w*rT)Bjp~~O29?`W)sjQ%JraFqE$HyOGx=?6U1v;rK6QI8|@KsS}Sv` zu%2#LlGtd`G6CJxrHvVSzlED zgNBU(x1DzuS{8Bvj^C(Ex;T#^a4e) z1XUwy@{qWd&5=>xlu=JY$=gkPu;oGd_l$?-?Y{o;6khgkY4R89WxKHdM;CS0hvkp6-!W_CFdac2AKCFgW4ApR>olFQbKLTzYsWq#mLIbLl&{Uow~q~1@=3K}|3hE3+b4BX`<*^Md)eEV zrO7pOgFX~_Tu8+1+1MJcwp^`4cCpMlA(?091%wd2!%0-@hBz8$ReU?&-d*VKm z%2wk^tZ-za(iEkAJh$V_am~$l?%k`7BeCOtOfk>VlvI7yo{$BXSgw_9d#?W0_}XT zI%$;)2NP@i)(kKu_VBS8bdp=N5Ek~#K2bSmQAaz+Li(R+;ssZ2Qog(7i^)&ROV4?p z)JucvY6KSOl4Il8tzFY?_)FngT++wkF2iiN4IlZRv;^^Kg&u_=g~t{C3VC(2y7vo( zmy?ikY*%cu~zW=)eW8nMt&vnCQe*q8nj_F@>{mAxWx3ISUjnQP@q?u$Jh>CWXUz zS8u>DjKN(1CSPKTPM-~`@KlLxu&ikpV6R8Uuc zN8eyXnC@cH;jS0^-PPhx_l(i7xl0ol3vQ2I^;BwN$X94!MO2LQcF4Jj1&wUOPmKin zu?5}2Svso-bD9*}hSlVI(9MVeY!>11;n9oUb4E*52iB8gJjZ^$R&phrSZ;_~UC3bg?`2LYS;%Zr) zX!airL_^`}J&|x^Reh+wr#BjoHO1rIy$$i+o>;W8aaBATiN_mz!eOD6mqySQt9}dG z-1+i>lV2+B{Jv-}O)b7ejmD1w9uz?EnkW@dmRGpz*4!H2*R_A%n;*V3d~DvOPsC99 z?AkQ>dQqCBc1g{REqC5uIxukH=;?L8q`zG#g*!2Ev%EyV9vgL4=(?C+5fJ&42DH}E zmnZGh=S30XLo}Vc6yX@*<6BRro_;T)WMXLIQHyh@dikuxi9O_^Xyo52`cd8^uQ!qp fBP`ZbwPY5}c6p#r6V0s0fWrCOI#X-&6Fw<~3X zxOWT2pK1y$iJ}h@HHgs%A|y%-DG$aNF$Rq$1bq;F!51IY5I`}0bN5QOQ4@FX%$;v$ z&Y3ea=bZc7BbP@Gw+x)hAgX+tD5?<+5ajM?WORJ@Bt*Id9UiLe?WV6GY!kVow{sod zRTiR_M&S0b@J`_8E*@%8-|b&}?A*Sk7jB=PXy17L{Ue8qb6v1GK^5lPe&k%Ep)7}@ z5`_5VJaV(XcB)oU5>)C}6a$?H-2i=3r^r{YXbSW|gQANK$$OPIK8ArA_*+O}2BH#> zmWD5yI1_dW{)UNdz{?;{gDmj3o8x=au*}$PVh8M2$jd=i_-Cd3hF4&c3w*lvv_8(yv>^AL}O`He37;=}1^MT_gw!^=`7!S=8P>P}uiZaL>Kn`G! z;Xu@uh9#p_CN6?qGO7k;!N1t_M{Nzf2)G6|i-}8tn}M%_vf*DQ{<5NLrlK4QDbKqm z_5w?=8IThLDr5kDBPLz~TnKryi7SB@L6#u$lU6EY3?o5lvowdO38aj)nBrRjGRO-~ zB(gGP$yynjR0S5w_ruDx9o%C0*#5;ceYOr`wp?({@U)mwmed*sDH9tj$}r5@KNi8{ zO$K;zyt7tENUQ$@_#XcS@U#B!4Nl5JC+oc6CG~5-_xK+J_crL@XB$p{SL2-F7YgEN z?rS#RchjVCQiC)(G&~j!(hx;PcaIFyPVU30(<6(+M z!h3_!FhwxYJ_<%6!5Agyc-q@l@#yNkf%7l7{#1R#_0;JfuH2gPe*5aqp=%#hSg!w? zcOV(exZ>S0ajE#1sJ^ZF+VR3y-ud&(o1N?4>}>t$(+@Y^>KRyd{qr+BwArPl5rrn$ ziWRwe$V!D8isYgOrhM)`>aVrdFg99qvdLf4j%%ffteV?GZVkKA%V2I{E5xUWafECF zt&CzBE(HS74n?>uLOht9@z>-nQ0j+xur>Lj-{)SSo`mlo{u<8$Q#+u zQ(IN2>fn0D^GpTtv-$jd8P62)ODB02&o_MZVLp0^^@GVseWi7oLe18md9A)r#r5}a z=PLblmm&|(g_&|0CqNz-6=`lO*)<0M)<=DcRBm_AiuD;ay_BbS@$_Pk z>OvQl{>6ieI@wu3i=@>E&UZ3c!#J1?J~*UruJpqzcUuw~Ya1AX%oDr*3mSh^R!vnM+@Vm1L@y_1Iq?~BVhbmnQ#MKB_X=Fn z+V(7}lY`bK3gT=ppPUtj8hi zd9p_nO}1!qT&eDORF1-GYE)uCC5~e?hdI&hQ32fXDv`ZG(PqvpFk{Ou?w8n&X0Q6& n6~b1R{N1d6jY_G*=)T#klm-#CJNv?$vgC6x4o>U=q delta 948 zcmY*XTSydP6h8m&IJ@3xz3irzx}v$;th-xOfSOq{*FaK zRCa~vt|Y1?@a91y9O)SVr8#&Cd#%kh58lN5XzQ_h{PR+X)_l-MdZS&?!Jdt=`z;fV z51wBhd)m1CvaVX2jK}h`?Z|NtHzJF9{7o=nvfw};vc-SR*^3Se`0AH^ltD`L@Mg-*7(*fnmaaIIt_Uh`~X5lefnno zFjZMb1`M98A7KN_v>I}rb=HVOM=6J~vVGbJ@S8RbZ1c?lr+jM(L^07osJnMirx2YB_jN}G!qG@K z8R5aG5s8vPeL7D2BI$;q51A{V2D5 zzhU;LesWj37K#@OzW0^?&B$DN_Vwe^%&%47{FnZpJGJBE@9yS!|a82SXLtxFojQ&Qg_F zXQBj+advz~yn=eAZch8XIZ5WosMKrB$9|6^$u>}%9q=ZbLTNW$fwEnjm3)!VwM)@E zDWp&*2|0wNN&M4sW6jb)e)8}%^jr$mB%6C-<^|h*n(&H4qNDuUNr~@zImw%Oa;#9^ j%9XdXWXvgJb@I-FG!II{oC=nyr2@NlVs<`wN(lM~fb)(! diff --git a/obj/Debug/net9.0/ref/matrix_3.dll b/obj/Debug/net9.0/ref/matrix_3.dll index 38e67bcbf1fb4d9503bf30e1025037803577b30a..480e259d781c7a31d09cf5caf9cf511ea665801e 100644 GIT binary patch delta 194 zcmZqBY0#O_!P4EJ-MO)+gjwKCOK#26DmK4X-MTmNF`|<;3$nat-29()Dhr0x88a9$n1W$4gE>PAkZ%d3K`KodOn~wxKt4#9 K(dKl)nJfT`IW!gk delta 194 zcmZqBY0#O_!Lsh@je8q=N|*&qyL8H0zd8DB(BLa&3(@+yS&-#D88a9$n1W$4gE>PAkZ%d3K`KodOn~wxKt4#9 K(dKl)nJfT`IW!gk delta 194 zcmZqBY0#O_!Lsh@je8q=N|*&qyL8H0zd8DB(BLa&3(@+yS&-#D