Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
strngGrid
помогите перевести с паскаля на дельфи, с использованием стринггрида, есть 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.
1 | Автор: enable23 | 2011-05-26, 19:41   |  Репутация: [ + 0 ]
помогите решить задачу.

Дан вектор А из вещественных чисел преобразовать этот вектор так, чтобы сначала были расположены все отрицательные, а затем все положительные компоненты в порядке их следования.

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.
2 | Автор: leisanka | 2012-05-27, 21:12   |  Репутация: [ + 0 ]
  • Страница 1 из 1
  • 1
Поиск: