Получить самую большую разность между 30 парами элементов массива - Visual Basic .NET

  1. Нужно получить самую большую разность между 30 парами элементов и вывести его в TextBox3. Сейчас программа генерирует и выводит 2 массива, каждый из которых по 30 эл.vb.net1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Dim D(100) As Integer         Dim N(100) As Integer         Dim S1, S2 As String         Dim I, J, Day, Nigth, Difference As Integer         Day = Val(TextBox1.Text)         Nigth = Val(TextBox2.Text)         For I = 1 To Day             D(I) = Int(Rnd() * 20 - 10)             S1 &= CStr((D(I)) & " ")         Next         MsgBox("Массив 1:" & vbCrLf & S1)         For J = 1 To Nigth             N(J) = Int(Rnd() * 20 - 10)             S2 &= CStr((N(J)) & " ")         Next         MsgBox("Массив 2:" & vbCrLf & S2)         'TextBox3.Text = Str(Difference)


textual

Код:

        Dim D(), N(), i, CountDay, MaxDif, iMax, t As Integer
        Dim S, S1, S2 As String, r As New Random
        CountDay = 30 'Val(TextBox1.Text)
        'Nigth = Val(TextBox2.Text)
        ReDim D(CountDay - 1), N(CountDay - 1)
        ' Randomize()
        For i = 0 To CountDay - 1
            D(i) = CInt(r.Next(-10, 11)) 'CInt(Rnd() * 20 - 10)
            N(i) = CInt(r.Next(-10, 11)) 'CInt(Rnd() * 20 - 10)
            S1 &= CStr((D(i)) & " ")
            S2 &= CStr((N(i)) & " ")
        Next
        S &= "Массив 1:" & vbCrLf & S1 & vbCrLf & "Массив 2:" & vbCrLf & S2 & vbCrLf
        If D(0) < N(0) Then MaxDif = (D(0) - N(0)) Else MaxDif = (N(0) - D(0))
        iMax = 0
        For i = 0 To CountDay - 1
            If D(i) < N(i) Then t = (D(i) - N(i)) Else t = (N(i) - D(i))
            If Math.Abs(t) > Math.Abs(MaxDif) Then MaxDif = t : iMax = i
        Next
        S &= "Максимальная разница между элементами № " & iMax + 1 & " равна " & Math.Abs(MaxDif)
        TextBox3.Text = Str(Math.Abs(MaxDif))
        MsgBox(S)


