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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2015, 19:45   #1
Yurec2407
 
Регистрация: 08.06.2014
Сообщений: 8
По умолчанию Написать коментарии к двум строкам строкам в программе на VBA

Private Sub пирсорт_Click()
ReDim d(Колстолб)
For i = 1 To Колстолб
d(i) = Int(Rnd() * 100)
Worksheets(1).Cells(1, i) = d(i)
Next
C = 1
n = Val(Колстолб)
While n > 0
ReDim Preserve d(n) 'пояснить строку и её назначение
sort
b = d(1)
d(1) = d(n)
d(n) = b
Worksheets(1).Cells(2, C) = d(n)
C = C + 1
n = n - 1
Wend
End Sub
Sub sort()
k = Int(n / 2)
For i = k To 1 Step -1
k1 = 2 * i
If n >= 2 * i + 1 Then
k2 = 2 * i + 1
If d(i) < d(k1) Or d(i) < d(k2) Then 'пояснить, для чего нужна эта проверка
If d(k1) < d(k2) Then
b = d(i)
d(i) = d(k2)
d(k2) = b
Else
b = d(i)
d(i) = d(k1)
d(k1) = b
End If
End If
Else
If d(k1) > d(i) Then
b = d(i)
d(i) = d(k1)
d(k1) = b
End If
End If
Next
End Sub
Yurec2407 вне форума Ответить с цитированием
Старый 29.01.2015, 13:38   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

ReDim Preserve d(n)
перевыделяет память под динамический массив с сохранением тех элементов которые в нем были раньше


это пирамидальная сортировка
вам нужно почитать описание на сайте http://algolist.manual.ru/sort/pyramid_sort.php

Код:
If d(i) < d(k1) Or d(i) < d(k2) Then 'пояснить, для чего нужна эта проверка
[I]"Таким образом, для массива, хранящего в себе пирамиду, выполняется следующее характеристическое свойство: a[i] >= a[2i+1] и a >= a[2i+2]."
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 30.01.2015, 12:54   #3
Yurec2407
 
Регистрация: 08.06.2014
Сообщений: 8
По умолчанию

Спасибо большое
Yurec2407 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу которая вводит по строкам с квеатуры двумерные массивы и вычисляет сумму его элементов по строкам таня99 Паскаль, Turbo Pascal, PascalABC.NET 3 23.05.2012 20:23
Поиск по двум строкам в БД Tanzor69 Помощь студентам 5 06.11.2011 17:35
Написать Коментарии к программе Torres123 Помощь студентам 6 03.02.2011 19:00
Написать программы по массивам и строкам [Паскаль] АлинКО Помощь студентам 3 15.12.2010 16:29
Помогите написать программу на Си по строкам champion92 Общие вопросы C/C++ 8 11.11.2009 16:33