22 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 88
1

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом

01.03.2012, 19:02. Показов 2243. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ошибка в задаче. Может я что-то не дописал. Исправьте пожалуйста программу.

Дана матрица B[N, M]. Найти в каждой строке матрицы максимальный и
минимальный элементы и поменять их местами с первым и последним
элементом строки соответственно.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Sub Resultat(M() As Single)
    Dim i, Max, Min, g, n As Integer
    Dim j, z, v, f, B() As Integer
    Dim r() As Integer
    ReDim Preserve B(n, n)
  
    For i = LBound(M, 1) To UBound(M, 1)
        Max = 0: Min = 900
        For j = LBound(M, 2) To UBound(M, 2)
            If Max < B(i, j) Then
            Max = B(i, j)
            z = j
        End If
        If Min > B(i, j) Then
            Min = B(i, j)
            v = j
        End If
       Next
    Next
    f = B(i, 1)
    g = B(i, UBound(M))
    B(i, 1) = Max
    B(i, UBound(M)) = Min
    B(i, z) = f
    B(i, v) = g
 
End Sub
 
Sub Main_Matrix()
    Const n = 4
    Dim M(0 To n - 1, 0 To n - 1) As Single ' создаем матрицу
    Dim Min As Integer
 
    Print_Matrix M()
    Call Resultat(M())
    Debug.Print Min
End Sub
 
' Создаем случайные числа и печатаем матрицу
 
Public Sub Print_Matrix(M() As Single)
    Dim i As Integer, j As Integer
    Debug.Print
      For i = LBound(M, 1) To UBound(M, 1)
        For j = LBound(M, 2) To UBound(M, 2)
            M(i, j) = CInt(Rnd() * 20 - 10)     ' создание случайные числа
            Debug.Print Format(M(i, j), "  #0; -#0"); ' печатаем матрицу
        Next j
        Debug.Print
    Next i
    
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2012, 19:02
Ответы с готовыми решениями:

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно
Дана матрица B. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их...

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом
Дана матрица B. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их...

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом
Я решила задачку но что-то не так(ошибки никак не исправлю... помогите исправте ошибки,что не...

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно
здравствуйте. помогите пожалуйста решить пару задач VIII.Двумерные массивы 23 Дана матрица B....

1
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
27.03.2012, 06:10 2
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Option Explicit
 
Sub Main_Matrix()
    Const m As Integer = 5
    Const n As Integer = 4
    Dim B() As Single
    Dim MinValue As Integer
    
    ReDim B(0 To m, 0 To n) 'создаем матрицу
    Call Print_Matrix_1(B())
    'Перестановку элементов, нужно разбить на 2 этапа.
    'Иначе результат может быть неправильным в случае,
    'если минимальным элементом будет первый элемент в строке.
    'В этом случае, после перемены мест первого элемента с максимальным
    'значением, на уже поставленное максимальное значение помещается
    'из временной переменной минимальный элемент.
    'Сначала переставляем максимальный элемент с первым элементом в строке.
    Call Resultat_Max(B())
    'Затем переставляем минимальный элементв с последним элементом в строке.
    Call Resultat_Min(B())
    'Печатаем изменённую матрицу для проверки.
    Call Print_Matrix_2(B())
End Sub
 
Sub Print_Matrix_1(B() As Single)
    'Создаем случайные числа и печатаем матрицу
    Dim i As Integer, j As Integer
    Debug.Print
      For i = LBound(B, 1) To UBound(B, 1) Step 1
        For j = LBound(B, 2) To UBound(B, 2) Step 1
            'создание случайных чисел от -10 до +10
            B(i, j) = CInt((10 - (-10) + 1) * Rnd() + (-10))
            Debug.Print Format(B(i, j), "  #0; -#0"); ' печатаем матрицу
        Next j
        Debug.Print
    Next i
End Sub
 
Sub Resultat_Max(B() As Single)
    Dim i As Integer, j As Integer
    Dim MaxValue As Integer, MaxItem As Integer
    Dim MaxTemp As Integer
    
    For i = LBound(B, 1) To UBound(B, 1) Step 1
        MaxValue = B(i, 0): MaxItem = 0
        For j = LBound(B, 2) To UBound(B, 2) Step 1
            If MaxValue < B(i, j) Then
                MaxValue = B(i, j)
                MaxItem = j
            End If
        Next j
        MaxTemp = B(i, 0)
        B(i, 0) = MaxValue
        B(i, MaxItem) = MaxTemp
    Next i
End Sub
 
Sub Resultat_Min(B() As Single)
    Dim i As Integer, j As Integer
    Dim MinValue As Integer, MinItem As Integer
    Dim MinTemp As Integer
    
    For i = LBound(B, 1) To UBound(B, 1) Step 1
        MinValue = B(i, 0): MinItem = 0
        For j = LBound(B, 2) To UBound(B, 2) Step 1
            If MinValue > B(i, j) Then
                MinValue = B(i, j)
                MinItem = j
            End If
        Next j
        MinTemp = B(i, UBound(B, 2))
        B(i, UBound(B, 2)) = MinValue
        B(i, MinItem) = MinTemp
    Next i
End Sub
 
Sub Print_Matrix_2(B() As Single)
    'Печатаем изменённую матрицу
    Dim i As Integer, j As Integer
    Debug.Print
      For i = LBound(B, 1) To UBound(B, 1) Step 1
        For j = LBound(B, 2) To UBound(B, 2) Step 1
            Debug.Print Format(B(i, j), "  #0; -#0"); ' печатаем матрицу
        Next j
        Debug.Print
    Next i
End Sub
0
27.03.2012, 06:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2012, 06:10
Помогаю со студенческими работами здесь

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно
Дана матрица B. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их...

Найти в каждой строке максимальный и минимальный элементы и поменять их местами с первым и последним элементом
3. Дана матрица B размерностью n×m. Найти в каждой строке матрицы максимальный и минимальный...

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с первым и последним элементом
Дана матрица B размера N x M . Найти в каждой строке матрицы максимальный и минимальный элементы и...

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с первым и последним элементом строки соответственно.
Помогите лабу сделать. Буду вдвойне благодарна, если напишете еще и комментарии. Дана...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru