powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Брать текст из списков и слаживать
15 сообщений из 15, страница 1 из 1
Брать текст из списков и слаживать
    #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
Брать текст из списков и слаживать
    #37095422
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один халявщик партнер?
Сам-то хоть что-нибудь сделал?
...
Рейтинг: 0 / 0
Брать текст из списков и слаживать
    #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
Брать текст из списков и слаживать
    #37096130
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЕще один халявщик партнер?
Сам-то хоть что-нибудь сделал?а разве копипаст на форум не работа
...
Рейтинг: 0 / 0
Брать текст из списков и слаживать
    #37096134
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
екинБрать текст из списков и слаживать Очевидно, что в итоге получится полная лажа
...
Рейтинг: 0 / 0
Брать текст из списков и слаживать
    #37096174
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович ЭндрюДа ещё наверное кнопку вставить три раза нажал подряд

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

там фактически на пальцах описание тройного вложенного цикла.
...
Рейтинг: 0 / 0
Брать текст из списков и слаживать
    #37096177
екин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну вобще, как это можно сделать, циклом чтоли? хоть примерно, пожалуйста
...
Рейтинг: 0 / 0
Брать текст из списков и слаживать
    #37096179
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proя прочитал задание внимательно.
там фактически на пальцах описание тройного вложенного цикла.
только в ТЗ не указано, куда девать результат.
А если результат не востребован, то программа может состоять только из
Sub и End Sub
...
Рейтинг: 0 / 0
Брать текст из списков и слаживать
    #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
Брать текст из списков и слаживать
    #37096184
екин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProShocker.Proя прочитал задание внимательно.
там фактически на пальцах описание тройного вложенного цикла.
только в ТЗ не указано, куда девать результат.
А если результат не востребован, то программа может состоять только из
Sub и End Sub
Результат в text4.text по строкам, или в файл .тхт
...
Рейтинг: 0 / 0
Брать текст из списков и слаживать
    #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
Брать текст из списков и слаживать
    #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
Брать текст из списков и слаживать
    #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
Брать текст из списков и слаживать
    #37100390
екин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валентин67, пропускает 1
Если брать 5 и 3, то получается
123
124
125
134
135
145
234
235
245
345


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

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

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

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

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


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