2011-11-24 4 views
0

내 게시물을 찾을 수 없습니다. 나는 실제의 변수 배열을 가지고 :파스칼 단위로 배열 재정렬, 내림차순

내 코드 모든 배열의 마지막 값까지 잘 작동으로는, 내림차순 주문해야
price = array([58.9],[38.7],[8.95],[28.3]) 

, 심지어 이유를 알고,하지만 내 자신에 대한 해결책을 찾을 수 없습니다.

Procedure orderarray; 
Var i,dz, j: Integer; 
    c :real; 
    v :string[25]; 

Begin 
dz := 1; 
For i := 1 to 3 do 
    Begin 
    For j:=i+1 to 4 do 
    if price[j]>price[dz] //searches for highest value in the array 
     then dz:=j; 
    c:=price[i]; price[i] := price[dz]; price[dz] := c; //switches current value with highest 
    End; 
+0

답변으로 바꾸고 받아 들여야합니다. – jmoreno

답변

1

나는 내 자신의 문제에 대한 해결책을 찾았습니다. 누구나 필요할 때를 대비하여 게시하십시오. 나는

Procedure orderarray; 
Var i,dz, j: Integer; 
    c :real; 
    v :string[25]; 

Begin 
For i := 1 to 3 do 
    Begin 
dz:=i; 
    For j:=i+1 to 4 do 
    if price[j]>price[dz] //searches for highest value in the array 
     then dz:=j; 
    c:=price[i]; price[i] := price[dz]; price[dz] := c; //switches current value with highest 
    End; 

어쨌든, 당신이없는 솔루션을 얻을 것이다, 당신의 도움을 주셔서 모두 감사하지 J, 난에 DZ를 재설정 할 필요가 있었다.

0

당신이 첫 번째 후 덜하기 때문에 항상 1, 마지막 요소가 이동되지 않습니다 유지됩니다 샘플 DZ에서 J 매번

for j:=i+1 to 4 do 
begin 
    dz := j; 
    if price[j]>price[dz] 
     ...; 
    c:=price[i]; ...; 
end 
+0

dz를 j로 설정 했습니까? – Valery

+0

이것은 도움이되지 못했습니다. S – SinSoul

0

에 DZ를 재설정해야 어쨌든 여기에 코드입니다.

+0

나 자신을 이해하지만 어떻게 작동 할 수 있도록 내 절차를 준비하는지 잘 모릅니다. – SinSoul