sortowanie przez wybor mam gdzies tu blad ale nie wiem gdzie

0
program wybor;
uses crt;
var
        a:array[1..100] of byte;
       k, n,i,z,j:byte;
        l:real;
begin
clrscr;
write('podaj ilosc elementow');
readln(n);
writeln;
for i:=1 to n do
begin
write('podaj' ,i, ' element: ');
readln(a[i]);
end;
writeln;
write('ciag przed uporzadkowaniem: ');
for i:=1 to n do write(a[i], ' ');
writeln;
for i:=1 to n-1 do
        begin
                k:=i;
                        for j:=i+1 to n do
                                begin
                                        if a[j]<a[k] then {begin}
                                        k:=j;
                                        z:=a[i];
                                        a[i]:=a[k];
                                        a[k]:=z; {end else begin k:=2;
                                        z:=a[i];
                                        a[i]:=a[k];
                                        a[k]:=z; end;}
                                end;
                        end;
                writeln;
                write(' ciag uporzadkowany przez wybor:  ');
                        for k:=1 to n do
                        write(a[k], '  ');
                        writeln;
                        writeln;
                        write('          liczba porownan   ');
                        l:=n*(n-1)/2;
                        writeln(l:3:0);
                        readln;
                        end.
0

Twoim głównym problemem jest brak formatowania kodu, dlatego nic w nim nie widzisz; Popraw to i wstaw w odpowiednie znaczniki <code class="delphi">Tutaj Twój kod</code>;

Po drugie jeśli chcesz znaleźć błąd to zapoznaj się z innym algorytmem znalezionym w sieci i zobacz na czym to polega i jak to ma wyglądać;

Tutaj masz artykuł z wikipedii;

1

Dokładny opis sortowania tutaj

0
program xxx;

uses crt;

const nMax=100;

var tab: array[1..nMax] of Integer; 
    i, j, x, pmin, n: integer; 

begin 
  clrscr; 
  write('Podaj ilosc liczb 0 < n < 100: '); 
  readln(n); 
  randomize; 
  for i := 1 to n do 
    tab[i] := random(100)+1; 
  writeln('Ciag nieposortowany: '); 
  for i := 1 to n do 
    write('  ', tab[i]); 


  {sortowanie} 
  for j := 1 to n - 1 do 
  begin 
    pmin := j; 
    for i := j + 1 to n do 
      if tab[i] < tab[pmin] then pmin := i; 
    x := tab[pmin]; 
    tab[pmin] := tab[j]; 
    tab[j] := x; 
  end; 

  writeln; 
  writeln('Ciag posortowany: '); 
  for i := 1 to n do 
    write('  ', tab[i]); 
  readkey; 
end.

1 użytkowników online, w tym zalogowanych: 0, gości: 1