Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2010, 21:58   #1
Sapphiron
Новичок
Джуниор
 
Регистрация: 20.03.2010
Сообщений: 1
По умолчанию Чтение в массив из RichTextBox(VB.Net)

Написал программу, для расчету седловой точки. Задание звучит так:

Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером n*m напечатать индексы всех ее седловых точек.

Но изначально была 1 кнопка "Открыть", при нажатии на которую открывается окошко выбора файла, чтение массива из файла и все вычисления, но требуется еще и возможность ручного ввода массива. Несколько дней сижу с 1 этим вопросом ни как не получается сделать чтение из РичТекстБокс
Не буду писать весь код вычисления, ибо длинный, но начало кода кнопки открыть:
Код:
        Dim matrix(,) As Single = Nothing
        Dim N As Integer, M As Integer

         Показываем диалог выбора файла с входной матрицей

        Dim asd As New OpenFileDialog, strok As String, stka, stka2 As Integer
        asd.Title = "Открытие файла"
        asd.InitialDirectory = "c:\"
        asd.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        asd.FilterIndex = 1
        asd.RestoreDirectory = True
        If asd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            strok = My.Computer.FileSystem.ReadAllText(asd.FileName)
            stka = strok.IndexOf(Chr(13)) : stka2 = strok.IndexOf(Chr(10))
            t1.Text = strok


            Считываем матрицу из файла в двухмерный массив numbers
 
           Dim lines = System.IO.File.ReadAllLines(asd.FileName)

            N = lines.Length
            For I As Integer = 0 To N - 1
                Dim strNumbers = lines(I).Split(" ")

                If matrix Is Nothing Then
                    M = strNumbers.Length
                    ReDim matrix(N - 1, M - 1)
                End If

                For J As Integer = 0 To M - 1
                    matrix(I, J) = CSng(strNumbers(J))
                Next

            Next
Далее идет работа с матрицей. Подскажите пожалуйста, как сделать правильное чтение матрицы их текстового поля. Я полагаю, что нужно изменить выделенные функции..
Код:
            Dim lines = RichTextBox1.Text

            N = lines.Length
            For I As Integer = 0 To N - 1
                Dim strNumbers = lines(I).Split(" ")

                If matrix Is Nothing Then
                    M = strNumbers.Length
                    ReDim matrix(N - 1, M - 1)
                End If

                For J As Integer = 0 To M - 1
                    matrix(I, J) = CSng(strNumbers(J))
                Next

            Next
Энтузиазм уже пропал, идеи кончились вся надежда только на знающих людей
Sapphiron вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение, чтение и еще раз чтение Alex Cones Общие вопросы Delphi 3 07.06.2009 15:28
richTextBox Cpluser Общие вопросы .NET 3 28.04.2009 02:39
richtextbox sergei64_89 Общие вопросы .NET 1 08.12.2008 13:53
Чтение фрагмента файла в динамический массив. ZeroCool. Общие вопросы Delphi 2 02.11.2007 08:14