Напишіть програму для реалізації процедури сортування даних методом обмінів
з глобально оголошеного одновимірного масиву цілих чисел. Використовуючи
процедуру виводу масиву з Вправи 10.2 доповніть програму кодом для реалізації
наступних дій:
1) прочитати масив цілих чисел з багаторядкового текстового поля;2) вивести невідсортований масив до другого текстового поля Edit1;
3) відсортувати масив;
4) вивести відсортовані дані до третього текстового поля Edit2.
Для реалізації п.2 та п.4 однією процедурою передбачте параметр типу TEdit для передачі в процедуру поля, у яке слід вивести результат.
Один із варіантів розв'язку вправи:
var
words: array[1..100] of integer;
p: integer;
procedure WriteArray (Edit:TEdit);
var i:integer;
begin
Edit.Text:='';
for i:=1 to p do begin
Edit.Text:=Edit.Text+' '+IntToStr(words[i]);
end;
Edit.Text:=Trim(Edit.Text);
end;
procedure Sort;
var i,j,tmp:integer;
begin
for i:=1 to p-1 do begin
for j:=i+1 to p do begin
if words[i]>words[j] then begin
tmp:= words[i];
words[i]:=words[j];
words[j]:=tmp;
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender:
TObject);
var i:integer;
s:string;
begin
s := trim(Memo1.Text);
while pos(#13, s)<>0 do
Delete(s,pos(#13, s),1);
while pos(#10, s)<>0 do
Delete(s,pos(#10, s),1);
p:=0;
while pos(' ', s) <> 0 do
begin
p:=p+1;
words[p]:=StrToInt(copy(s,1,pos(' ', s)-1));
delete(s,1,pos(' ',
s));
end;
p:=p+1;
words[p]:=StrToInt(s);
WriteArray(Edit1);
Sort;
WriteArray(Edit2);
end;
Немає коментарів:
Дописати коментар