Екіөлшемді жиым элементтерімен жұмыс

34

Екіөлшемді жиым элементтерімен жұмыс

Егер жиым атауында бір ғана индекс болса, онда ол жиымды бірөлшемді, ал екі индекс болса – екіөлшемді және т.с.с n индекс болса, n — өлшемді жиым дейді. Бірөлшемді жиым вектор элементтері, ал екіөлшемді жиым матрица болып табылады.

Типтер бөлігінде екіөлшемді жиым былай есептеледі:

Type atau = array [1..n, 1..m] of <элементтер типі>;

Var a,b: atau;

Екіөлшемді жиымды көбінесе айнымалы бөлігінде былай сипаттау жиі қолданылады:

Var

     B: array [1..n, 1..m] of <элементтер типі>;

 

Мысал 1: Екіөлшемді а және b матрицаларының қосындысы болып табылатын s матрицасын табу керек.

Program kosu;

Var

     A,b,s:array[1..3, 1..3] of real; {a,b және s матрицаларын сипаттау}

     i,j:integer;

begin

writeln(‘а жиымы элементтерін босорын арқылы енгізіңдер:’);

for i:=1 to 3 do

for j:=1 to 3 do read(a[i,j]);         {а матрицасын енгізу}

writeln;

writeln(‘b жиымы элементтерін босорын арқылы енгізіңдер:’);

for i:=1 to 3 do

for j:=1 to 3 do  begin

read(b[i,j]);                          {b матрицасын енгізу}

s[I,j]:=a[I,j] + b[I,j];                        {а және b матрицасына қосып, s матрицасына меншіктеу} 

end;

writeln(‘қосынды жиымның элементтері:’);

for i:=1 to 3 do  begin

      for j:=1 to 3 do write(s[I,j]); {жаңа құрылған матрицасының элем-рін баспаға шығару}

writeln;

end;

end.

Мысал 2: Өлшемі 4 х 4 нақты сандардан тұратын матрица берілген. Матрицаның ең кіші элементін табатын программа құралық.

Program matrissa;

Const n=4;

Var

     A:array [1..n, 1..n] of real;      {а матрицасын сипаттау}

     Min,res:real;

     I,j,k1,k2:integer;

Begin

Writeln(‘Матрица элементтерін босорын арқылы енгізіңдер:’);

For i:=1 to n do

Begin

     For j:=1 to n do read(a[I,j]);       {А матрицасын енгізу}

     Writeln;

End;

Min:=a[1,1];                {1-ші элементті ең кіші деп сақтап қоямыз}

k1:=1; k2:=1;              {1-ші элементтің индекстерін сақтап қою}

For i:=1 to n do

   For j:=1 to n do   begin

If  min>a[I,j] then begin       {ең кіші элементті анықтау шарты}

Min:=a[I,j];                          {егер ағымдық эл.кіші болса,min-ді ауыстырамыз }

K1:=I; k2:=j;                        {сәйкесінше, индекстеріде ауысады}

End;

End;

Writeln(‘ең кіші элемент=’, min:6:2,’, ол’, k1:2,’- жолда және’,k2:2,’-бағанада орналасқан’);           {минимальды эл.баспаға шығару}

End.

Тапсырма№1: 5элементтен тұратын А және В массивтері берілген.а және В массивтерінің қосындысынан тұратын С массивінің көбейтіндісінен тұратын Д массивін анықтайтын программа құрыңыз..

 

Тапсырма№2: Бірөлшемді  А(10) жиымындағы теріс элементтердің ең үлкенін табатын программа құрыңыз.

Үйге тапсырма: Екіөлшемді А(4,4) жиымының үшінші және бірінші жолдардың орнын ауыстыратын программа құрыңыз.