у мня вопрос по сортировке пузырьком таблице стринг грид в delphi 7
for i1:=1 to sg.rowcount-1 do а сдесь - 1
for i:=1 to sg.rowcount-2 do почему сдесь -2?
if strtoint(sg.Cells[1,i]) > strtoint(sg.Cells[1,i+1]) then
begin
label2.Caption:=sg.Cells[1,i];
sg.Cells[1,i]:=sg.Cells[1,i+1];
sg.Cells[1,i+1]:=label2.Caption;
Другие языки программирования и технологии
delphi таблица
Для этого нужно знать сам метод сортировки!
Прочти, к примеру, на Википедии…
Прочти, к примеру, на Википедии…
> потому всегда нужно брать от 0
Не болтай ерундой.
Стринггрид модет иметь фиксированные строки заголовков таблицы, которые не должны учавствовать в сортировке данных, потому как заголовки не относятся к данным.
Не болтай ерундой.
Стринггрид модет иметь фиксированные строки заголовков таблицы, которые не должны учавствовать в сортировке данных, потому как заголовки не относятся к данным.
procedure Bubble(n: longint);
var b,t,j:longint;
r: string;
begin
b:=n; with form1.stringgrid1 do
while b<>0 do begin
t:=0;
for j:=1 to b-1 do if strtoint(cells[ 2,j ])>strtoint(cells[ 2,j+1 ])
then begin r:=cells[ 2,j+1 ]; cells[ 2,j+1 ]:=cells[ 2,j ];
cells[ 2,j ]:=r; t:=j; end ; b:=t; end;
end;
Вот процедура выполняющая сортировку пузырьковую. Можешь столбец любой взять, а не второй, как в процедуре описано.
SkYneT
>Быдло-код
Человеку 14 лет, может он вообще только-только этим делом занялся и ты от него ждешь идеального кода? Не можешь по делу помочь, вообще лучше не отвечай.
var b,t,j:longint;
r: string;
begin
b:=n; with form1.stringgrid1 do
while b<>0 do begin
t:=0;
for j:=1 to b-1 do if strtoint(cells[ 2,j ])>strtoint(cells[ 2,j+1 ])
then begin r:=cells[ 2,j+1 ]; cells[ 2,j+1 ]:=cells[ 2,j ];
cells[ 2,j ]:=r; t:=j; end ; b:=t; end;
end;
Вот процедура выполняющая сортировку пузырьковую. Можешь столбец любой взять, а не второй, как в процедуре описано.
SkYneT
>Быдло-код
Человеку 14 лет, может он вообще только-только этим делом занялся и ты от него ждешь идеального кода? Не можешь по делу помочь, вообще лучше не отвечай.
Быдло-код. Но все же, насколько мне известно, нумерация строк и столбцов в StringGrid идет с нуля, потому всегда нужно брать от 0 до количество_строк_или_столбцов - 1, а -2 у тебя потому, что в сортировке пузырьковой внешний цикл идет до количество_строк_или_столбцов - 1 минус 1. И я что-то не увидел тут сортировки пузырьком.
Так правильнее:
for i1 := 0 to sg.rowcount - 2 do
for i := 0 to sg.rowcount - i1 do
if strtoint(sg.Cells[i,i1]) > strtoint(sg.Cells[i,i1+1]) then
begin
label2.Caption := sg.Cells[i,i1]; // Вообще пздц оО. Отдельную переменную заведи стринговую, например, var buf: string;
sg.Cells[i,i1] := sg.Cells[i,i1+1];
sg.Cells[i,i1+1] := label2.Caption;
end;
Так правильнее:
for i1 := 0 to sg.rowcount - 2 do
for i := 0 to sg.rowcount - i1 do
if strtoint(sg.Cells[i,i1]) > strtoint(sg.Cells[i,i1+1]) then
begin
label2.Caption := sg.Cells[i,i1]; // Вообще пздц оО. Отдельную переменную заведи стринговую, например, var buf: string;
sg.Cells[i,i1] := sg.Cells[i,i1+1];
sg.Cells[i,i1+1] := label2.Caption;
end;
Похожие вопросы
- Согласны с этим - Глубинные причины ненависти к Delphi/Pascal ?
- У кого нибудь есть таблица описания кода ошибкок в Delphi (C++ Builder)?
- подскажите как средствами delphi добавить записи в подчененную таблицу Access!
- Delphi:Прочитал, что если при динамическом создании компонента если указать Name объекта, то в последующем можно ->
- Как в Delphi сделать справку?
- Помогите найти ошибку Delphi легкая программка
- Delphi ПОМОГИТЕ ПОЖАЛУЙСТА!
- Какая концепция таблиц в БД MySQL лучше?
- Задача на Delphi. Аааа решите пожалуйста :'(
- Про Delphi