![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 13.03.2010
Сообщений: 16
|
![]()
Вот после нескольких модификаций, но ещё не доработанный.
Код:
Последний раз редактировалось Mikle1990; 15.03.2010 в 16:53. |
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 13.03.2010
Сообщений: 16
|
![]()
Вроде решил!) Жирный шрифт - это то что я думал как решить.
Код написан. Комментарии есть даже. Люди добрые, проверьте please! Ещё раз привожу текст задания: Сформировать произвольно двумерный массив R(8,3) Найти и вывести значение и индексы элемента, являющегося одновременно наименьшим в своей строке и наибольшим в своем столбце. При отсутствии такого элемента вывести сообщение. Вот код этой главной процедуры: Код:
![]() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Блин, с отрицательными числами не правильно работает( Последний раз редактировалось Mikle1990; 15.03.2010 в 17:46. |
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 13.03.2010
Сообщений: 16
|
![]()
Вот в этом участке кода:
Код:
как это понимать?(( такое впечатление, что сравниваются модули чисел!( |
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 13.03.2010
Сообщений: 16
|
![]()
так... что-то я перепутал.
|
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 13.03.2010
Сообщений: 16
|
![]()
Ура! нашёл ошибку!) забыл дописать Exit For при нахождении элемента, а то так z1 переписывалась на "не найдено".
![]() Вот теперь я точно уверен, что код работоспособен на все сто! Вот код, попробуйте найти в нём какие-нибудь недочёты(или ошибки?): Код:
P.S. Я стремлюсь к тому, чтоб код был практически идеален. Надеюсь кто-нибудь мне поможет в этом) Последний раз редактировалось Mikle1990; 15.03.2010 в 18:56. |
![]() |
![]() |
![]() |
#16 |
Новичок
Джуниор
Регистрация: 09.03.2015
Сообщений: 2
|
![]()
У меня такая же ситуация:
Option Strict On Option Explicit On Imports System.Math Public Class Form1 Dim k, imin, jmin As Integer, R(8, 3), Rmin As Single Sub Chk1() Dim i, j, imin, jmin As Integer Rmin = R(i, 0) For j = 0 To 3 If R(i, j) < Rmin Then Rmin = R(i, j) imin = i jmin = j End If Next End Sub Sub Poisk(ByVal a(,) As Single, ByRef LB As ListBox) Dim m As Integer Dim n As Integer Dim sb As Integer 'столбец Dim z1 As String = "" Dim min As Single Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer Dim zs As Integer Dim zk As Integer m = a.GetLength(0) - 1 'строки n = a.GetLength(1) - 1 'столбцы 'Старт - Нахождение необходимой точки For i = 0 To m zs = 0 zk = 0 sb = 0 min = a(i, sb) For j = 1 To n If a(i, j) < min Then min = a(i, j) sb = j End If Next For k = 0 To n If a(i, sb) = a(i, k) Then zs = zs + 1 End If Next For l = 0 To m If a(i, sb) <= a(l, sb) Then zk = zk + 1 End If Next 'Если zs > 1, то найденный минимальный элемент совпадает(по значению) с другим элементом в строке ', и, следовательно, минимальный элемент уже не явл-ся минимальным. 'Если zk > 1, то найденный элемент меньше какого-либо элемента из его столбца. If zs = 1 And zk = 1 Then z1 = CStr("a(") + Format(i) + CStr(",") + Format(sb) + CStr(")=") + Format(a(i, sb)) Exit For Else z1 = "не найден" End If Next LB.Items.Add(z1) 'Конец - Нахождение необходимой точки End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i, j, m As Integer Randomize() For i = 0 To 8 For j = 0 To 3 R(i, j) = 10 * Rnd() - 5 Poisk(R(i, j), ListBox4) Next Next k = 0 Line1: For i = 0 To 8 Chk1() Line2: For m = 0 To 8 If R(m, jmin) < Rmin Then GoTo Line1 ElseIf Rmin > R(m, jmin) Then GoTo Line2 End If Next k = k + 1 ListBox1.Items.Add(Rmin) ListBox2.Items.Add(imin) ListBox3.Items.Add(jmin) Next If k = 0 Then MsgBox("Таких элементов не существует", MsgBoxStyle.Critical, "Ашибачко") End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Clear() ListBox2.Items.Clear() ListBox3.Items.Clear() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Application.Exit() End Sub End Class И пишет, что Ошибка 1 Невозможно преобразовать значение типа "Single" в "2-мерный массив из Single". |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с двумерными массивами | curly182 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 16.05.2009 17:56 |
Подпрограммы(работа с двумерными массивами) | DimoniusX | Помощь студентам | 0 | 15.04.2009 09:52 |
задача Visual Basic. Работа с массивами | ProgramBad | Помощь студентам | 3 | 14.02.2009 02:10 |
Работа с двумерными массивами | KJIOyH | Помощь студентам | 4 | 03.11.2007 20:03 |