помогите перевести с паскаля на дельфи, с использованием стринггрида, есть edit, котороый задаёт размерность массива, он одномерный. вот условие: Сортировка выбором. Дана последовательность чисел a1, a2, … an. Требуется переставить элементы так, чтобы они были расположены по убыванию. Для этого в массиве, начиная с первого, выбирается наибольший элемент и ставится на первое место, а первый на место наибольшего. Затем, начиная со второго, эта процедура повторяется. Написать алгоритм сортировки выбором. вот код: Program xx; var a:array[1..100]of integer; i,j,n,q:integer; begin writeln('размерность масива'); read(n); writeln('ввод массива'); for i:=1 to n do read(a[i]); for i:=1 to n do for j:=1 to n-1 do if a[j]<a[j+1] then begin q:=a[j+1]; a[j+1]:=a[j]; a[j]:=q; end; for i:=1 to n do write(a[i],' '); readln; end.
|
|
|
помогите решить задачу.
Дан вектор А из вещественных чисел преобразовать этот вектор так, чтобы сначала были расположены все отрицательные, а затем все положительные компоненты в порядке их следования.
procedure TForm1.Button1Click(Sender: TObject); var a: array [1..100] of real; i,n:integer; begin n:=SpinEdit1.Value; for i:= 1 to n do a[i]:=StrToFloat(InputBox('ввод данных','a['+FloatToStr(i)+']=','')); StringGrid1.ColCount:=n; stringgrid1.RowCount:=1; for i:= 1 to n do begin stringgrid1.Cells [i-1,0]:=FloatToStr(a[i]); end;
end;
procedure TForm1.Button2Click(Sender: TObject); var a: array [1..100] of real; i,j,n:integer; m:real; begin n:=SpinEdit1.Value; i:= 1 to (n-1) do if a[i]>=a[i+1] then begin m:=a[i]; a[i]:=a[i+1]; a[i+1]:= m; end; StringGrid2.ColCount:=n; for i:= 1 to n do begin stringgrid2.Cells [i-1,0]:= FloatToStr(a[i]) end; end; end.
|
|
|