Untitled
unknown
plain_text
a year ago
4.7 kB
6
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 ModuleEditor is loading...
Leave a Comment