Показать сообщение отдельно
  #1  
Старый 27.05.2011, 14:32
Руслан1993 Руслан1993 вне форума
Прохожий
 
Регистрация: 27.05.2011
Сообщения: 2
Репутация: 10
Вопрос проблемы с программой

Извините народ если отвлекаю но не кто не сможет мне помочь... дело в том что у меня при нажатии кнопки на которой описано событие программа выдает не то что нужно

Код:
procedure TForm1.Button2Click(Sender: TObject);
var i,j,k:integer;
   mas:PIntArray;
   masIt:PIntArray;
   chislo:integer;
   kol:integer;
   nItems:integer;
begin
j:=1;
Label1.Caption:='';
kol :=StrToInt(Edit3.Text);
chislo:= StrToInt(edit2.text);
nItems:=(chislo*kol)+NumItems;
GetMem(masIt,nItems*SizeOf(integer));
GetMem(mas,chislo*sizeof(integer));
for i:=chislo downto 1 do
 mas^[i]:=i;
for i:=1 to NumItems-1 do
 begin
  if Items^[i]<=Items[i+1] do
     begin
       Items^[i]:=Items[i+1];
       j:=j+1;
     end;
  end;
if j < NumItems then
 begin
 for i:=0 to chislo-1 do
     masIt[i]:=mas[i];
 for k:=1 to kol-1 do
   begin
   for i:=0 to chislo-1 do
     masIt[i+(chislo*k)]:=mas[i];
   end;
 for i:=0 to NumItems-1 do
   masIt[i+(kol*chislo)]:=Items[i];
 for i:=0 to nItems-1 do
   label1.caption:=label1.caption+IntToStr(masIt[i])+' ';
   end
 else
   label1.caption:='массив упорядочен';
 
end;
Админ: Пользуемся тегами для оформлния кода!

программа проверки упорядоченности числовых элементов динамического массива. Если список неупорядоченный, то заполняю его числами, последовательно уменьшающимися на 1(например 3,2,1), начиная с заданного числа X, и добавить полученный список в начало исходного, повторяя подобную вставку заранее известное число раз.

данные по Var
i,j,k:integer;
mas:PIntArray; массивэлементов типа(3,2,1)
masIt:PIntArray массив итоговый на вывод
chislo:integer; число с которого идет отсчет
kol:integer; количество вставок
nItems:integer; количество элементов в итоговом списке

Items - это стандартный динамический массив при его генерировании на первой кнопке ошибок не возникает

если я где то намудрил помогите исправить
Ответить с цитированием