program BinSearch
uses Crt;
const
n=20; {массив узунлиги}
type
TVector = array [1 .. n] of Real;
var
Vector : TVector; {Бошланѓич массив}
X : Real; {Изланаётган элемент}
L, R : Integer; {Излаш соћасининг жорий чегаралари}
i : Integer;
begin
ClrScr;
Writeln (Массив элементларини киритинг:);
for i: = 1 to n do Read (Vector [i]); Readln;
Write (Изланаётган элементни киритинг:);
Readln (X);
{------------------------------------------------------------------}
L : = 1; R : = n;
while (L <= R) do {Чегаралар кесишмагунча}
begin
i: = (L + R) div 2; {Ўрта элемент индекси }
if Vector[i] = X then
Break {Излаш циклидан чиќиш, }
{чунки элемент топилди}
else
if Vector [i] < X then L : = i + 1
else R : = i – 1;
end; {while}
if Vector [i] = X then
Writeln (Изланаётган элемент, i : 3, соћада топилди)
else
Writeln (Изланаётган элемент топилмади );
{----------------------------------------------------------------------}
end.
9.1.5. Икки ўлчовли массивлар (матрицалар) билан ишлашга мисоллар
1-масала. Элементлари бутун сонлар бўлган икки ўлчамли m x n массив берилган.
Симметриянинг вертикал ўќига нисбатан матрица элементларининг «кўзгули акслантирилиши»ни бажаринг (биринчи устун элементларини охиргиси билан, иккинчи устун элементларни битта олдингиси билан ва ћ.к. ўринлари билан алмаштириш).
9.5-дастур
program VertMirrow;
uses Crt;
const m = 10; { сатрлар сони }
n = 15; { устунлар сони }
type
TMatr = array [l..m,l..n] of Integer;
var
Matr : TMatr; { Бошланѓич матрица }
Finp : Text; { Бошланѓич маълумотлар файли }
В : Integer;
i, j : Integer;
Do'stlaringiz bilan baham: |