12.132.01. Učitati članove i sortirati ih po opadajućem redoslijedu.
(5 članova niza)
j - indeks člana niza koji se poredi sa svim članovima do kraja
i - indeks člana niza koji se poredi
Opis programa: Sort niza
** |
Listing programa |
Opis |
1 |
PROGRAM NIZ_SORT; |
Zaglavlje |
2 |
CONST |
|
3 |
n = 5; |
Broj članova niza |
4 |
VAR |
|
5 |
i, j, pom : INTEGER; |
Promjenljive |
6 |
X : ARRAY [1..n] OF INTEGER; |
Niz |
7 |
BEGIN |
|
8 |
WRITELN Sort niza'); |
Naslov |
9 |
FOR i := 1 TO n DO {ulaz} |
Upis članova niza |
10 |
BEGIN |
|
11 |
WRITE(i,' --> '); |
|
12 |
READLN(X[i]); |
|
13 |
END; |
|
14 |
FOR j := 1 TO n - 1 DO |
Prvi iz skupine |
15 |
FOR i := j+1 TO n DO |
|
16 |
IF X[j] > X[i] THEN |
? dobar redoslijed |
17 |
BEGIN |
Nije |
18 |
pom := X[j]; |
Zamjena |
19 |
X[j] := X[i]; |
|
20 |
X[i] := pom; |
|
21 |
END; |
|
22 |
FOR i := 1 TO n DO {izlaz} |
Ispis sortiranih članova |
23 |
WRITELN('X[',i,'] = ', X[i]); |
|
24 |
END. |
Kraj programa |
Listing programa:
PROGRAM P10711002;
USES
WinCrt;
CONST
n = 5;
VAR
i, j, pom : INTEGER;
X : ARRAY [1..n] OF INTEGER;
BEGIN
WRITELN ('Sort niza');
FOR i := 1 TO n DO {ulaz}
BEGIN
WRITE(i,' --> ');
READLN(X[i]);
END;
FOR j := n - 1 DOWNTO 1 DO
FOR i := j DOWNTO 1 DO
IF X[i] > X[i + 1] THEN
BEGIN
pom := X[i];
X[i] := X[i + 1];
X[i + 1] := pom;
END;
FOR i := 1 TO n DO {izlaz}
WRITELN('X[',i,'] = ', X[i]);
END.
Index
|
|