Republika
Legacy Member
hallo
ik heb een probleempje met een sorteermethode (bubblesort) in Delphi en ik hoop dat iemand mij hier kan helpen.
Het programma sorteert cijfers van groot naar klein.
Mijn probleem is nu dat ik op het einde van een reeks gesorteerde cijfers het cijfer "0" krijg en als het cijfer groter is dan 10 negeert hij het grootste cijfer.
dus als ik hem bijvoorbeeld zeg om deze cijfers van groot naar klein te sorteren "5, 6, 9, 8, 7," krijg ik dit "9, 8, 7, 6, 5,0"
Vanwaar komt die nul ?
En als ik hem zeg om deze cijfers te sorteren "98, 65, 32, 78, 12" krijg ik dit:
"78, 65, 32, 12, 0"
Waarom die 0? En waarom staat het grootste cijfer er niet bij?
code:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a:array[1..5] of integer;
p,k: integer;
begin
begin
for k:=1 to 5 do
read (a[k]);
end;
begin
for k:=1 to 15 do
begin
p:=a[k];
a[k]:=a[k+1];
a[k+1]:=p;
end;
end;
begin
for k:=1 to 5 do
write (a[k]);
end;
end.
ik heb een probleempje met een sorteermethode (bubblesort) in Delphi en ik hoop dat iemand mij hier kan helpen.
Het programma sorteert cijfers van groot naar klein.
Mijn probleem is nu dat ik op het einde van een reeks gesorteerde cijfers het cijfer "0" krijg en als het cijfer groter is dan 10 negeert hij het grootste cijfer.
dus als ik hem bijvoorbeeld zeg om deze cijfers van groot naar klein te sorteren "5, 6, 9, 8, 7," krijg ik dit "9, 8, 7, 6, 5,0"
Vanwaar komt die nul ?
En als ik hem zeg om deze cijfers te sorteren "98, 65, 32, 78, 12" krijg ik dit:
"78, 65, 32, 12, 0"
Waarom die 0? En waarom staat het grootste cijfer er niet bij?
code:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a:array[1..5] of integer;
p,k: integer;
begin
begin
for k:=1 to 5 do
read (a[k]);
end;
begin
for k:=1 to 15 do
begin
p:=a[k];
a[k]:=a[k+1];
a[k+1]:=p;
end;
end;
begin
for k:=1 to 5 do
write (a[k]);
end;
end.

(prolly is maple daarop gebaseerd dus 
