Q&A

  • 이거 할줄아는사람없나여 진짜??
합계를 정렬하려하려합니다.

begin

with stringgrid1 do

begin

i:=1;

while (rowcount>i) AND (rowcount>i+1) do

begin

d:=i+1;

while rowcount>d do

begin

if strtoint(cells[5,i])>strtoint(cells[5,d]) then

begin

v:=cells[5,i];

cells[5,i]:=cells[5,d];

cells[5,d]:=v;

end

d:=d+1;

end;

i:=+1;

end;

end;

end;

이건 제가 해보려했던건데 어디가잘못되서인지 에러뜨네요

--------------------------

서비스이용자| 합계 |

--------------------------|

XX | 200 |

--------------------------|

dx | 100 |

--------------------------|

bx | 400 |

--------------------------|

AA | 50 |

---------------------------

이런식으로 스트링그리드에 값이 출력되었을때 정렬버튼을누르면

합계값을가지고 내림차순하려합니다.

그런데 버블 정렬하고 순차정렬의 알고리즘을 이용하려해도 써본적이없어서

힘드네요...

합계는 cells[0,5] 입니다.. 아래로간다면 cells[1,5] ....cells[2,5] 이렇게되겠죠

그렇다면 cells는 정수이기때문에 비교가안돼죠..그래서 integer로 바꿔줘서 비교했거든요 그리고나서 만약 아래숫자가 더 작다면 바뀌게해놨죠...그런데 문제는

제가 한대로한다면 100 , 200,50, 400 이렇게 될거같습니다..하지만

100, 200 , 400 , 50 에서 에러가뜨네요..ㅡ.ㅡ;;

몇시간째 여기서 시간보네내요... 누가 좀 도와주세요...ㅠ.ㅠ



7  COMMENTS