Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Delaforse
0 / 0 / 2
Регистрация: 04.05.2012
Сообщений: 64
#1

Объединить массивы так, чтобы результирующий массив остался упорядоченным по убыванию - VB

15.06.2012, 17:51. Просмотров 562. Ответов 3
Метки нет (Все метки)

Даны три целочисленных массива A, B и C размера NA, NB, NC соответственно, элементы которых упорядочены по убыванию. Объединить эти массивы так, чтобы результирующий целочисленный массив D (размера NA + NB + NC) остался упорядоченным по убыванию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2012, 17:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Объединить массивы так, чтобы результирующий массив остался упорядоченным по убыванию (VB):

Объединить массивы так, чтобы результирующий массив остался упорядоченным по возрастанию (убыванию)
1.53) Даны два одномерных массива A и B размерности n, элементы которых...

Объединить эти массивы так, чтобы результирующий целочисленный массив D (размера NA + NB + NC) остался упорядоченным по убыванию.
Помогите пожалуйста! Даны три целочисленных массива A, B и C размера NA, NB,...

Объединить эти массивы так, чтобы результирующий целочисленный массив D (размера NA + NB + NC) остался упорядоченным по убыванию.
Даны три целочисленных массива A, B и C размера NA, NB, NC соответ-ственно,...

Объединить массивы так, чтобы результирующий остался упорядоченным по убыванию
Даны три целочисленных массива A, B и C размера Na, Nb, Nc соответственно,...

Объединить массивы так, чтобы результирующий массив остался упорядоченным по возрастанию
Даны два массива A и B, элементы которых упорядочены по возрастанию. Объединить...

Объединить массивы так, чтобы результирующий массив C остался упорядоченным по возрастанию
С помощью массива. Даны два массива A и B размера 5, элементы которых...

3
Catstail
Модератор
23531 / 11641 / 2034
Регистрация: 12.02.2012
Сообщений: 18,981
15.06.2012, 18:38 #2
Visual Basic
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Sub Merge2(A() As Integer, B() As Integer, R() As Integer)
 
   ia% = LBound(A, 1)
   ib% = LBound(B, 1)
   ir% = 0
   
   Do
   
      ca% = A(ia%)
      cb% = B(ib%)
            
      If ca% >= cb% Then
         ir% = ir% + 1
         R(ir%) = ca%
         ia% = ia% + 1
      Else
         ir% = ir% + 1
         R(ir%) = cb%
         ib% = ib% + 1
      End If
      
      If (ia% > UBound(A, 1)) Then
         For i% = ib% To UBound(B, 1)
             ir% = ir% + 1
             R(ir%) = B(i%)
         Next i%
         Exit Do
      End If
      
      If (ib% > UBound(B, 1)) Then
         For i% = ia% To UBound(A, 1)
             ir% = ir% + 1
             R(ir%) = A(i%)
         Next i%
         Exit Do
      End If
   
   Loop
 
End Sub
 
Sub Merge3(A() As Integer, B() As Integer, C() As Integer, R() As Integer)
 
Dim Tmp() As Integer
 
    n1% = UBound(A, 1) - LBound(A, 1) + 1
    n2% = UBound(B, 1) - LBound(B, 1) + 1
 
    n3% = n1% + n2%
    
    ReDim Tmp(1 To n3%) As Integer
    
    Merge2 A, B, Tmp
    
    Merge2 Tmp, C, R
 
End Sub
 
Sub Task()
 
Dim A(1 To 10) As Integer
Dim B(1 To 4) As Integer
Dim C(1 To 5) As Integer
 
Dim R(1 To 19) As Integer
 
    A(1) = 10
    A(2) = 8
    A(3) = 7
    A(4) = 6
    A(5) = 5
    A(6) = 4
    A(7) = 4
    A(8) = 3
    A(9) = 3
    A(10) = 0
 
    B(1) = 10
    B(2) = 8
    B(3) = 7
    B(4) = 6
 
    C(1) = -9
    C(2) = -11
    C(3) = -12
    C(4) = -54
    C(5) = -154
 
    Merge3 A, B, C, R
 
    For i% = 1 To 19
        Debug.Print R(i%)
    Next i%
 
End Sub
Собственно решение - Merge2 + Merge3; Task - это проверка.
0
Delaforse
0 / 0 / 2
Регистрация: 04.05.2012
Сообщений: 64
15.06.2012, 18:50  [ТС] #3
пишет out of memory
0
Catstail
Модератор
23531 / 11641 / 2034
Регистрация: 12.02.2012
Сообщений: 18,981
16.06.2012, 13:20 #4
Открываешь проект, нажимаешь Alt-F11 - откроется окно разработки. Жмешь Ctrl-G и запускаешь Task
0
Вложения
Тип файла: zip Задачи-VBA-5.zip (8.3 Кб, 9 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2012, 13:20
Привет! Вот еще темы с решениями:

Объединить массивы так, чтобы результирующий массив C остался упорядоченным по возрастанию
1.Даны два массива A и B, элементы которых упорядочены по возрастанию....

Объединить массивы так, чтобы результирующий массив С (размеры 10) остался упорядоченным по возрастанию
Даны два массива А и В размера 5, элементы которых упорядочены по возрастанию....

Объединить два массивы так, чтобы результирующий массив остался упорядоченным по возрастанию
Пожалуйста, помогите решить задачу, желательно с объяснениями! Даны два...

Объединить массивы так, чтобы результирующий массив С (размера 10) остался упорядоченным по возрастанию
6.Даны два массива А и В размера 5, элементы которых упорядочены по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru