Untitled
unknown
plain_text
4 months ago
4.7 kB
3
Indexable
Imports System Module Program Sub Main(args As String()) ' Променливи Dim D(,) As Single Dim M, N As Integer Dim Min, Max As Single Dim negativElem As Single Dim average, sum, holder As Single ' Въвежда размерите на матрицата InputMatrixLimits(M, N) ' Създава и попълва на матрицата ReDim D(M - 1, N - 1) InputMatrixNumbers(M, N, D) ' Намира минимална и максимална стойност MatrixMinMax(D, M, N, Min, Max) ' Изчислява произведението на отрицателните елементи negativElem = MatrixNegativeElem(D, M, N) ' Изважда резултатите Console.WriteLine($"Minimalnata stoinost v matricata e: {Min}") Console.WriteLine($"Maximalnata stoinost v matricata e: {Max}") If negativElem = 1 Then Console.WriteLine("Nqma otricatelni elementi.") Else Console.WriteLine($"Proizvedenieto na otricatelnite elementi e: {negativElem}") End If If M Mod 2 = 0 Then Console.WriteLine($"Matricata ima cheten broi redove. Srednoto aritmetichno e {average}") For I = 0 To M - 1 For J = 0 To N - 1 Console.Write(D(I, J) & " ") Next Console.WriteLine() Next End If End Sub ' Процедура за въвеждане на размери на матрицата Sub InputMatrixLimits(ByRef M As Integer, ByRef N As Integer) Do Console.Write("Vuvedete broi redove [1-7]: ") M = Console.ReadLine() Loop Until M >= 1 And M <= 7 Do Console.Write("Vuvedete broi coloni [1-9]: ") N = Console.ReadLine() Loop Until N >= 1 And N <= 9 End Sub ' Процедура за въвеждане на числа в матрицата Sub InputMatrixNumbers(ByVal M As Integer, ByVal N As Integer, ByRef D(,) As Single) Console.WriteLine("Vuvedete chisla za matricata:") For I = 0 To M - 1 For J = 0 To N - 1 Console.Write($"D({I + 1},{J + 1}) = ") D(I, J) = Console.ReadLine() Next Next End Sub ' Процедура за намиране на минимум и максимум Sub MatrixMinMax(ByVal D(,) As Single, ByVal M As Integer, ByVal N As Integer, ByRef Min As Single, ByRef Max As Single) Min = D(0, 0) Max = D(0, 0) For I = 0 To M - 1 For J = 0 To N - 1 If D(I, J) < Min Then Min = D(I, J) If D(I, J) > Max Then Max = D(I, J) Next Next End Sub ' Функция за произведението на отрицателните елементи Function MatrixNegativeElem(ByVal D(,) As Single, ByVal M As Integer, ByVal N As Integer) As Single Dim negativElem As Single = 1 Dim hasNegative As Boolean = False For I = 0 To M - 1 For J = 0 To N - 1 If D(I, J) < 0 Then negativElem *= D(I, J) hasNegative = True End If Next Next If Not hasNegative Then Return 1 ' Няма отрицателни елементи End If Return negativElem End Function ' Процедура за намиране дали има четен брой редове и средното аритметично Sub AverageMatrixN(ByVal D(,) As Single, ByVal M As Integer, ByVal N As Integer, average As Single, sum As Single, holder As Single) If M Mod 2 = 0 Then For I = 0 To M - 1 For J = 0 To N - 1 sum += D(I, J) Next Next average = sum / (M * N) holder = M \ 2 End If End Sub 'Процедура за промяна на матрицата Sub changeMatrix(ByVal D(,) As Single, ByVal M As Integer, ByVal N As Integer, average As Single, sum As Single, holder As Single) As Integer If M Mod 2 = 0 Then For I = 0 To M - 1 For J = 0 To N - 1 If I < holder Then D(I, J) += average End If If I > holder Then D(I, J) -= average End If Next Next End If End Sub End Module
Editor is loading...
Leave a Comment