Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Брать текст из списков и слаживать / 15 сообщений из 15, страница 1 из 1
03.02.2011, 14:04
    #37095336
екин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Подскажите пожалуйста, есть 3 поля text1.text, в каждом несколько строк чисел. Нужно сделать вот что, первую строку text1.text сложить с первой строкой text2.text и первой строкой text3.text, потом первую строку text1.text сложить с первой строкой text2.text и второй строкой text3.text, потом text1.text первую строку сложить с первой строкой text2.text и третьей строкой text3.text и так пока в text3.text не подойдёт к концу. После этого сложить первую строку text1.text со второй строкой text2.text и первой строкой text3.text, потом первую строку text1.text со второй строкой text2.text и второй строкой text3.text и так пока не сложим первую строку text1.text со всеми вариантами text2.text и text3.text, потом перейдём ко второй строке text1.text и продолжим то же самое заново
...
Рейтинг: 0 / 0
03.02.2011, 14:24
    #37095422
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Еще один халявщик партнер?
Сам-то хоть что-нибудь сделал?
...
Рейтинг: 0 / 0
03.02.2011, 14:38
    #37095473
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
для затравки

Код: plaintext
1.
2.
3.
4.
dim arr() as string

arr = Split(me.text1.text, vbCrLf)

Debug.Print "Кол-во строк: " & Ubound(arr)+ 1 
...
Рейтинг: 0 / 0
03.02.2011, 18:25
    #37096130
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
AntonariyЕще один халявщик партнер?
Сам-то хоть что-нибудь сделал?а разве копипаст на форум не работа
...
Рейтинг: 0 / 0
03.02.2011, 18:29
    #37096134
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
екинБрать текст из списков и слаживать Очевидно, что в итоге получится полная лажа
...
Рейтинг: 0 / 0
03.02.2011, 18:47
    #37096174
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Ципихович ЭндрюДа ещё наверное кнопку вставить три раза нажал подряд

нет, я прочитал задание внимательно.

там фактически на пальцах описание тройного вложенного цикла.
...
Рейтинг: 0 / 0
03.02.2011, 18:49
    #37096177
екин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
ну вобще, как это можно сделать, циклом чтоли? хоть примерно, пожалуйста
...
Рейтинг: 0 / 0
03.02.2011, 18:50
    #37096179
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Shocker.Proя прочитал задание внимательно.
там фактически на пальцах описание тройного вложенного цикла.
только в ТЗ не указано, куда девать результат.
А если результат не востребован, то программа может состоять только из
Sub и End Sub
...
Рейтинг: 0 / 0
03.02.2011, 18:52
    #37096182
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
екинхоть примерно, пожалуйста
Код: plaintext
1.
2.
3.
4.
5.
6.
For i= 1  To  5 
  For j= 1  To  10 
    For k= 1  To  8 
       ...
    Next
  Next
Next
...
Рейтинг: 0 / 0
03.02.2011, 18:54
    #37096184
екин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Shocker.ProShocker.Proя прочитал задание внимательно.
там фактически на пальцах описание тройного вложенного цикла.
только в ТЗ не указано, куда девать результат.
А если результат не востребован, то программа может состоять только из
Sub и End Sub
Результат в text4.text по строкам, или в файл .тхт
...
Рейтинг: 0 / 0
04.02.2011, 06:50
    #37096812
Валентин67
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Ципихович Эндрюекин,

и так пока в text3.text не подойдёт к концу
???????
К какому концу

Так понимаю, что нужно перебрать все возможные варианты - типа, как в лотерее «Спортлото» :)

на примере - 3 из 5:
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5

екин , я угадал :) ?
...
Рейтинг: 0 / 0
04.02.2011, 09:43
    #37096999
екин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Валентин67Ципихович Эндрюекин,

и так пока в text3.text не подойдёт к концу
???????
К какому концу

Так понимаю, что нужно перебрать все возможные варианты - типа, как в лотерее «Спортлото» :)

на примере - 3 из 5:
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5

да, верно
екин , я угадал :) ?
...
Рейтинг: 0 / 0
05.02.2011, 19:26
    #37099641
Валентин67
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Свой оригинальный исходник на "болванках" не нашел, видимо он на дискету был записан, а с последними проблема - нет устройсва на компе :(
Не стал мучать себя вспомнить код (очень давно это было написано) и если вопрос еще актуален, привожу рекурсивный алгоритм (Сурменок Павел, VBNet.ru) вывода в TextBox всех сочетания из N по K:
Код: plaintext
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.
Dim X() As Integer
Dim Counter() As Integer
Dim K As Integer
Dim N As Integer
Public Sub Soch()
Dim i As Integer
    
    N = CInt(InputBox("Введите N"))
    K = CInt(InputBox("Введите K"))
    
    K = K +  1 
    
    ReDim X(N)
    
    For i =  1  To N
        X(i) = i
    Next
    txtOut.Text = ""
    
    ReDim Counter(K)
    Counter( 0 ) =  1 
    
    SochGenerate  1 
End Sub


Private Sub SochGenerate(ByVal c As Integer)
Dim i As Integer
Dim j As Integer
Dim n1 As Integer
Dim Out() As Integer
Dim X1() As Integer
    
    If c = K Then
        ReDim Out(K)
        
        X1 = X
        
        For i =  1  To K -  1 
            n1 =  0 
            For j =  1  To N
                If X1(j) <>  0  Then n1 = n1 +  1 
                If n1 = Counter(i) Then
                    Out(i) = X1(j)
                    X1(j) =  0 
                    Exit For
                End If
            Next
            txtOut.Text = txtOut.Text & CStr(Out(i))
        Next
        txtOut.Text = txtOut.Text & vbCrLf
    Else
        For Counter(c) = Counter(c -  1 ) To N - c +  1 
            SochGenerate c +  1 
        Next
    End If
End Sub

Private Sub Form_Load()
    Soch
End Sub
P.S. Элемент управления с именем textOut выставить Multiline=True (многострочный ввод текста в поле).
...
Рейтинг: 0 / 0
06.02.2011, 13:58
    #37100390
екин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Валентин67, пропускает 1
Если брать 5 и 3, то получается
123
124
125
134
135
145
234
235
245
345


123 и 134 >_<
Должно быть как начало, от 133 а не от 134
...
Рейтинг: 0 / 0
07.02.2011, 01:06
    #37101207
Валентин67
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Брать текст из списков и слаживать
Я спросил: "Нужно перебрать все возможные варианты - типа, как в лотерее «Спортлото»" ?
Вы ответили: "Да, верно"!

екинпропускает 1
! Алгоритм анализирует все возможные сочетания (см. сообщение от 5 фев 11, 19:26)

екинЕсли брать 5 и 3, то получается...
... ошибка шевалье де Мере

екинПодскажите пожалуйста,
Нужно сделать...
Должно быть как начало, от 133 а не от 134
ТЗ, "ногу сломать можно".

Что такое комбинаторика и, алгоритмы.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Брать текст из списков и слаживать / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]