{$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin with StringGrid1 do for i:=0 to ColCount -1 do for j:=0 to RowCount -1 do cells[i,j]:=inttostr(random(50)+1); end;
procedure TForm1.Button2Click(Sender: TObject); var temp:integer; begin with StringGrid1 do for i:=1 to ColCount -1 do for j:=0 to RowCount -1 do if StrToInt(cells[i,j])>StrToInt(cells[i-1,j]) then begin temp:=StrToInt(cells[i-1,j]); cells[i-1,j]:=cells[i,j]; cells[i,j]:=IntToStr(temp); end; end;
begin randomize; end.
Код для стрингрида и двух кнопок. Первая формирует, вторая сортирует по убыванию
Помогите плиз: 1.сортировка происходит с шагом на одну клетку, как сделать что бы они выстроились в нужную последовательность после 1 нажатия? 2. нужно сосчитать сумму чисел в строке и выстроить строки по возрастанию этого самого числа
? Вот где здесь, в задании, сказано что-то про какую-то сумму? Процитируй мне это, может у меня что-то с глазами?
Не хочу тебя расстраивать, но...
Цитата
Код для стрингрида и двух кнопок. Первая формирует, вторая сортирует по убыванию
Помогите плиз: 1.сортировка происходит с шагом на одну клетку, как сделать что бы они выстроились в нужную последовательность после 1 нажатия? 2. нужно сосчитать сумму чисел в строке и выстроить строки по возрастанию этого самого числа
Client СПАСИБО
А можно обойтись без массива в этом задании? Все операции сделать в стринггриде? Это ведь тоже массив
type a=array [1..5] of integer; m=array [1..5] of a; const n=5; var Form1: TForm1; mas:m;
implementation
{$R *.dfm}
procedure refreshtable; var i,j:byte; begin for i:= 1 to n do for j:= 1 to n do Form1.StringGrid1.Cells[j-1,i-1]:=IntToStr(mas[i,j]); end;
procedure TForm1.Button1Click(Sender: TObject); var i,j:byte; s:integer; begin for i:= 1 to n do begin s:=0; for j:= 1 to n do begin mas[i,j]:=Random(50)+1; s:=s+mas[i,j]; end; StringGrid1.Cells[5,i-1]:=IntToStr(s); end; refreshtable; end;
procedure TForm1.Button3Click(Sender: TObject); var i,j:byte; s:string; k:a; begin for i := 1 to 4 do for j := 1 to n-i do if (StrToInt(StringGrid1.Cells[5,j]) < StrToint(StringGrid1.Cells[5,j-1])) then begin k:=mas[j]; mas[j]:=mas[j+1]; mas[j+1]:=k; s:=StringGrid1.Cells[5,j-1]; StringGrid1.Cells[5,j-1]:=StringGrid1.Cells[5,j]; StringGrid1.Cells[5,j]:=s; end; refreshtable; end;
procedure TForm1.Button2Click(Sender: TObject); var temp,i,j:byte; begin for i:=1 to n do for j:=0 to n do if mas[i,j]>mas[i-1,j] then begin temp:=mas[i-1,j]; mas[i-1,j]:=mas[i,j]; mas[i,j]:=temp; end; refreshtable; end; end.