Похожие ответы
  1. Измучался! Понятно - не ас, хоть в VB.Net не первый день. Но уже двое суток бьюсь и никак! Помогите: Есть dll написанная в Delphi (с частями исходников), пытаюсь из неё получать информацию и получаю вечные - "PInvoke не возвращает Variable" или разнообразие типа того... В общем вызываю функции а результат вечно никак... Вот отрывок кода из Delphi:Delphi1 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 Library NativeDll;   uses   SysUtils,   Windows;   type     PImageSet = ^TImageSet;   TImageSet = packed record     Size     : Word;     FileName : Array[0..200] of Char;   end;     MsgSet = ^TMsgSet;   TMsgSet = packed record     Size     : Word;     Msg      : Array[0..200] of Char;   end;   function GetImage( Card: DWORD; Info: PImageSet ): Integer; stdcall; export; begin   Result := 1;   if Card = 5 then begin     Result := 0;     Info^.FileName := 'BOOBLE.BMP';   end; end;   function GetMessage( Card: DWORD; Info: MsgSet ): Integer; stdcall; export; begin   Result := 1;   if Card in [1..100] then begin     Result := 0;     Info^.Msg := 'Привет Васек!';   end; end;   exports   GetMessage,   GetImage;   begin end.Вызываю примерно так:vb.net1 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 Imports System Imports System.Text Imports System.Runtime.InteropServices   Public Class NativeDelphi       Public Structure PImageSet         Dim Size As Int16         Dim FFile() As Char ' пробовал всякое     End Structure       Public Structure MsgSet         Dim Size As Int16         Dim Foto() As Char ' пробовал всякое     End Structure       _     Public Shared Function GetImage(ByRef Results As PImageSet) As Integer     End Function       ' и пробовал так       _     Public Shared Function GetMessage( ByRef Result As MsgSet)     End Function   End ClassОшибки да и только. Уж вынес весь мозг. Перепробовал всякое. В инете толковых преобразований Delphi->VB.NET (особенно по поводу packed record и его понимания в VB.NEt, а задом чую - что собака там залежалась) не видать. В общем если не решу - сопьюсь братцы... (и так литров 15 пива выпил в поиске да кучу сайтов (по сиг с каждого) покурил) Пожалейте здоровие мое! PS: На счет маршалить - тут я честно говоря лох. Мож чего не так понимаю. Ясно одно - данные из дельфей приходят пакетом вполне упорядоченной структуры и размером, а как его жевать в VB.NET мне пока непонятно. И есть еще один, для меня пока совсем непонятный тип - PChar (да не, про него я начитался вдоволь, просто непонятно - как его правильно принять из DLL Дельфей в VB.NET, учитывая, что он упакованный) В общем плиз HELP! Заранее ПАСИБО!

  1. Друзья, спасите! Заблудился в трех соснах: GaphicsPath, Region и Intersect. Вот пример задачи: Кликните здесь для просмотра всего текста vb.net1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25     Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint         'исходные фигуры - прямоугольник rect и замкнутый контур grpth         Dim rect As New Rectangle(70, 120, 160, 120)         Dim pts As Point() = {New Point(100, 100), New Point(100, 200), New Point(200, 200), New Point(200, 300),                               New Point(300, 300), New Point(300, 100), New Point(100, 100)}           Dim grpth As New GraphicsPath(pts, {0, 1, 1, 1, 1, 1, 1})         '==========         Dim reg As New Region(grpth)         'часть прямоугольника внутри контура         reg.Intersect(rect)         e.Graphics.FillRegion(Brushes.Yellow, reg)         'отодвинем результирующий регион для наглядности         Dim mx As New Matrix         mx.Translate(250, 0)         reg.Transform(mx)         e.Graphics.FillRegion(Brushes.Yellow, reg)         'сверху рисуем исходные фигуры         e.Graphics.DrawPath(Pens.Blue, grpth)         e.Graphics.DrawRectangle(Pens.Red, rect)         'что дальше???         Dim newGraphicsPath As New GraphicsPath '= reg.???????         End Sub и картинка: Кликните здесь для просмотра всего текста Надо получить GraphicsPath желтого Region. Либо сразу GraphicsPath общей области красной и синей фигуры.

  1. Привет! Всю мужскую половину этого замечательного форума с праздником! Парни, возник вопрос. Нужна помощь. Есть две строки: cybErforum cyberfoRum Как более быстро и правильно можно получить индексы отличающихся символов подстроки? В примере выше, это индексы 3 и 7. Как их получить?

  1. Здравствуйте, я бы хотел реализовать открытие программы(в автозагрузки windows) в фоновом виде.Windows Batch file1 myapp.exe -hideНе знаю как получить параметр(argument).vb.net1 2 3 4 5  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load         If argument = "hide" Then             Me.Hide()         End If     End SubПожалуйста, помогите решить данную задачу заранее Спасибо!

  1. Из символов одного текста с помощью строковых функций о операций конкатенация получить другой текст. Из «индивидуальность» получить «диво» и «лавина» Преобразовать текст: Из теста «каков поп, таков и приход» получить текст «каков приход, таков и поп»

  1. Всем доброго времени суток. Необходимо мониторить размер свободного места на сетевом диске. Есть IO.DriveInfo.TotalFreeSpace но с помощью него можно получить информацию о дисках только на локальном компьютере. А как подключиться к компьютеру в локальной сети (например, имеющему адрес 192.168.x.x)? Заранее всем спасибо.

  1. Доброго времени суток! Как можно получить выбранный цвет элементов Windows.

  1. Привет всем. Нужно сделать так чтобы размеры ellips менялись при помощи numericupisdown в запущенной форме.Вот код vb.net1 2 3 4 5 6 7 Public Sub Form1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint         '         Dim ellips As New RectangleF(0, 0, 20, 20)           e.Graphics.DrawEllipse(Pens.Red, ellips)           End Sub

  1. Здравствуйте, как можно вытащить все разделы которые находятся в HKEY_CLASSES_ROOT\DesktopBackground\Shell\ ?

  1. Здравствуйте, помогите пожалуйста со следующей задачей. Мне нужно "вытащить" все картинки из документа Word и занести их в ячейки грида. Через гугл нашел следующий способ:vb.net1 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         For Each wFile In My.Computer.FileSystem.GetFiles(Path)             If wFile.EndsWith("doc") Or wFile.EndsWith("docx") And wFile.Contains("~$") = False Then                 Dim appWd As Application = New Application                 appWd.Visible = False                 Dim docWd As Document = appWd.Documents.Open(wFile)                 Dim col As New DataGridViewComboBoxColumn                 With col                     .HeaderText = "Figure"                 End With                 Dim imgCount As Integer                   dgvMain.Rows.Add()                   For imgCount = 1 To docWd.Shapes.Count                     docWd.Shapes(imgCount).Select()                     appWd.Selection.CopyAsPicture()                     dgvMain.Columns.Add(col)                     If Clipboard.ContainsImage Then                         dgvMain.Rows(0).Cells(imgCount).Value = Clipboard.GetImage                         PictureBox1.Image = Clipboard.GetImage                     End If                 Next                   docWd.Close()                 appWd.Quit()             End If         NextДаже если в PictureBox и появляется картинка, то она далеко не последняя в документе, что говорит о том, что не все изображения обрабатываются. В датагриде заполняется только одна ячейка, и не картинкой, а надписью System.Drawing.Bitmap. Заранее спасибо.