Показать сообщение отдельно
  #4  
Старый 12.05.2014, 00:25
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от xxxmaximal
не сортирует(вывод не правильный у меня по идее)
Функция сортировки в точности соответствует оригиналу (не считая "перемены мест слагаемых"), поэтому она не может не сортировать или неправильно сортировать. А вот используется она неправильно - у тебя фактически 2 массива (под именем v). Вот и получается что из memo1 заполняется тот массив v что объявлен в методе Button1Click, сортируется тот массив v что объявлен в процедуре qSort, а отображается в memo2 опять тот массив v что в методе Button1Click, который естественно не претерпел никаких сортировок или других изменений с момента его заполнения из memo1.

Для решения этой проблемы, в простейшем случае просто объяви этот массив глобальным, до процедур qSort и Button1Click, и убери объявление этого массива из других мест:
Код:
var
  v: array[1..80]of Integer;

procedure qSort(l, r: Integer);
var
  i, j: Integer;
  w, q: Integer;
begin
.....Дальше по тексту
procedure TForm1.Button1Click(Sender: TObject);
var
  i, n, r: Integer;
begin
.....Дальше по тексту
Ответить с цитированием