Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 28.01.2018
Сообщений: 11

Седловая точка

18.02.2018, 17:06. Показов 1566. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Элемент матрицы назовем седловой точкой, если он является наименьшим в свой строке и одновременно наибольшим в
своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной
матрицы напечатать индексы всех ее седловых точек.

Вроде должно работать, но не работает
VB.NET
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
88
89
Module Module1
 
    Sub Main()
        Const СтрокаВыйти As String = "выйти из программы - любая другая клавиша."
        Const СтрокаОшибка As String = ControlChars.CrLf & "Ошибка: "
        Const СообщениеПовторить As String = ControlChars.CrLf &
        "Если вы хотите повторить ввод значений " &
        "нажмите клавишу (п), " & СтрокаВыйти
        Const СообщениеПродолжить As String = ControlChars.CrLf &
        "Если вы хотите продолжить работу " &
        "нажмите клавишу (д), " & СтрокаВыйти
 
        Dim i, j, amin, amax, k, q, w, f, f1 As Integer
        Dim m, n As Integer
        Dim A(,) As Integer
 
 
        Do
            Try
                Console.Write("Введите количество строк матрицы: ")
                n = Console.ReadLine() - 1
                Console.Write("Введите количество столбцов матрицы: ")
                m = Console.ReadLine() - 1
                A = New Integer(n, m) {}
                Exit Do
 
            Catch ex As Exception
                Console.WriteLine(СтрокаОшибка & ex.Message & СообщениеПовторить)
                If Console.ReadKey(True).Key <> ConsoleKey.G Then Exit Sub
            End Try
        Loop
 
        For i = 0 To UBound(A)
            For j = 0 To UBound(A, 2)
                Do
                    Try
                        Console.Write("Введите элемент матрицы A({0},{1}): ", i + 1, j + 1)
                        A(i, j) = Console.ReadLine()
                        Exit Do
 
                    Catch ex As Exception
                        Console.WriteLine(СтрокаОшибка & ex.Message & СообщениеПовторить)
                        If Console.ReadKey(True).Key <> ConsoleKey.G Then Exit Sub
                    End Try
                Loop
            Next j
        Next i
 
        For i = 1 To UBound(A)
            amin = 1
            For j = 1 To UBound(A, 2)
                If A(i, j) < amin Then
                    amin = A(i, j)
                End If
            Next
 
            For j = 1 To UBound(A, 2)
                If A(i, j) = amin Then
                    f = 1
                End If
            Next
        Next
 
        For j = 1 To UBound(A, 2)
            amax = -1
            For i = 1 To UBound(A)
                If A(i, j) > amax Then
                    amax = A(i, j)
                End If
            Next
            For i = 1 To UBound(A)
                If A(i, j) = amax Then
                    f1 = 1
                End If
            Next
        Next
 
        For i = 1 To UBound(A)
            For j = 1 To UBound(A, 2)
                If (f = 1) And (f1 = 1) Then
                    Console.WriteLine("[{0};{1}]", i, j)
                End If
            Next
        Next
 
        Console.ReadKey()
    End Sub
 
End Module
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2018, 17:06
Ответы с готовыми решениями:

Седловая точка
Дана целочисленная прямоугольная матрица . Матрица А имеет седловую точку Аij, если Аij является минимальным элементом в i-ой строке и...

Седловая точка
Элемент матрицы назовем седловой точки, если он является наименьшим в своей строке и одновременно крупнейшим в своем столбце или, наоборот,...

Седловая точка
Элемент матрицы назовем седловой точкой, если он является наименьшим в своей своей строке и одновременно наибольшим в своем столбце или,...

2
692 / 489 / 251
Регистрация: 10.06.2016
Сообщений: 2,337
19.02.2018, 13:56
Это алгоритм работать не будет. Можно сделать, например, так (максимальный по строке, минимальный по столбцу):

VB.NET
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
  Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    Dim imax(4) As Integer, l As Integer
 For Me.i = 1 To UBound(a)
            amax = a(i, 1)
            imax(i) = 1
            For Me.j = 1 To UBound(a, 2)
                If a(i, j) > amax Then
                    amax = a(i, j)
                    imax(i) = j
                End If
            Next
        Next
        For Me.j = 1 To UBound(a, 2)
            amax = a(1, j)
            l = 1
            For Me.i = 1 To UBound(a)
                If a(i, j) < amax Then
                    amax = a(i, j)
                    l = i
                End If
            Next
            If j = imax(l) Then
                MsgBox("Седловой элемент " & "a(" & Str(l) & "," & Str(j) & ")=" & Str(a(l, j)))
            End If
        Next
 
    End Sub
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
19.02.2018, 14:00
Laceren, скажите, пожалуйста, в чем смысл всех этих циклов Do в строке 18 и 35.
Выполнение поставленного условия событие скорее редкое, чем обыденное, вы уверены, что для введенной матрицы оно выполняется хотя бы раз.
Ваш код так малочитабелен, что анализировать его нет никакого желания, проще записать все заново.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2018, 14:00
Помогаю со студенческими работами здесь

Седловая точка
Элемент матрицы называется седловой точкой, если он является одновременно наименьшим в своей строке и наибольшим в своем столбце....

Седловая точка.
Всем дарова!!! Помогите плизз кто знает. Задание такое. Ввести матрицу m на n. Найти в ней седловую точку, т.е. элемент,...

Седловая точка
Дана целочисленная прямоугольная матрица.Определить номера строк и столбцов всех седловых точек матрицы #include &lt;iostream.h&gt;...

Седловая точка
Подскажите пожалуйста, что не правильно в функции tohka. Похожие темы все просмотрел, либо выводит не правильно, либо вообще не выводит....

Седловая точка в матрице
Элемент двумерного массива называется седловым, если он одновременно наибольший в своей строке и наименьший в своём столбце. Дан...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru