![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.12.2018
Сообщений: 10
|
![]()
помогите с задачей. Элементы вещественных массивов А и Б расположены по возрастанию. создать из них массив С, в котором числа упорядочены так же. я что-то пытался, что-то подсказали но итоге полученое не правильно работает. уже не знаю, что не так помогите.
Sub z4() Dim a(), b(), c, d, e() As Integer c = CInt(InputBox("введите количество элементов массива А")) d = CInt(InputBox("введите количество элементов массива B")) i = 1 ReDim a(1 To c) For i = 1 To c a(i) = CInt(InputBox("введите элементы массива А")) Next i ReDim b(1 To d) For i = 1 To d b(i) = CInt(InputBox("введите элементы массива В")) Next i ReDim e(1 To c + d) For i = 1 To c e(i) = a(i) Next i For j = 1 To d e(i) = b(j) Next j For i = 1 To sizeArr - 1 If e(i) > e(i + 1) Then e(i) = e(i + 1): e(i + 1) = e(i) Next i s = "" For i = 1 To c + d s = s + CStr(e(i)) + " " Next i MsgBox s End Sub |
![]() |
![]() |
![]() |
#2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]()
1. Согласно заданию данные упорядоченные по возрастанию, но в коде это никак не контролируется
2. При передаче значений из второго массива в объединенный, надо і инкриминировать
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.12.2018
Сообщений: 10
|
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,318
|
![]()
1. Используй тэг [code] (ранее это был символ #) для правильного форматирования кода. Форматированный код легче читать. Смотри строку кнопок выше окна редактирования.
2. Обрати внимание на этот цикл Код:
Код:
Существуют циклы, например в Си, когда переменная цикла описывается в теле цикла и после его (цикла) завершения, переменная не определена. Лучше: Код:
Поскольку массивы неравной длинны, то оставшиеся элементы более длинного массива просто копируй в "хвост". Если я правильно понял задачу ![]()
Как-то так, ...
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,574
|
![]() |
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 20.12.2018
Сообщений: 10
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,318
|
![]() Цитата:
Например такому: 1. Задаём начальные значения переменным, которые будут индексами массива: i, j, k - для a(), b() и e() соответственно 2. В цикле While ... (условие цикла надо задать) 3. Если a(i) < b(j): e(k) = a(i), i = i + 1 4. Иначе e(k) = b(j), j = j + 1 5. k = k + 1 6. Переход в голову цикла 7. Остаток массива (a() или b() - надо понять какого) перенести в массив e(). При этом надо понимать, что возможна ситуация, когда все элементы одного массива окажутся между двумя соседними элементами второго.
Как-то так, ...
|
|
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 20.12.2018
Сообщений: 10
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,318
|
![]()
Хорошо, вот код на Паскале, который поясняет предложенный алгоритм.
Возможно, что это не самое оптимальное решение, но ... Думаю что перевести на VB будет легко.
Как-то так, ...
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 20.12.2018
Сообщений: 10
|
![]()
ясно что ничего не ясно. Можно всё-таки обычную сортировку к объединённому массиву впихнуть? подскажите желательно с этой сортировкой. а то с вашим методом я вообще запутался.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите решить задачу, используя циклы (без массивов) | Mas0n_ | Общие вопросы C/C++ | 4 | 26.10.2016 22:29 |
Задачи на обработку одномерных массивов (помогите решить все на паскале ) | Жаннулька | Помощь студентам | 9 | 21.01.2014 10:50 |
Сортировка одномерных массивов | palemupro | Помощь студентам | 4 | 01.12.2011 00:03 |
Решить в Паскале с использованием одномерных массивов | Юююлия | Помощь студентам | 2 | 19.10.2011 19:06 |