Sortiranje niza Primer niza a1 4 a2 1

  • Slides: 10
Download presentation
Sortiranje niza

Sortiranje niza

Primer niza a[1]: =4 a[2]: =1 Tj dat je niz a[3]: =10 a[4]: =5

Primer niza a[1]: =4 a[2]: =1 Tj dat je niz a[3]: =10 a[4]: =5 a[5]: =8 a[6]: =17 a[7]: =9 4, 1, 10, 5, 8, 17, 9 Želimo da ga pretvorimo u niz 1, 4, 5, 8, 9, 10, 17 Odnosno a[1]: =1 a[2]: =4 a[3]: =5 a[4]: =8 a[5]: =9 a[6]: =10 a[7]: =17 Odnosno, sortiramo prema rastućem poretku

 • Ideja je sledeća: • Prvi član upoređujemo sa drugim (pitamo da li

• Ideja je sledeća: • Prvi član upoređujemo sa drugim (pitamo da li je veći, ako je tako, zamenimo ih) • Zatim, prvi član upoređujemo sa trećim, pa sa četvrtim i tako sve dok se ne uporedi sa poslednjim. • Kada se završi upoređivanje sa prvim članom, prelazi se na drugi. • To znači da se drugi član upoređuje sa trećim, pa sa četvrtim i tako sve dok se ne uporedi sa poslednjim

Unesi niz Sortiraj u rastućem poretku

Unesi niz Sortiraj u rastućem poretku

var a: array[1. . 50] of real; n: integer: procedure TForm 1. Button 1

var a: array[1. . 50] of real; n: integer: procedure TForm 1. Button 1 Click(Sender: TObject); var i: integer; begin n: =Str. To. Int(Edit 1. Text); for i : = 1 to n do begin a[i]: =Str. To. Float(Input. Box(’Unos’, ’Unesi clan niza’, ’’)); List. Box 1. Items. add(Float. To. Str(a[i])); end;

procedure TForm 1. Button 2 Click(Sender: TObject); var i, j: integer; p: real; begin

procedure TForm 1. Button 2 Click(Sender: TObject); var i, j: integer; p: real; begin for i : = 1 to n-1 do for j: = i+1 to n do if a[i]>a[j] then begin p: =a[i]; a[i]: =a[j]; a[j]: =p; end; for i: = 1 to n do List. Box 2. Items. add(Float. To. Str(a[i])); end.

Zadatak: Unose se dva niza : A, dužine n i B dužine m. Napisati

Zadatak: Unose se dva niza : A, dužine n i B dužine m. Napisati proceduru kojim se spajaju nizovi A i B u niz C sortiran u opadajućem redosledu Unesi m Unesi niz A Unesi niz B Sortiraj spojeni niz u opadajuće m poretku

var a, b, c: array[1. . 50] of real; n, m: integer: procedure TForm

var a, b, c: array[1. . 50] of real; n, m: integer: procedure TForm 1. Button 1 Click(Sender: TObject); var i: integer; begin n: =Str. To. Int(Edit 1. Text); for i : = 1 to n do begin a[i]: =Str. To. Float(Input. Box(’Unos’, ’Unesi clan niza’, ’’)); List. Box 1. Items. add(Float. To. Str(a[i])); end;

procedure TForm 1. Button 2 Click(Sender: TObject); Begin m: =Str. To. Int(Edit 2. Text);

procedure TForm 1. Button 2 Click(Sender: TObject); Begin m: =Str. To. Int(Edit 2. Text); for i : = 1 to m do begin b[i]: =Str. To. Float(Input. Box(’Unos’, ’Unesi clan niza’, ’’)); List. Box 2. Items. add(Float. To. Str(b[i])); end; • End;

procedure TForm 1. Button 3 Click(Sender: TObject); var i, j: integer; p: real; begin

procedure TForm 1. Button 3 Click(Sender: TObject); var i, j: integer; p: real; begin For i: = 1 to n do c[i]: =a[i]: For i: = 1 to m do c[n+i]: =b[i]; for i : = 1 to m+n-1 do for j: = i+1 to m+n do if c[i]<c[j] then begin p: =c[i]; c[i]: =c[j]; c[j]: =p; end; for i: = 1 to m+n do List. Box 3. Items. add(Float. To. Str(c[i])); end.