IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> StringGrid сортировка, по строкам
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Влад

Репутация: -  0  +


var
Form1: TForm1;
i,j:integer;
implementation

{$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. нужно сосчитать сумму чисел в строке и выстроить строки по возрастанию этого самого числа
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Что то не так с последней процедурой
Вылет за границу массива - достаточно веская причина, чтоб было "не так"?

Раз:
type
a=array [1..5] of integer;
m=array [1..5] of a;
const
n=5;
var
Form1: TForm1;
mas:m; // <--- То есть, mas: array[1 .. 5] of array[1 .. 5] of integer ?

// Тогда здесь ...
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 // <--- №1
begin
temp:=mas[i-1,j]; // <--- №2
mas[i-1,j]:=mas[i,j]; // <--- №3
mas[i,j]:=temp;
end;
refreshtable;
end;

... при i = 1 будет вылет за пределы массива. Чтобы увидеть это - даже запускать программу не надо, оно на поверхности лежит...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 14.06.2024 0:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name