![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Alucard |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 15 Пол: Мужской Реальное имя: Влад Репутация: ![]() ![]() ![]() |
var Код для стрингрида и двух кнопок. Первая формирует, вторая сортирует по убыванию Помогите плиз: 1.сортировка происходит с шагом на одну клетку, как сделать что бы они выстроились в нужную последовательность после 1 нажатия? 2. нужно сосчитать сумму чисел в строке и выстроить строки по возрастанию этого самого числа |
![]() ![]() |
Alucard |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 15 Пол: Мужской Реальное имя: Влад Репутация: ![]() ![]() ![]() |
Цитата ? Вот где здесь, в задании, сказано что-то про какую-то сумму? Процитируй мне это, может у меня что-то с глазами? Не хочу тебя расстраивать, но... Цитата Код для стрингрида и двух кнопок. Первая формирует, вторая сортирует по убыванию Помогите плиз: 1.сортировка происходит с шагом на одну клетку, как сделать что бы они выстроились в нужную последовательность после 1 нажатия? 2. нужно сосчитать сумму чисел в строке и выстроить строки по возрастанию этого самого числа Client СПАСИБО А можно обойтись без массива в этом задании? Все операции сделать в стринггриде? Это ведь тоже массив Код unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; 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. Что то не так с последней процедурой Сообщение отредактировано: Alucard - 22.04.2010 18:28 |
![]() ![]() |
![]() |
Текстовая версия | 7.08.2025 1:10 |