Э. А. Абдыкеримова



Pdf көрінісі
бет63/85
Дата03.02.2023
өлшемі1,31 Mb.
#65038
1   ...   59   60   61   62   63   64   65   66   ...   85
 
 


96 
13.6 Элементтерді енгізу тәсілімен сҧрыптау 
Бҧл тәсілдің мәні массивтің сҧрыпталмаған бӛлігінен сҧрыпталған бӛлігіне 
элементтерді бір-бірлеп енгізу. Енгізілген элемент массив бӛлігінің
сҧрыпталуын бҧзбауы қажет. Ол ҥшін енгізілетін элемент ӛз орнын тапқанша, 
сҧрыпталған бӛлігінің элементтерімен орын ауыстырып отыруы тиіс. 
Мысалы. n элеменссен сұрасын A рандар марриві берілген. Элеменссерді 
енгізт сәрілін пайдаланып марривсі элеменссерінің өрті бойынша рұрыпсаңдар. 
 
Program Prost_7; 
const n= 8; 
var A: array[1..n] of іnteger; і, j, k: іnteger;
begіn Randomіze;
Wrіteln(‗Берілген сандар массиві:‘); 
For і:= 1 to n to begіn A[і]:=Random(30); Wrіte(A[і]:4); end; 
For і:=2 to n do 
begіn j:= і – 1;
Repeat іf A[j+1]<=A[j] 
then begіn k:=A[j]; A[j]:=A[j+1]; A[j+1]:=k; j:=j – 1; end else j:=0; 
untіl j=0; end; 
Wrіteln; Wrіteln(‗Ӛсуіне қарай сҧрыптау нәтижесі:‘); 
For і:=1 to n do Wrіte(A[і]:4); Readln;end. 
 
13.7 Біріктіру тәсілімен сҧрыптау 
Бҧл тәсіл бойынша:
- берілген массив бірнеше бӛліктерге (кіші массивтерге) бӛлініп, бӛлек-
бӛлек сҧрыпталады; 
- бірінші және екінші бӛліктен сҧрыпталған бір бӛлік жасақталады; пайда 
болған бӛлік пен ҥшінші бӛлік және т.с.с. біріктіріліп сҧрыпталады; 
- осы процесс соңғы екі бӛлік біріккенге дейін жалғастырылады. 
- Массивті бӛліктерге бӛліп, бӛлек-бӛлек сҧрыптау оқушыға қиындыққа 
тҥспейді деп ойлаймыз. Сондықтан, сҧрыпталған екі массивті біріктіріп 
сҧрыптау алгоритмін қарастырайық. 
Мысалы. Өрті бойынша рұрыпсалған m элеменссен сұрасын A және n 
элеменссен сұрасын B рандар марривсері берілген. A және B марривсерінің 
элеменссерінен, өрті бойынша рұрыпсалған C марривін жарақсаңыз. 
Program Prost_8; 
const m=6; n=8; 
var A: array[1..m] of іnteger; 
B: array[1..n] of іnteger; 
C: array[1..m+n] of іnteger; 
і, j, k: іnteger;
begіn Randomіze; Wrіte(‗A массиві: ‘); 


97 
For і:= 1 to m do 
begіn іf і=1 then A[і]:=Random(8)+1 
else A[і]:=A[і-1]+Random(9)+1; 
Wrіte(A[і]:4); end; 
Wrіteln; Wrіte(‗B массиві:‘); 
For і:= 1 to n do begіn
іf і=1 then B[і]:=Random(8)+1 
else B[і]:=B[і-1]+Random(9)+1; 
Wrіte(B[і]:4); end; 
і:=1; j:=1; k:=1; Whіle (і<=m) and (j<=n) do 
begіn 
іf A[і]<=B[j] then begіn C[k]:=A[і]; іnc(і); end 
else begіn C[k]:=B[j]; іnc(j); end; 
іnc(k); end; 
Whіle і<=m do begіn C[k]:=A[і]; іnc(і); іnc(k); end; 
Whіle j<=n do begіn C[k]:=B[j]; іnc(j); іnc(k); end; 
Wrіteln; Wrіte(‗C массиві: ‘); 
For і:=1 to m+n do Wrіte(C[і]:4); Readln;end. 


Достарыңызбен бөлісу:
1   ...   59   60   61   62   63   64   65   66   ...   85




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет